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

首頁 > 編程 > JSP > 正文

使用JSP制作一個超簡單的網(wǎng)頁計(jì)算器的實(shí)例分享

2020-07-27 21:28:07
字體:
供稿:網(wǎng)友

實(shí)現(xiàn)一個簡單的計(jì)算器程序,要求:使用jsp+javabean模式實(shí)現(xiàn)。
項(xiàng)目源代碼如下:
文件:calculator.jsp

<%@ page language="java" pageEncoding="UTF-8"%> <%@ page isErrorPage="true"%> <%@ page errorPage="calculator.jsp" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>  <head>   <title>簡單的計(jì)算機(jī)</title>  </head>    <body>   <%--創(chuàng)建Calculator對象--%>   <jsp:useBean id="cal" class="cn.zq.domain.Calculator" />   <%--設(shè)置值  通配符*表示設(shè)置所有屬性--%>   <jsp:setProperty property="*" name="cal"/>         <%--     進(jìn)行計(jì)算    --%>    <c:if test="${empty pageContext.exception}">     <%       cal.calculate();     %>    </c:if>         <hr/>   <p>計(jì)算結(jié)果:${cal.firstNum } ${cal.operator } ${cal.secondNum } = ${cal.result }</p>   <hr/>      <%--     構(gòu)建url    --%>   <c:url var="formUrl" value="/calculator.jsp"/>   <form action="${formUrl }" method="post">     <table border="1" cellpadding="2">       <tr>         <td colspan="2" align="center">我的計(jì)算器</td>       </tr>       <tr>         <td>第一個參數(shù):</td>         <td><input type="text" name="firstNum"/></td>       </tr>       <tr>         <td>運(yùn)算符:</td>         <td>           <select name="operator">             <option value="+">+</option>             <option value="-">-</option>             <option value="*">*</option>             <option value="/">/</option>           </select>         </td>       </tr>       <tr>         <td>第二個參數(shù):</td>         <td>           <input type="text" name="secondNum">         </td>       </tr>       <tr>         <td colspan="2">           <input type="submit" value="計(jì)算" />         </td>       </tr>     </table>   </form>    </body> </html> 

  
本文使用的javabean代碼如下:

package cn.zq.domain;  public class Calculator {   private String firstNum;   private String operator;   private String secondNum;   private String result;   public String getFirstNum() {     return firstNum;   }   public void setFirstNum(String firstNum) {     this.firstNum = firstNum;   }   public String getOperator() {     return operator;   }   public void setOperator(String operator) {     this.operator = operator;   }   public String getSecondNum() {     return secondNum;   }   public void setSecondNum(String secondNum) {     this.secondNum = secondNum;   }   public String getResult() {     return result;   }   public void setResult(String result) {     this.result = result;   }   public Calculator() {}   public Calculator(String firstNum, String operator, String secondNum,       String result) {     this.firstNum = firstNum;     this.operator = operator;     this.secondNum = secondNum;     this.result = result;   }      public void calculate(){     if(operator != null && !operator.equals("")){       double first = new Double(firstNum);       double second = new Double(secondNum);       char oper = operator.charAt(0);       switch (oper) {       case '+':         result = first + second + "";         break;       case '-':         result = first - second + "";         break;       case '*':         result = first * second + "";         break;       case '/':         result = first / second + "";         break;       default:         throw new RuntimeException("未知運(yùn)算符!");       }     }   } } 

最終完成的效果圖如下:

2016414144542393.png (353×344)

總結(jié):前面只是一個小的練習(xí),實(shí)際上還是有很多缺陷的,在數(shù)據(jù)提交后未進(jìn)行校驗(yàn)。很顯然jsp+javabean模式只適合完成簡單的計(jì)算,要是要完成的功能比較復(fù)雜的話,這種模式就不合適了。要是在jsp頁面進(jìn)行一些業(yè)務(wù)的處理,也使得程序混亂不堪,最后難以維護(hù),上面例子的業(yè)務(wù)邏輯的處理是直接在javabean中完成的,實(shí)際的項(xiàng)目中,業(yè)務(wù)不會這么簡單,常常涉及到一些對數(shù)據(jù)庫的操作,應(yīng)該把各個成分都給分離開來,這樣以后維護(hù)起來也容易多了,也會讓程序員賞心悅目,假如是一個邏輯層次劃分的不是很良好的項(xiàng)目,維護(hù)起來真叫人惡心,讓我抓狂。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁蒗| 英德市| 武鸣县| 裕民县| 鹤山市| 清镇市| 垫江县| 四会市| 广饶县| 饶河县| 横山县| 高碑店市| 罗定市| 鹰潭市| 胶州市| 高陵县| 宁城县| 林周县| 建始县| 海林市| 时尚| 佛山市| 晋宁县| 永春县| 即墨市| 天长市| 钟山县| 永寿县| 琼海市| 革吉县| 静乐县| 南宫市| 洛阳市| 武宣县| 乌拉特前旗| 铁力市| 文昌市| 临朐县| 越西县| 黎城县| 平泉县|