JSP:利用MVC实现三角形、梯形面积计算

本文通过一个实例,详细介绍了如何使用MVC模式在Web应用中实现三角形和梯形面积的计算。通过设计inputData.jsp和showResult.jsp两个页面,结合AreaServlet Servlet对象和AreaBean JavaBean,实现了用户输入数据、数据处理和结果显示的分离,展示了MVC模式在网页设计中的优势。

利用MVC实现三角形、梯形面积计算

  注:博客说明,本博客主要介绍jsp实现MVC模式的一个简单的例子。
  通过对图形的计算,实现MVC,加深对MVC的理解。

一.主要内容

  1. 设计一个Web应用,该Web应用提供两个JSP页面,inputData.jsp页面使得用户可以输入三角形三边和梯形的上底、下底和高;showResult.jsp负责显示三角形和梯形的面积。
  2. Web应用提供一个名字为computerArea的Servlet对象(Servlet类名为AreaServlet),computerArea负责接收inputData.jsp页面中传递过来的参数,并负责计算三角形和梯形的面积,所有的数据都存储在Area.java这个JavaBean中。

二.实现步骤

  1. 编辑两个jsp页面,作为输入和输出的页面,设计的方式可以根据自己的喜好设计。输入的页面包括,图形的选择,图形的三个边的长度和提交按钮;输出界面包括计算的图形和计算面积的结果;然后将输入的结果提交给相应的servlet。

  2. 编写Javabean,作为图形的模式,包含的属性有图形的类型,图形的三个边的长度,以及计算的结果;包含的方法是由代码生成的各个属性的get和set函数。

  3. 编写servlet,作为提交数据的处理类,在这个类的函数中包含处理提交数据和返回结果的方法的实现,在存储数据的方式,可以采取request或者session,笔者采用了session。编写完servlet莫忘了要在web.xml配置相关属性,访问方式,以及在相应的jsp页面的提交,需要根据配置设置。实现关键的代码如下:

try{  
			 //1. 获取的数据;
			double a = Double.parseDouble(req.getParameter("n1"));
			double b = Double.parseDouble(req.getParameter("n2"));
			double c = Double.parseDouble(req.getParameter("n3"));
			String str = req.getParameter("tuxing");
			String strModel="";
			
			//2.计算面积;
			double area = 0;
			if(str.equals("sanjiao"))
			{
				strModel="三角形";
				double p=0;
				p=(a+b+c)/2.0;
				area=Math.sqrt(p*(p-a)*(p-b)*(p-c));
			}
			else
			{
				strModel="梯形";
				area=(a+b)*c/2;
			}
			
			//3.创建JavaBean,并赋值,保存到session对象中;;
			AreaBean aBean = new AreaBean();
			aBean.setA(a);
			aBean.setB(b);
			aBean.setC(c);
			aBean.setModel(strModel);
			aBean.setResult(area);
			HttpSession session = req.getSession(true);//获取session对象;
			session.setAttribute("ABean", aBean);//保存在session对象中;
			
			//4.重定向;
			resp.sendRedirect("showResult.jsp");//重定向到输出界面:
			
			
		    }
		catch(NumberFormatException e){
			resp.sendRedirect("inputData.jsp");//输入错误,返回初始界面:     
		} 
  1. 关于结果页面的jsp获取session内置对象。
<jsp:useBean id="ABean" type="beans.AreaBean" scope="session" 
</jsp:useBean>
<jsp:getProperty property="model" name="ABean"/>计算面积:<jsp:getProperty property="result" name="ABean"/>

三.实验截图

  1. 计算三角形面积,输入如图1,输出结果如图2。
    图1 三角形数据输入
    图1 三角形数据输入
    图2 三角形面积的计算结果
    图2 三角形面积的计算结果

  2. 计算梯形,数据的输入如图3,输出面积如图4.
    图3 梯形数据的输入
    图3 梯形数据的输入
    图4 梯形面积的输出
    图4 梯形面积的输出

四.结果反思

     jsp的MVC模式,利用jsp+Javabean+servlet,实现网页的页面设计,数据模式
 和数据的处理,使得网页的设计结构更加清楚,可读性更强,以及各部分的关系也更
 好的分开,有利于网页的大规模开发。通过简单的面积计算的模拟,也可以看得出jsp
 的MVC模式处理的优点,各部分的功能更加独立。
    在设计的过程中,首先要明确自己的设计的内容,实现步骤,才能比较快速准确
 的设计,少一些逻辑上的错误。

注:eclipse的项目链接:
https://pan.baidu.com/s/1CryLLOcN5DbMsHy3ZVHU3Q&shfl=sharepset

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值