夜光带你走进 Java Web应用程序开发(二十八)

夜光序言:

 

可能的话。真想和你..去..同一个地方。

我们咫尺天涯。

却在内心最柔软的地方深切的怀念对方。

是想念吗。

 

正文:

//夜光:利用 MVC 模式计算梯形面积。
//1.视图
提供两个 JSP 页面,一个 JSP 页面 inputData.jsp,该页面
使得用户可以输入梯形的上底,下底和高。另一个 JSP 页面
show.jsp 能显示梯形的上底、下底和高以及面积。

//2.数据模型
提供的 JavaBean-Area.java 负责刻画梯形,即可以存储梯形的有关数据
提供简单的获取和修改数据的方法。

//3.控制器
创建 servlet 文件 HandleArea.java,该 servlet 负责从inputData.jsp
页面获取梯形的上底、下底和高,通过获取
的数据计算出梯形面积,将有关数据存储到数据模型

//JavaBean 文件 Area.java 中
然后用转发或重定向的方式请
求视图中负责显示数据的 JSP 页面 show.jsp 显示 JavaBean
数据模型中的数据。


//Area.java — 数据 模型


package mybean;
public class Area {
private double a;
private double b;
private double c;
private double area;
private String message;
public Area() {
}
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double getC() {
return c;
}
public void setC(double c) {
this.c = c;
}
public double getArea() {
return area;
}
public void setArea(double area) {
this.area = area;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}


============================================================


//HandleArea.java — 控制 器


package myservlet;
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 mybean.*;
import javax.servlet.http.*;


public class HandleArea extends HttpServlet {
private static final long serialVersionUID = 1L;
public HandleArea() {
super();
} }
protected void doGet(HttpServletRequest request,
HttpServletRespon se response) throws ServletException,
IOException {
//1. 先创建 n javabean  对象
Area databean=new Area();
//2. 将 n databean  存储到 n session  对象中
HttpSession session=request.getSession(true);
session.setAttribute("data", databean);
//3. 利用 t request  对象从 a inputData  页面中获取梯形
的上底 下底和高,并将其转换为 e double  数据
try {
double
a=Double.parseDouble(request.getParameter("a"));
double
b=Double.parseDouble(request.getParameter("b"));
double
c=Double.parseDouble(request.getParameter("c"));
//4. 将从页面中获取的数据送往模型 n databean  中
databean.setA(a);
databean.setB(b);
databean.setC(c);
double s=- - 1;
s=(a+b)*c/2.0;
databean.setArea(s);
databean.setMessage(" 梯形 ");
} 
}
catch(Exception e) {
databean.setArea(- - 1);
databean.setMessage(""+e);
} 
}
//5. 重定向到 p show.jsp  页面
response.sendRedirect("show.jsp");
} 
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
doGet(request, response);
} 
}
} 
}




================================================================



//inputData.jsp — 视图

<%@ page language="java" contentType="text/html;
charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>利用表单给servlet送值</title>
</head>
<body>
<form action="handle" method="get">
梯形:
<br>输入上底:<input type=text name="a" size=4>
<br>输入下底:<input type=text name="b" size=4>
<br>输入高:<input type=text name="c" size=4>
<input type=submit value=" 提交 ">
</form>
</body>
</html>
show.jsp — 视图
<%@ page language="java" contentType="text/html;
charset=UTF-8"
pageEncoding="UTF-8"%>
<jsp:useBean id="data" type="mybean.Area"
scope="session"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>显示梯形面积</title>
</head>
<body>
<jsp:getProperty property="message" name="data"/>
上底:<jsp:getProperty property="a" name="data"/>
下底:<jsp:getProperty property="b" name="data"/>
高:<jsp:getProperty property="c" name="data"/>
的面积是:<jsp:getProperty property="area" name="data"/>
</body>
</html>

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值