实现一个简单的计算器程序,要求:使用jsp+javabean模式实现。
项目源代码如下:
文件:calculator.jsp
<%@ page language="java" pageencoding="utf-8"%>
<%@ page iserrorpage="true"%>
<%@ page errorpage="calculator.jsp" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!doctype html public "-//w3c//dtd html 4.01 transitional//en">
<html>
<head>
<title>简单的计算机</title>
</head>
<body>
<%--创建calculator对象--%>
<jsp:usebean id="cal" class="cn.zq.domain.calculator" />
<%--设置值 通配符*表示设置所有属性--%>
<jsp:setproperty property="*" name="cal"/>
<%--
进行计算
--%>
<c:if test="${empty pagecontext.exception}">
<%
cal.calculate();
%>
</c:if>
<hr/>
<p>计算结果:${cal.firstnum } ${cal.operator } ${cal.secondnum } = ${cal.result }</p>
<hr/>
<%--
构建url
--%>
<c:url var="formurl" value="/calculator.jsp"/>
<form action="${formurl }" method="post">
<table border="1" cellpadding="2">
<tr>
<td colspan="2" align="center">我的计算器</td>
</tr>
<tr>
<td>第一个参数:</td>
<td><input type="text" name="firstnum"/></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 type="text" name="secondnum">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="计算" />
</td>
</tr>
</table>
</form>
</body>
</html>
本文使用的javabean代码如下:
package cn.zq.domain;
public class calculator {
private string firstnum;
private string operator;
private string secondnum;
private string result;
public string getfirstnum() {
return firstnum;
}
public void setfirstnum(string firstnum) {
this.firstnum = firstnum;
}
public string getoperator() {
return operator;
}
public void setoperator(string 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 calculator() {}
public calculator(string firstnum, string operator, string secondnum,
string result) {
this.firstnum = firstnum;
this.operator = operator;
this.secondnum = secondnum;
this.result = result;
}
public void calculate(){
if(operator != null && !operator.equals("")){
double first = new double(firstnum);
double second = new double(secondnum);
char oper = operator.charat(0);
switch (oper) {
case '+':
result = first + second + "";
break;
case '-':
result = first - second + "";
break;
case '*':
result = first * second + "";
break;
case '/':
result = first / second + "";
break;
default:
throw new runtimeexception("未知运算符!");
}
}
}
}
最终完成的效果图如下:
总结:前面只是一个小的练习,实际上还是有很多缺陷的,在数据提交后未进行校验。很显然jsp+javabean模式只适合完成简单的计算,要是要完成的功能比较复杂的话,这种模式就不合适了。要是在jsp页面进行一些业务的处理,也使得程序混乱不堪,最后难以维护,上面例子的业务逻辑的处理是直接在javabean中完成的,实际的项目中,业务不会这么简单,常常涉及到一些对数据库的操作,应该把各个成分都给分离开来,这样以后维护起来也容易多了,也会让程序员赏心悦目,假如是一个逻辑层次划分的不是很良好的项目,维护起来真叫人恶心,让我抓狂。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!