MVC模式计算两个正数的代数平均值与几何平均值

1.计算两个正数的代数平均值与几何平均值。

1)两个JSP页面:

(1)inputData.jsp(视图)页面提供两个表单,用户可以输入两个正数。inputData.jsp页面将用户输入的数据提交给一个资源名为calHandleAverage的servlet,该servlet负责计算两个正数的代数平均值与几何平均值。

(2)showResult.jsp页面可以显示代数平均值或几何平均值。

写出inputData.jspshowResult.jsp的内容。

2)JavaBean(数据模型)  :  写出SaveNumber.java的内容。

3)Servlet(控制器)为HandleAverage.java类

   HandleAverage.java类(放于com.my.servlet包中),负责计算两个正数的代数平均值和几何平均值,将计算结果以及相关数据存储到数据模型JavaBean(SaveNumber.java类的实例)中,然后请求showResult.jsp显示模型JavaBean中的数据。

写出HandleAverage.java的内容。

4)修改本工程的WEB-INF目录中的web.xml文件。

写出web.xml中关于servlet部署的内容。

页面显示效果如下图示:

inputData.jsp页面显示效果

图1

showResult.jsp页面显示效果:

图2

inputData.jsp

<%@ page pageEncoding="UTF-8"%>

<jsp:useBean id="data" class="com.my.bean.SaveNumber" scope="page"></jsp:useBean>


<body bgcolor="#efddfa">

<font  size=6>

//提交表单

<form action="calHandleAverage"  method="post" name="form">
    <table>
       <tr>
         <td>计算两个整数的代数平均值</td><br>
         <td>输入整数:<input type="text" name="num1" value=0></td>
         <td>输入整数:<input type="text" name="num2" value=0></td>  
         <td><input type="submit" value="提交" name="sub"> </td>      
       </tr>
       <tr>
         <td>算两个整数的几何平均值</td><br>
         <td>输入整数:<input type="text" name="num3" value=0></td>
         <td>输入整数:<input type="text" name="num4" value=0></td>         
       <td><input type="submit" value="提交" name="sus"></td>
       </tr>
      
    </table>

</form>

  showResult.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<jsp:useBean id="result" class="com.my.bean.SaveNumber" scope="request"></jsp:useBean>

<p>计算结果:</p>
  <p>
   <jsp:getProperty property="num1" name="result"/>与
          <jsp:getProperty property="num2" name="result"/>
      的代数平均值  : <jsp:getProperty property="result1" name="result"/>
  <p> 
   <jsp:getProperty property="num3" name="result"/>与
   <jsp:getProperty property="num4" name="result"/>

      的几何平均值  : <jsp:getProperty property="result2" name="result"/>

SaveNumber.java

package com.my.bean;

public class SaveNumber {
   double num1,num2,num3,num4,result1,result2;

public double getNum1() {
return num1;
}

public void setNum1(double num1) {
this.num1 = num1;
}

public double getNum2() {
return num2;
}

public void setNum2(double num2) {
this.num2 = num2;
}

public double getNum3() {
return num3;
}

public void setNum3(double num3) {
this.num3 = num3;
}

public double getNum4() {
return num4;
}

public void setNum4(double num4) {
this.num4 = num4;
}

public double getResult1() {
return result1;
}


public void setResult1(double result1) {
this.result1 = result1;
}

public double getResult2() {
return result2;
}

public void setResult2(double result2) {
this.result2 = result2;
}

}

HandleAverage.java

package com.my.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.my.bean.SaveNumber;


public class HandleAverage extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
        response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
SaveNumber sn = new SaveNumber();
        request.setAttribute("result",sn);
        try
        {
         double a=Double.parseDouble(request.getParameter("num1"));
         double b=Double.parseDouble(request.getParameter("num2"));
         double c=Double.parseDouble(request.getParameter("num3"));
         double d=Double.parseDouble(request.getParameter("num4"));
         
         if( c<0 || d<0)
        return;
         sn.setNum1(a);
         sn.setNum2(b);
         sn.setNum3(c);
         sn.setNum4(d);
     
         double s1 = 0,s2 = 0;
         s1 = (a + b)/2;
         s2 = Math.sqrt(c + d);
         sn.setResult1(s1);
         sn.setResult2(s2);
         RequestDispatcher dispatcher=request.getRequestDispatcher("showResult.jsp");
         dispatcher.forward(request,response);
         // out.println("<p>代数平均值"+sn.getResult1());
         //out.println("<p>几何平均值"+sn.getResult2());
         
    }catch(Exception e){
out.println("3秒后跳转!");
        response.setHeader("Refresh","3:url=inputData.jsp");
 }
}
}

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值