• 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模式是不推荐使用的。

  • 相关阅读:
    iis6 , URL重写HTM文件名后,出现真实的HTM文件不能访问的解决
    pe如何安装ios系统
    ASP.NET Word转为PDF
    asp.net 操作word 权限
    windows server 2008 r2 修改远程登入的端口号(3389)
    A
    A Bug
    亲戚
    Kruskal
    HDOJ ——统计难题
  • 原文地址:https://www.cnblogs.com/zhenghongxin/p/4435161.html
Copyright © 2020-2023  润新知