2017.11.21 基于JSP+Servlet+JavaBean实现复数运算(二)

代码的实现

最基本的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>
原文地址:https://www.cnblogs.com/qichunlin/p/7875790.html