<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jsp 和 javaBean 实现计算器功能</title>
</head>
<body> <jsp:useBean id="calculator" class="de.bvb.domain.Calculator" />
<jsp:setProperty property="*" name="calculator" />
<%
try {
calculator.calculate();
} catch (Exception e) {
out.write(e.getMessage());
}
%> <form action="/web/calculator.jsp" method="post">
<table width="50%" border="1">
<tr>
<td colspan="2">简单的计算器</td>
</tr>
<tr>
<td>第一个参数</td>
<td><input type="text" name="firstNum" value="11"></td>
</tr> <tr>
<td>运算符</td>
<td><select name="operator">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/" selected="selected">/</option>
</select></td>
</tr> <tr>
<td>第二个参数</td>
<td><input type="text" name="secondNum" value="0" ></td>
</tr> <tr>
<td colspan="2"><input type="submit" value="计算"></td>
</tr> <tr>
<td>结果</td>
<td>
<jsp:getProperty property="firstNum" name="calculator" />
<jsp:getProperty property="operator" name="calculator" />
<jsp:getProperty property="secondNum" name="calculator" />
=
<jsp:getProperty property="result" name="calculator" />
</td>
</tr> </table> </form>
</body>
</html>
package de.bvb.domain;

import java.math.BigDecimal;

public class Calculator {
private String firstNum = "0";
private char operator = '+';
private String secondNum = "0";
private String result; public void calculate() {
BigDecimal first = new BigDecimal(firstNum);
BigDecimal seconde = new BigDecimal(secondNum);
switch (operator) {
case '+':
result = first.add(seconde).toString();
break;
case '-':
result = first.subtract(seconde).toString();
break;
case '*':
result = first.multiply(seconde).toString();
break;
case '/':
if (Double.parseDouble(secondNum) == 0) {
throw new RuntimeException("除数不能为0");
}
result = first.divide(seconde, 20, BigDecimal.ROUND_HALF_UP)
.toString();
break;
default:
throw new RuntimeException("数据或操作符异常");
}
} 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;
} }

javaWeb 使用 jsp 和 javaBean 实现计算器功能的更多相关文章

  1. IT兄弟连 JavaWeb教程 JSP访问JavaBean

    在JSP网页中,既可以通过程序代码来访问JavaBean,也可以通过特定的JSP标签来访问JavaBean.采用后一种方法,可以减少JSP网页中的程序代码,使他更接近与HTML页面.下面介绍访问Jav ...

  2. jsp学习---使用jsp和JavaBean实现超简单网页计算器

    一.需求 如题,用jsp实现一个超简单的网页计算器. 二.实现 1.效果图 1)初始界面: 2)随便输入两个数进行相乘: 3)当除数为零时提示报错: 2.代码 Calculator.java pack ...

  3. JavaWeb -- Servlet+JSP+JavaBean(MVC)模式

    Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP ...

  4. JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

    2 JSP内置标签(美化+业务逻辑)   1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容   2)JSP内 ...

  5. JSP中使用的模式——JSP+Servlet+JavaBean

    上一篇博文写到模式一:JSP+JavaBean 链接地址:http://wxmimperio.coding.io/?p=155 JSP中两种模式的总结 链接地址:http://wxmimperio.c ...

  6. MVC jsp+servlet+javabean 连接Mysql数据库測试demo

    本文介绍的是怎样使用MVC架构去实现jsp+servlet+javabean连接数据库 首先我们应该了解什么是MVC: MVC包含三个部分 : ①View:由各种JSP页面组成. ②Controlle ...

  7. javaWeb实现使用邮箱邮件找回密码功能

    JSP+Jmail+JavaBean 发邮件(转)2010-08-23 18:052007年04月14日 14:32/* * SendMail.java * * Created on 2007年3月3 ...

  8. JSP和JavaBean总结

    JSP JSP全名为Java Server Pages,即java服务器页面,其根本是一个简化的Servlet设计.它是在传统的网页HTML文件中插入Java代码,从而形成JSP文件. JSP注释分为 ...

  9. 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)

    在DRP中终于接触到了MVC,感触是确实这样的架构系统灵活性不少,现在感触最深的就是使用tomcat作为服务器发布比IIS好多了,起码发布很简单,使用起来方便. 首先来简单的学习一下MVC的基础知识, ...

随机推荐

  1. idea 的问题

    IDEA的maven项目中,默认源代码目录下的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉. 如果使用的是Eclipse,Eclipse的src目录下的xml等资源 ...

  2. int和long int的区别

    16位系统:long是4字节,int是2字节32位系统:long是4字节,int是4字节64位系统:long是8字节,int是4字节 long long 占8个字节

  3. gcc工具链简述

    工具链软件包括BINUTILS.GCC.GLIBC.GDB等. BINUTILS是二进制程序处理工具,包括链接器.汇编器等目标程序处理的工具. GCC(GNU Compiler Collection) ...

  4. Glossary of view transformations

    Glossary of view transformations The following terms are used to define view orientation, i.e. trans ...

  5. Oracle SQLserver数据库创建表ID字段的自动递增_序列

    Oracle 将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create table t_user( Id ),userid ),loginpasswo ...

  6. 如何修改DBSNMP和SYSMAN用户的密码

    SYSMAN和DBSNMP用户密码过期后OEM无法使用,并报以下错误: SYSMAN用户的密码被加密后存放在不同的地方,这样database control(OMS和agent)可以不用每次访问数据库 ...

  7. CocoaPods看的三篇文章

    http://www.bubuko.com/infodetail-425274.html//有图片 http://www.cnblogs.com/jys509/p/4839803.html http: ...

  8. SQL 分组查询 group by

    select * from emp --deptno 为部门号 --输出每个部门的编号 和 该部门的平均工资 --group by deptno; 通过deptno分组 select deptno, ...

  9. 转:python类型转换、数值操作

    类型转换   1 函数                                    描述 2 int(x [,base ])                      将x转换为一个整数 3 ...

  10. [转] JAVA多线程和并发基础面试问答

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...