1. JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,又显示数据。
  2. 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;//封装计算器数据的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 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("被除数只能为+-*/");}}
}

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

  1. 方立勋_30天掌握JavaWeb_(Servlet+JSP+JavaBean实现)用户注册和登陆

    JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,又显示数据. Servlet+JSP+JavaBean(M ...

  2. 方立勋_30天掌握JavaWeb_自定义标签

    自定义标签主要用于移除Jsp页面中的java代码. 使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: 编写一个实现Tag接口的Java类(标签处理器类). 编写标签库描述符(tl ...

  3. 方立勋_30天掌握JavaWeb_自己编写jdbc框架、dbutils框架(未完)

    元数据:数据库.表.列的定义信息. Connection.getDatabaseMetaData() DataBaseMetaData对象 getURL():返回一个String类对象,代表数据库的U ...

  4. 方立勋_30天掌握JavaWeb_数据库表设计

    定义外键约束 丈夫.妻子表: 妻子用一个husband_id来说明wife丈夫是哪个. 一对多对象表设计 部门.员工表: 一个部门可以有多个员工,员工表通过department_id说明属于哪个部门. ...

  5. 方立勋_30天掌握JavaWeb_使用httpUrlConnection模似ie

    在手机应用开发常常需要用到. 模拟ie浏览器访问. import java.io.InputStream; import java.io.OutputStream; import java.net.H ...

  6. 方立勋_30天掌握JavaWeb_国际化开发

    国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化又称为 i18n:internati ...

  7. 方立勋_30天掌握JavaWeb_JavaBean、mvc开发模式、el表达式、jstl标签

    什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法暴露 ...

  8. 方立勋_30天掌握JavaWeb_Servlet Filter(过滤器)未完

    Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片 ...

  9. 方立勋_30天掌握JavaWeb_JSP

    JSP运行原理 JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写htm ...

最新文章

  1. 你属于程序员中的哪种人?
  2. PHP数组用处_PHP 数组函数妙用
  3. 【HDU1495非常可乐】【POJ3414Pots】
  4. 详解Python模块化编程-自定义函数
  5. 6000字说透,如何做好产品「适老化」!
  6. java中有cin格式吗,C中std :: cin对象的规则是什么?
  7. gitlab导入本地项目_Gitlab使用心得
  8. php读取大文件某行内容,PHP读取和修改大文件的某行内容_PHP教程
  9. node 压缩图片_设计神器!图片在线工具–Online Image Tool
  10. typora 主题下载及安装
  11. 如何设计SaaS商业模式
  12. 即时通讯-Netty篇
  13. 马克飞象自定义代码段风格
  14. 中央电视台硬盘播出系统的扩展应用与维护经验(mxf 格式)
  15. 在 sys.servers 中找不到服务器 '******'。请验证指定的服务器名称是否正确。
  16. 用JAVA awt实现Image Asset Studio生成圆形或圆角矩形图片功能
  17. mvn 默认scope_Maven依赖中的scope详解
  18. 【深度学习】一文读懂机器学习常用损失函数(Loss Function)
  19. 卧槽!终于知道涛哥我为啥赚不到钱了
  20. java 设计模式

热门文章

  1. 同步和异步, 阻塞和非阻塞, Reactor和Proactor
  2. open-falcon
  3. hibernate总结-N+1问题
  4. 找DB2存储过程的package
  5. 完整全面的Java资源库(包括构建、操作、代码分析、编译器、数据库、社区等等)...
  6. Repeater的嵌套结合用户控件的使用
  7. 【原创】MIPS中断系统的板级验证及实例测试
  8. C#启动停止SQL数据库服务
  9. intellij中导入外部的依赖包+在当前的工程中使用
  10. 牙齿矫形教训和洗牙知识