1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 方立勋_30天掌握JavaWeb_(JSP+JavaBean实现)简单计算器

方立勋_30天掌握JavaWeb_(JSP+JavaBean实现)简单计算器

时间:2022-08-22 03:21:58

相关推荐

方立勋_30天掌握JavaWeb_(JSP+JavaBean实现)简单计算器

JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,又显示数据。Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP、JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。

使用JSP+JavaBean编写一个计算器(calculator)页面,JavaBean具有firstNum、secondNum、result、operator属性,并提供一个calculate方法。

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><title>简单计算器</title></head><body style="text-align: center;"><jsp:useBean id="calculatorBean" class="com.java.domain.CalculatorBean"></jsp:useBean><jsp:setProperty property="*" name="calculatorBean" /><%try{calculatorBean.calculator();}catch(Exception e){out.write(e.getMessage());}%><br />-------------------------------------------------------------------------------<br> 计算结果是:<jsp:getProperty property="firstNum" name="calculatorBean" /><jsp:getProperty property="operator" name="calculatorBean" /><jsp:getProperty property="secondNum" name="calculatorBean" />=<jsp:getProperty property="result" name="calculatorBean" /><br />-------------------------------------------------------------------------------<br><form action="/day09_calculator/calculator.jsp" method="post"><table width="50%" border="1px"><tr><td colspan="2">简单的计算器</td></tr><tr><td>第一个参数:</td><td><input name="firstNum" type="text"></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 name="secondNum" type="text"></td></tr><tr><td colspan="2"><input type="submit" value="计算"></td></tr></table></form></body></html>

JavaBean

package com.java.domain;import java.math.BigDecimal;//封装计算器数据的Beanpublic 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 calculator() {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("被除数只能为+-*/");}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。