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. test spring in category

    test tile package com.journaldev.spring.controller; import java.text.DateFormat; import java.util.Da ...

  2. Emergency(山东省第一届ACM省赛)

    Emergency Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Kudo’s real name is not Kudo. H ...

  3. U-Boot GOT表分析和u-boot.lds解读

    转自:http://blog.sina.com.cn/s/blog_70dd16910100zab6.html u-boot-2010.09/arch/powerpc/cpu/mpc86xx/star ...

  4. nodejs express环境配置

    下载安装最新版nodejs,安装完毕运行命令 node -v 查看版本以及是否安装成功. 然后安装express插件,命令 npm install -g express (全局)  , express ...

  5. Oracle Hang分析--转载

    1. 数据库hang的几种可能性 oracle 死锁 或者系统负载非常高比如cpu使用或其他一些锁等待很高都可能导致系统hang住,比如大量的DX锁. 通常来说,我们所指的系统hang住,是指应用无响 ...

  6. Struts2基础使用教程:OGNL

    取自<JAVAWEB整合开发王者归来> 是一种类似EL的语言,比EL强大的多 能访问对象的方法,例如list.size() 能访问静态属性与静态方法,方法是在类名前.方法前加上@.如@ja ...

  7. 集成IC刷卡器经验

    因为一系列的原因,IC刷卡器要渐渐地取代磁条刷卡器.公司在这方面也是需要跟进的,在我负责集成IC刷卡器到应用程序的过程中,积累了些经验,现在分享下. 第一:无论是磁条还是IC刷卡器都是刷卡器的一种,所 ...

  8. <-0基础学python.第一课->

    初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人 ...

  9. gcc for windows(mingw)编译多个c文件

    myString.c myString.h main.c 其中,myString.c与myString.h对应,myString.h文件中是一些函数的声明,而myString.c文件中是.h文件中声明 ...

  10. NHibernate系列文章二十三:NHibernate查询之Criteria查询(附程序下载)

    摘要 上一篇文章介绍了NHibernate HQL,他的缺点是不能够在编译时发现问题.如果数据库表结构有改动引起了实体关系映射的类有改动,要同时修改这些HQL字符串.这篇文章介绍NHibernate面 ...