国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java學習筆記—web計算器(36)

2019-11-14 23:50:18
字體:
來源:轉載
供稿:網友
java學習筆記—web計算器(36)MVC模式

模式主要的任務是幫助開發者解決一類問題。

MVC模式主要是用于規劃你的網站的開發的一個基本的結構。

Servlet記住充當的是控制器層。cn.itcast.controller

Java類主要處理業務邏輯。cn.itcast.bean

jsp主要負責的是數據頁面顯示。

對于一個比較傳統的且業務不是很復雜的網站應用那么完全沒有必要分別使用以上三種技術。因此可以使用JSP+JavaBean直接處理。

案例一: Web計算器

1. 編輯一個cal.jsp頁面

<body>     <!-- 創建JavaBean對象 -->     <jsp:useBean id="calculator" class="cn.itcast.beans.Calculator" scope="page"></jsp:useBean>     <!-- 封裝用戶數據 -->     <jsp:setPRoperty name="calculator" property="*"/>     <!-- 計算結果 -->     <%        try{         calculator.calculate();       }catch(Exception e){         // 將異常對象存儲在page域中         pageContext.setAttribute("msg",e);       }     %>     <form action="/day09/cal.jsp" method="post">        <table align="center" border="1">           <tr align="center">             <td colspan="2">WEB計算器</td>           </tr>             <tr>             <td>操作數1:</td>             <td><input type="text" name="num1"></td>           </tr>                   <tr>             <td>操作符:</td>             <td>                <select name="option">                   <option value="+">+</option>                   <option value="-">-</option>                   <option value="*">*</option>                   <option value="/">/</option>                </select>             </td>           </tr>              <tr>             <td>操作數2:</td>             <td><input type="text" name="num2"></td>           </tr>              <tr align="center">             <td colspan="2"><input type="submit" value="計算"></td>           </tr>          </table>     </form>     <br/>     <hr/>                    計算結果:        <!-- 獲取javabean中的值 -->        <jsp:getProperty name="calculator" property="num1"/>        <jsp:getProperty name="calculator" property="option"/>        <jsp:getProperty name="calculator" property="num2"/>        =        <jsp:getProperty name="calculator" property="result"/>     <hr/>     <hr/>                     錯誤信息:        <%            Exception exp = (Exception)pageContext.getAttribute("msg");           if(exp != null){              out.write(exp.getMessage());           }        %>     <hr/>  </body>

2. 編寫一個計算器的業務邏輯類Calculator.java

public class Calculator {    // 指定屬性    private double num1 = 0.0;    private char option = '+';    private double num2 = 0.0;    private double result = 0.0;    // 提供一個計算的方式    public void calculate(){        switch (this.option) {        case '+':  this.result = this.num1 + this.num2;                   break;        case '-':  this.result = this.num1 - this.num2;                   break;        case '*':  this.result = this.num1 * this.num2;                   break;        case '/':                     if(this.num2 == 0){                       throw new RuntimeException("被除數不能為0");                   }                   this.result = this.num1 / this.num2;                   break;        }        // 對于計算的計算結果進行處理(四舍五入)        BigDecimal big = new BigDecimal(this.result);        // 操作        big = big.setScale(3, BigDecimal.ROUND_HALF_UP);        // 取出操作好的數據        this.result = big.doubleValue();    }}

以上的代碼在JSP中直接出現了業務邏輯,因此不便于美工人員的后期維護,可見以上的MVC模式是不推薦使用的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 开江县| 田东县| 嫩江县| 湛江市| 英超| 曲靖市| 嘉黎县| 静宁县| 永州市| 孟州市| 彭州市| 旌德县| 深州市| 青铜峡市| 大足县| 江口县| 徐闻县| 上林县| 贵州省| 通化县| 青河县| 宜宾市| 扬中市| 基隆市| 卢氏县| 边坝县| 沁水县| 马公市| 射阳县| 通许县| 景洪市| 广宁县| 建阳市| 大丰市| 弥渡县| 临城县| 桐乡市| 龙南县| 龙南县| 巴彦县| 太谷县|