zoukankan      html  css  js  c++  java
  • 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>
    
  • 相关阅读:
    border-sizing属性详解和应用
    初识scss:配置与运行
    详解scss的继承、占位符和混合宏
    详解promise、async和await的执行顺序
    JS调用模式
    自已写的线程池
    ThreadPool.QueueUserWorkItem的用法
    C#定时执行
    Task.Factory.StartNew的用法
    C#写文本日志帮助类(支持多线程)改进版(不适用于ASP.NET程序)
  • 原文地址:https://www.cnblogs.com/qichunlin/p/7875790.html
Copyright © 2011-2022 走看看