1. 基于JSP+Servlet+JavaBean的设计模式,设计一个Web应用程序,当用户在提交页面上输入矩形的长和宽,提交后显示出矩形的周长和面积。
时间: 2024-02-05 20:13:59 浏览: 66
首先,我们需要创建一个 JSP 页面,该页面用于输入矩形的长和宽,并将其提交到Servlet进行处理。以下是一个简单的示例:
```html
<!DOCTYPE html>
<html>
<head>
<title>矩形计算器</title>
</head>
<body>
<h1>矩形计算器</h1>
<form action="RectangleServlet" method="post">
<label for="length">长:</label>
<input type="number" id="length" name="length"><br><br>
<label for="width">宽:</label>
<input type="number" id="width" name="width"><br><br>
<input type="submit" value="计算">
</form>
</body>
</html>
```
接下来,我们需要创建一个 Servlet,该 Servlet 可以接收提交的数据并计算矩形的周长和面积。以下是一个示例:
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class RectangleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取用户输入的长和宽
double length = Double.parseDouble(request.getParameter("length"));
double width = Double.parseDouble(request.getParameter("width"));
// 计算矩形的周长和面积
double perimeter = 2 * (length + width);
double area = length * width;
// 将结果存储在 JavaBean 中
RectangleBean rectangle = new RectangleBean();
rectangle.setLength(length);
rectangle.setWidth(width);
rectangle.setPerimeter(perimeter);
rectangle.setArea(area);
// 将 JavaBean 存储在 request 中
request.setAttribute("rectangle", rectangle);
// 转发到结果页面
request.getRequestDispatcher("result.jsp").forward(request, response);
}
}
```
在上述代码中,我们首先从 HttpServletRequest 对象中获取用户输入的长和宽,然后计算矩形的周长和面积。接着,我们将计算结果存储在一个名为 RectangleBean 的 JavaBean 中,并将该 JavaBean 存储在 HttpServletRequest 对象中。最后,我们将请求转发到一个名为 result.jsp 的 JSP 页面,该页面用于显示计算结果。
最后,我们需要创建一个名为 RectangleBean 的 JavaBean,该 JavaBean 包含矩形的长、宽、周长和面积。以下是一个示例:
```java
public class RectangleBean {
private double length;
private double width;
private double perimeter;
private double area;
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getPerimeter() {
return perimeter;
}
public void setPerimeter(double perimeter) {
this.perimeter = perimeter;
}
public double getArea() {
return area;
}
public void setArea(double area) {
this.area = area;
}
}
```
现在,我们只需要创建一个名为 result.jsp 的 JSP 页面,该页面用于显示矩形的周长和面积。以下是一个示例:
```html
<!DOCTYPE html>
<html>
<head>
<title>矩形计算器 - 结果</title>
</head>
<body>
<h1>矩形计算器 - 结果</h1>
<p>长: <%= request.getAttribute("rectangle").getLength() %></p>
<p>宽: <%= request.getAttribute("rectangle").getWidth() %></p>
<p>周长: <%= request.getAttribute("rectangle").getPerimeter() %></p>
<p>面积: <%= request.getAttribute("rectangle").getArea() %></p>
</body>
</html>
```
在上述代码中,我们使用了 JSP 的脚本表达式来获取 JavaBean 中存储的矩形信息,并将其显示在页面上。
完成了以上步骤后,我们就成功地创建了一个基于 JSP+Servlet+JavaBean 的矩形计算器 Web 应用程序。
阅读全文