美文网首页
java jsp开发模式之JSP+JavaBean模式

java jsp开发模式之JSP+JavaBean模式

作者: 基本密码宋 | 来源:发表于2017-06-04 16:20 被阅读55次

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

  • JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,又显示数据。

  • Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP、JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。
    通常在开发中人们用的是第二种开发模式
    下面是用这个模式写的一个网页版的计算器

<body sytle="text-align: center">
         <jsp:useBean id="CalculatorBean" class="jeno.httpurlconnection.bean.CalculatorBean"></jsp:useBean>
    <jsp:setProperty name="CalculatorBean" property="*"/> <!-- 请求参数封装到bean中  -->
    <% 
        CalculatorBean.calculate();
    %>
    
    <br/><hr> <br/>
    
    计算结果是:
    <jsp:getProperty name="CalculatorBean" property="firstNum"/>
    <jsp:getProperty name="CalculatorBean" property="operator"/>
    <jsp:getProperty name="CalculatorBean" property="secondNum"/>
      =
    <jsp:getProperty name="CalculatorBean" property="result"/>
       
      
     <br/><hr> <br/>
      <form action="/JspDemo/jisuanqi.jsp" method="post">
    <table border="1" width="50%">
        <tr>
            <td colspan="2">简单的计算器</td>
        </tr>
        
        <tr>
            <td>第一个参数</td>
            <td>
                <input type="text" name="firstNum">
            </td>
        </tr>
        
        <tr>
            <td>运算符</td>
            <td>
                <select name="operator">
                    <option value="+">+</option>
                    <option value="-">-</option>
                    <option value="*">*</option>
                    <option value="/">/</option>
                </select>
            </td>
        </tr>
        
        <tr>
            <td>第二个参数</td>
            <td>
                <input type="text" name="secondNum">
            </td>
        </tr>
        
        <tr>
            <td colspan="2">
                <input type="submit" value="计算">
            </td>
        </tr>
    
    </table>
    </form>
</body>

下面是bean

public class CalculatorBean {
    private double firstNum;
    private double secondNum;
    private char operator = '+';  //int char byte short 
    private double result;
    public double getFirstNum() {
        return firstNum;
    }
    public void setFirstNum(double firstNum) {
        this.firstNum = firstNum;
    }
    public double getSecondNum() {
        return secondNum;
    }
    public void setSecondNum(double secondNum) {
        this.secondNum = secondNum;
    }
    public char getOperator() {
        return operator;
    }
    public void setOperator(char operator) {
        this.operator = operator;
    }
    public double getResult() {
        return result;
    }
    public void setResult(double result) {
        this.result = result;
    }
    
public void calculate(){
        switch (this.operator) {
            case '+':{
                this.result = this.firstNum + this.secondNum;
                break;
            }
            
            case '-':{
                this.result = this.firstNum - this.secondNum;
                break;
            }
            case '*':{
                this.result = this.firstNum * this.secondNum;
                break;
            }
            case '/':{
                if(this.secondNum==0){
                    throw new RuntimeException("被除数不能为0!!!");
                }
                
                this.result = this.firstNum / this.secondNum;
                
                //四舍五入
                this.result = new BigDecimal(this.result).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
                
                break;
            }

            default:
                throw new RuntimeException("对不起,传入的运算符非法!!");
        }
}
}

一个小的计算器demo 用到的就是这个模式 逻辑和显示都在jsp中

相关文章

网友评论

      本文标题:java jsp开发模式之JSP+JavaBean模式

      本文链接:https://www.haomeiwen.com/subject/qiovfxtx.html