CalculatorBean————————————————————————————————————————————

public class CalculatorBean {
    private String firstNum;
    private String sencondNum;
    private String operator;
    private Double result=0.0;
    
    public Double getResult() {
        return result;
    }
    public void setResult(Double result) {
        this.result = result;
    }
    public String getFirstNum() {
        return firstNum;
    }
    public void setFirstNum(String firstNum) {
        this.firstNum = firstNum;
    }
    public String getSencondNum() {
        return sencondNum;
    }
    public void setSencondNum(String sencondNum) {
        this.sencondNum = sencondNum;
    }
    public String getOperator() {
        return operator;
    }
    public void setOperator(String operator) {
        this.operator = operator;
    }
    public void calculate(){
        Double fisrt =Double.valueOf(firstNum);
        Double sencond =Double.valueOf(sencondNum);
        if("+".equals(operator)){
            this.result=fisrt+sencond;
        }else if("-".equals(operator)){
            this.result=fisrt-sencond;
        }else if("*".equals(operator)){
            this.result=fisrt*sencond;
        }else if("/".equals(operator)){
            this.result=fisrt/sencond;
        }
    }
    }

——————————————————————————————————————————————————————

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.lovo.javaBean.CalculatorBean;

/**
 * Servlet implementation class CalculatorServlet
 */
@WebServlet("/CalculatorServlet.do")
public class CalculatorServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public CalculatorServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

/**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

/**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        //获取表单数据
        String num1=request.getParameter("num1");
        String num2=request.getParameter("num2");
        String zifu= request.getParameter("zifu");
        
        CalculatorBean calculatorBean= new CalculatorBean();
        
        calculatorBean.setFirstNum(num1);
        calculatorBean.setSencondNum(num2);
        calculatorBean.setOperator(zifu);
        
        
        calculatorBean.calculate();
        //将JavaBean对象存放到Session对象中
        HttpSession session = request.getSession();
        session.setAttribute("calculatorBean", calculatorBean);
        
        //控制页面转发
        request.getRequestDispatcher("newCal.jsp").forward(request, response);
    }

}

————————————————————————————————————————————————————

<%@page import="com.lovo.javaBean.CalculatorBean"%>
<%@ page language= "java" contentType="text/html;charset=UTF-8" %>
<html>
    <head>
        <meta charset="utf-8">
        <title>计算器</title>
    </head>
    <body>
    <hr>
    <%
    CalculatorBean calculatorBean = (CalculatorBean)session.getAttribute("calculatorBean");
    if(calculatorBean!=null){
        out.println(calculatorBean.getFirstNum()+calculatorBean.getOperator()+calculatorBean.getSencondNum()+"="+calculatorBean.getResult());
    }
    %>
    <form action="CalculatorServlet.do" method="post">
        <table border = 1 align="center">
        <tr>
         <td>操作数1:<input type="text" name="num1"></td>    
        </tr>
        <tr>
        <td>字符:
                 <select name="zifu" id="">
                    <option value="+">+</option>
                    <option value="-">-</option>
                    <option value="*">*</option>
                    <option value="/">/</option>
                </select>
            </td>
        </tr>    
        <tr>
         <td>操作数2:<input type="text" name="num2"></td>    
        </tr>
        <tr>    
         <td colspan="2"> <input type="submit" value="结果"></td>
        </tr>
        </table>
        </form>
    </body>
</html>

JSP开发模式2(计算器)的更多相关文章

  1. JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

    2 JSP内置标签(美化+业务逻辑)   1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容   2)JSP内 ...

  2. JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象

    Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...

  3. 十五 JSP开发模式&MVC设计模式

    JSP开发模式: JavaBean + JSP  : 缺点:页面代码过多,不利于维护,JSP页面代码变得臃肿 Servlet + JavaBean + JSP :MVC设计模式 M:model   模 ...

  4. Tip: JSP开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. JSP+JavaBean模式适合开发业务 ...

  5. JavaEE——JSP开发模式(model1)

    model1开发模式 工作流程: ①浏览器请求,JSP页面接收 ②JSP根据请求和JavaBean进行交互 ③JavaBean进行业务处理,JDBC操纵数据库 ④JSP将请求结果返回浏览器页面 利用m ...

  6. jsp开发模式和web计算器案例

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  7. JSP开发模式2_JSP/Servlet/JavaBean(简单注册功能)

    import java.util.regex.Matcher;import java.util.regex.Pattern; public class RegisterBean {    privat ...

  8. JSP开发模式1(简单注册功能)

    ———————————————————————————————————————————————— import java.util.regex.Matcher;import java.util.reg ...

  9. JavaBean+jsp开发模式 --结合form表单 实例

    1.创建form表单 <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...

随机推荐

  1. [转载]Java程序员使用的20几个大数据工具

    最近我问了很多Java开发人员关于最近12个月内他们使用的是什么大数据工具. 这是一个系列,主题为: 语言web框架应用服务器SQL数据访问工具SQL数据库大数据构建工具云提供商今天我们就要说说大数据 ...

  2. Hive On Spark环境搭建

    Spark源码编译与环境搭建 Note that you must have a version of Spark which does not include the Hive jars; Spar ...

  3. 标准C++中的string类的用法总结

    标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...

  4. LibreOffice 打开中文乱码

    From: http://hi.baidu.com/designhouse/item/746130c01f98a42dee4665de 1:文件->打开 2:文件类型:已编码文本

  5. 常用 C#操作字符串方法

    staticvoid Main(string[] args) { string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD"; Co ...

  6. Reactor模式通俗解释

    Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些.通过了解,这个模式更像一个侍卫,一直在等待你的召唤,或 ...

  7. 通过java反射,封装bean

    上周有一个封装javabean的流程,成员变量有好多,一路写if(!=null){setXXX} 真的好麻烦,有时候一不小心还会漏掉,很是麻烦,就想到用反射的方法自动进行拼装bean. bean pa ...

  8. swift 键盘属性与事件

    1.键盘的类型 textField1.keyboardType = UIKeyboardType.default //系统默认的虚拟键盘 textField1.keyboardType = UIKey ...

  9. android 非activity如何得到布局文件 (java文件中获取布局文件)

    Android中得到布局文件对象有两种方式第一种,在Activity所在类中this.getLayoutInflater().inflater(R.layout.布局文件名,null);第二种,在非A ...

  10. python字符串及其方法详解

    首先来一段字符串的基本操作 str1="my little pony" str2="friendship is magic" str3=str1+", ...