JSP+JavaBea实现简单的Web计算器

Sun公司推出JSP之后,有两种设计方法供选择,一个是JSP+JavaBean来实现一些比较简单的案例,另一个就是使用JSP+Servlet+Javabean来实现较为复杂的案例,但是对于现在流行的MVC设计模式而言,后者无可厚非是最好的,前者现在几乎已经不再使用,但是作为一个案例,还是写了一个最简单的Web版面的计算器。

主要的注意点有,精确计算一定要使用BigDecimal类来完成,否则会出现不精确的失误,然后由于是JSP+ JavaBean,所以请求的处理都是在JSP页面里面实现的,其实这个是非常不好的,因为JSP里面几乎不要写代码的,即使出现代码也要使用标签去除。


下面是代码,首先是作为封装数据的JavaBean

package com.bird.domain; import java.math.BigDecimal; /** * @category 封装计算器数据的Bean * @author Bird * */ public class ClaculatorBean { 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("运算符只能为+ - * /"); } } } }
第二个就是JSP界面

<%@page import="java.util.concurrent.ExecutionException"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> 计算器 <% try{ claculatorBean.calculate(); }catch(Exception e){ out.write(e.getMessage()); } %>
--------------------------------------------------------------
计算结果为: =
--------------------------------------------------------------

简单的计算器
第一个参数
操作符
第二个参数

下面是运行效果图


你可能感兴趣的:(JSP+JavaBea实现简单的Web计算器)