jsp开发模式和web计算器
1、jsp开发模式:
1.sun公司推出jsp技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean、一种是Servlet+jsp+javabean
2.jsp+javabean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,javabean用于封装业务数据,jsp则负责处理用户请求,又显示数据。
3.Servlet+jsp+javabean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean模式程序
各个模块之间层次清晰,web开发推荐采用这种模式。
2、使用模式一编写计算器
使用jsp+javabean编写一个计算器(calculator)页面,javabean具有firstNum、secondNUm、result、operator属性,并提供一个calculate方法。
CalculatorBean.java
package cn.itcast.domain; import java.math.BigDecimal; //封装计算器数据的bean public class CalculatorBean { private String firstNum="0"; private char operator=‘+‘; private String secondNum="0"; private String result; public String getFirstNum() { return firstNum; } public void setFirstNum(String firstNum) { this.firstNum = firstNum; } public char getOperator() { return operator; } public void setOperator(char 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 void calculate(){ BigDecimal first=new BigDecimal(this.firstNum); BigDecimal second=new BigDecimal(this.secondNum); switch(this.operator){ case ‘+‘:{ this.result=first.add(second).toString(); break; } case ‘-‘:{ this.result=first.subtract(second).toString(); break; } case ‘*‘:{ this.result=first.multiply(second).toString(); break; } case ‘/‘:{ if(second.doubleValue()==0){ throw new RuntimeException("被除数不能为0!"); } this.result=first.divide(second,20,BigDecimal.ROUND_HALF_UP).toString(); break; } default: throw new RuntimeException("运算符只能是 + - * / "); } } }
calculatorBean.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>计算器演示页面</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body style="text-align:center;"> <jsp:useBean id="calculatorBean" class="cn.itcast.domain.CalculatorBean" /> <jsp:setProperty name="calculatorBean" property="*"/> <% try{ calculatorBean.calculate(); }catch(Exception e){ out.write(e.getMessage()); } %> <br />------------------------------------------------------------------<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 />------------------------------------------------------------------<br /> <form action="/day09/calculator.jsp" method="post"> <table width="40%" border="1" bordercolor="red" align="center"> <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> </html>
效果图如上!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。