基于JSP+Servlet+JavaBean的设计模式,简单设计一个Web应用程序,当用户在提交页面上输入矩形的长和宽,提交后显示出矩形的周长和面积。
时间: 2024-02-27 15:56:44 浏览: 107
好的,我会按照您的要求回答问题,以下是我的回答:
首先,我们需要创建一个简单的Web应用程序,包含一个JSP页面和一个Servlet。在JSP页面中,我们需要提供一个表单,用户可以在表单中输入矩形的长和宽。当用户点击提交按钮时,表单数据将被发送到Servlet进行处理。
在Servlet中,我们需要使用JavaBean来处理表单数据,并计算矩形的周长和面积。JavaBean是一个Java类,它包含一些属性和方法,用于处理特定的任务。在我们的情况下,我们可以创建一个JavaBean,包含矩形的长和宽属性,并提供计算周长和面积的方法。
下面是实现的步骤:
1. 创建一个名为index.jsp的JSP页面,其中包含一个表单,用户可以输入矩形的长和宽。
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>矩形计算器</title>
</head>
<body>
<h1>矩形计算器</h1>
<form action="RectangleServlet" method="post">
<label for="length">长:</label>
<input type="text" id="length" name="length"><br>
<label for="width">宽:</label>
<input type="text" id="width" name="width"><br>
<input type="submit" value="计算">
</form>
</body>
</html>
```
2. 创建一个名为Rectangle.java的JavaBean,它包含矩形的长和宽属性,并提供计算周长和面积的方法。
```
public class Rectangle {
private double length;
private double width;
public Rectangle() {
length = 0;
width = 0;
}
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 2 * (length + width);
}
public double getArea() {
return length * width;
}
}
```
3. 创建一个名为RectangleServlet的Servlet,它将处理表单数据,并将结果显示回用户。
```
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"));
Rectangle rectangle = new Rectangle();
rectangle.setLength(length);
rectangle.setWidth(width);
double perimeter = rectangle.getPerimeter();
double area = rectangle.getArea();
request.setAttribute("perimeter", perimeter);
request.setAttribute("area", area);
request.getRequestDispatcher("result.jsp").forward(request, response);
}
}
```
4. 创建一个名为result.jsp的JSP页面,它将显示矩形的周长和面积。
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>矩形计算结果</title>
</head>
<body>
<h1>矩形计算结果</h1>
<p>周长:<%= request.getAttribute("perimeter") %></p>
<p>面积:<%= request.getAttribute("area") %></p>
</body>
</html>
```
以上就是一个基于JSP+Servlet+JavaBean的矩形计算器的简单实现。当用户在提交页面上输入矩形的长和宽,提交后显示出矩形的周长和面积。
阅读全文