1.基于JSP+Servle+Javab实现复数运算
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.