方立勋_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;//封装计算器数据的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实现)简单计算器相关推荐
- 方立勋_30天掌握JavaWeb_(Servlet+JSP+JavaBean实现)用户注册和登陆
JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,又显示数据. Servlet+JSP+JavaBean(M ...
- 方立勋_30天掌握JavaWeb_自定义标签
自定义标签主要用于移除Jsp页面中的java代码. 使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: 编写一个实现Tag接口的Java类(标签处理器类). 编写标签库描述符(tl ...
- 方立勋_30天掌握JavaWeb_自己编写jdbc框架、dbutils框架(未完)
元数据:数据库.表.列的定义信息. Connection.getDatabaseMetaData() DataBaseMetaData对象 getURL():返回一个String类对象,代表数据库的U ...
- 方立勋_30天掌握JavaWeb_数据库表设计
定义外键约束 丈夫.妻子表: 妻子用一个husband_id来说明wife丈夫是哪个. 一对多对象表设计 部门.员工表: 一个部门可以有多个员工,员工表通过department_id说明属于哪个部门. ...
- 方立勋_30天掌握JavaWeb_使用httpUrlConnection模似ie
在手机应用开发常常需要用到. 模拟ie浏览器访问. import java.io.InputStream; import java.io.OutputStream; import java.net.H ...
- 方立勋_30天掌握JavaWeb_国际化开发
国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化又称为 i18n:internati ...
- 方立勋_30天掌握JavaWeb_JavaBean、mvc开发模式、el表达式、jstl标签
什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法暴露 ...
- 方立勋_30天掌握JavaWeb_Servlet Filter(过滤器)未完
Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片 ...
- 方立勋_30天掌握JavaWeb_JSP
JSP运行原理 JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写htm ...
最新文章
- 你属于程序员中的哪种人?
- PHP数组用处_PHP 数组函数妙用
- 【HDU1495非常可乐】【POJ3414Pots】
- 详解Python模块化编程-自定义函数
- 6000字说透,如何做好产品「适老化」!
- java中有cin格式吗,C中std :: cin对象的规则是什么?
- gitlab导入本地项目_Gitlab使用心得
- php读取大文件某行内容,PHP读取和修改大文件的某行内容_PHP教程
- node 压缩图片_设计神器!图片在线工具–Online Image Tool
- typora 主题下载及安装
- 如何设计SaaS商业模式
- 即时通讯-Netty篇
- 马克飞象自定义代码段风格
- 中央电视台硬盘播出系统的扩展应用与维护经验(mxf 格式)
- 在 sys.servers 中找不到服务器 '******'。请验证指定的服务器名称是否正确。
- 用JAVA awt实现Image Asset Studio生成圆形或圆角矩形图片功能
- mvn 默认scope_Maven依赖中的scope详解
- 【深度学习】一文读懂机器学习常用损失函数(Loss Function)
- 卧槽!终于知道涛哥我为啥赚不到钱了
- java 设计模式