本实例通过在JSP中使用JavaBean的实例制作一个简易的计算器页面,注意<jsp:useBean>
和<jsp:setProperty>
的使用。
1、JSP页面
在Tomcat服务器本地安装目录表的webapps下创建jsplearn目录,创建calculate.jsp文件,代码如下:
<%@ page language="java" contentType="text/html;charset=utf-8"%>
<%@ page import="java.sql.*,zyc.SimpleCalculator" errorPage=""%>
<jsp:useBean id="calculator" scope="request" class="zyc.SimpleCalculator">
<jsp:setProperty name="calculator" property="*" />
</jsp:useBean>
<html>
<head>
<title>简单计算器</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<hr>
计算结果:<%
try{
calculator.calculate();
if(calculator.getOperator().equals("*"))
out.println(calculator.getFirst()+"×"+calculator.getSecond()+"="+calculator.getResult());
else if(calculator.getOperator().equals("/"))
out.println(calculator.getFirst()+"÷"+calculator.getSecond()+"="+calculator.getResult());
else
out.println(calculator.getFirst()+calculator.getOperator()+calculator.getSecond()+"="+calculator.getResult());
}
catch(Exception e){
out.println(e.getMessage());
}%>
<hr>
<form action="calculate.jsp" method=get>
<table width="75%" border="1" bordercolor="#003300">
<tr bgcolor="#999999">
<td colspan="2">简单计算器</td>
</tr>
<tr>
<td>第一个数</td>
<td><input type=text name="first"></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="second"></td>
</tr>
<tr>
<td colspan="2" bgcolor="#CCCCCC"><input type=submit value="计算"></td>
</tr>
</table>
</form>
</body>
</html>
注意这里所使用的<jsp:setProperty name="calculator" property="*" />
是为了把form里的param设置为JavaBean里的property,因为名字一致,所以用*
设置更方便。
2、JavaBean代码
在jsplearn\WEB-INF\classes目录下,创建SimpleCalculator.java,代码如下:
package zyc;
public class SimpleCalculator{
private String first;
private String second;
private double result;
private String operator;
public void setFirst(String first){
this.first = first;
}
public String getFirst(){
return this.first;
}
public void setSecond(String second){
this.second = second;
}
public String getSecond(){
return this.second;
}
public void setOperator(String operator){
this.operator = operator;
}
public String getOperator(){
return this.operator;
}
public double getResult(){
return this.result;
}
public void calculate(){
double one = Double.parseDouble(first);
double two = Double.parseDouble(second);
try{
if(operator.equals("+")) result = one + two;
else if(operator.equals("-")) result = one - two;
else if(operator.equals("*")) result = one * two;
else if(operator.equals("/")) result = one / two;
}
catch(Exception e){
System.out.println(e);
}
}
}
编写好的java文件需要编译,我是直接用记事本编写的,所以cmd命令行进入到当前文件夹然后javac -d . SimpleCalculator.java
编译,编译的class文件会出现在当前目录下生成相应的包文件。
3、运行
打开浏览器访问localhost:8080/jsplearn/calculate.jsp,然后进行操作。
自我反思:
①java文件需要编译。
②我使用的是记事本编写,所以要特别注意有没有出错。比如把String写成了Sting,在set×××的时候,没有设置参数。