代码的实现
最基本的MVC模式
//input.jsp 输入界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>提交数据页面</title>
</head>
<body>
<form action="/servlet/CaculateServlet" method="post">
请输入第一个复数的实部:<input type="text" name="r1"/><br>
请输入第一个复数的虚部:<input type="text" name="i1"/><br>
选择运算类型:
<select name="oper">
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select><br><br>
请输入第二个复数的实部:<input type="text" name="r2"/><br>
请输入第二个复数的虚部:<input type="text" name="i2"/><br>
<input type="submit" value="计算"/>
</form>
</body>
</html>
//CaculateServlet servlet类
package servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import beans.Complex;
public class CaculateServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public CaculateServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
double r1=Double.parseDouble(request.getParameter("r1"));
double i1=Double.parseDouble(request.getParameter("i1"));
String oper=request.getParameter("oper");//接受单选下拉框
double r2=Double.parseDouble(request.getParameter("r2"));
double i2=Double.parseDouble(request.getParameter("i2"));
String result="";
Complex c1=new Complex(r1,i1); //创建对象
Complex c2=new Complex(r2,i2);
if("+".equals(oper))
result=c1.add(c2).info();
else if("-".equals(oper))
result=c1.sub(c2).info();
else if("*".equals(oper))
result=c1.mul(c2).info();
else
result=c1.div(c2).info();
request.setAttribute("outputMassage", result); //保存输出结果到outMessage对象中
request.getRequestDispatcher("/output.jsp").forward(request, response);
//转向JSP页面
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
doPost(request,response);
}
}
//output.jsp 输出结果页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>显示结果页面</title>
</head>
<body>
<%=request.getAttribute("outMeaasge") %>
</body>
</html>