夜光序言:
可能的话。真想和你..去..同一个地方。
我们咫尺天涯。
却在内心最柔软的地方深切的怀念对方。
是想念吗。
正文:
//夜光:利用 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>