综合应用jsp servlet javabean

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.

猜你喜欢

转载自blog.csdn.net/weixin_45988242/article/details/109191826
今日推荐