jsp充当视图层,servlet-控制层,JavaBean-业务逻辑处理,模型层
Input.jsp
<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%> <html> <head><title>提交数据页面!</title></head> <body> <form action="Calculate" method="post"> 请输入第一个复数的实部:<input type="text" name="r1"/><br> 请输入第一个复数的虚部: <input type="text" name="i1"/><br> 请选择运算类型: <select name="op"> <option>+</option> <option>-</option> <option>*</option> <option>/</option> </select> <br> 请输入第二个复数的实部:<input type="text" name="r2"/><br> 请输入第二个复数的虚部: <input type="text" name="i2"/><br> <input type="submit" value="计 算"/> </form> </body> </html>在JavaBean中书写复数类
package beans; public class Complex { private double real; private double ima; public Complex() {} public Complex (double real,double ima) { this.ima=ima; this.real=real; } public double getReal() { return real; } public void setReal(double real) { this.real = real; } public double getIma() { return ima; } public void setIma(double ima) { this.ima = ima; } public Complex add(Complex a ) { return new Complex(this.real+real,this.ima+ima); } public Complex sub(Complex a) { return new Complex(this.real-real,this.ima-ima); } public Complex mul(Complex a) { double x=this.real*a.real-this.ima*a.ima; double y=this.real*a.ima+this.ima*a.real; return new Complex(x,y); } public Complex div(Complex a) { double z=a.real*a.real+a.ima*a.ima; double x=(this.real*a.real+this.ima*a.ima)/z; double y=(this.ima*a.real-this.real*a.ima)/z; return new Complex(x,y); } public String info() { if(ima>=0.0) return real+"+"+ima+"*i"; else return real+"-"+(-ima)+"*i"; } }servlet的java中实现基本控制
package ServeletPack; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import beans.Complex; /** * Servlet implementation class Calculate */ @WebServlet("/Calculate") public class Calculate extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Calculate() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { double r1=Double.parseDouble(request.getParameter("r1")); double i1=Double.parseDouble(request.getParameter("i1")); String op=request.getParameter("op"); double r2=Double.parseDouble(request.getParameter("r2")); double i2=Double.parseDouble(request.getParameter("i2")); Complex a1=new Complex (r1,i1); Complex a2=new Complex(r2,i2); String res=""; if(op.equals("+")) { res=a1.add(a2).info(); } if(op.equals("-")) { res=a1.sub(a2).info(); } if(op.equals("*")) { res=a1.mul(a2).info(); } if(op.equals("/")) { res=a1.div(a2).info(); } request.setAttribute("result",res); request.getRequestDispatcher("/Show.jsp").forward(request, response); } }Show.jsp中展示
<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%> <html> <head><title>显示数据页面!</title></head> <body> <%=request.getAttribute("result") %> </body> </html>2.