运行Tomcat 定义JavaBean.该JavaBean具有属性lengh和width分别代表矩形的长和宽。编写一个JSP页面,在页面中设置矩形的长和宽,并输出矩形的周长与面积。
时间: 2024-11-13 10:27:46 浏览: 3
编写jsp页面实现如下界面效果,然后交给servlet计算矩形的周长和面积,并输出结果。
在Tomcat上运行JavaBean并将其集成到JSP页面中,通常需要以下步骤:
1. **创建JavaBean**:
首先,创建一个Java类,例如`Rectangle.java`,它是一个JavaBean,包含`length`和`width`属性以及计算周长和面积的方法。
```java
import javax.servlet.jsp.JspException;
public class Rectangle {
private double length;
private double width;
// 构造函数
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
// 获取和设置属性的方法
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 calculatePerimeter() {
return 2 * (length + width);
}
public double calculateArea() {
return length * width;
}
// 为了支持JSP访问,提供一个getCalculatedValues()方法,返回一个包含周长和面积的对象
public double[] getCalculatedValues() {
return new double[]{calculatePerimeter(), calculateArea()};
}
}
```
2. **配置Web应用**:
在`web.xml`文件中,添加Servlet和JSP页面的映射信息。例如,可以将`RectangleAction`作为Servlet处理POST请求。
```xml
< servlet >
< servlet-name > RectangleAction </ servlet-name >
< servlet-class > com.example.RectangleAction </ servlet-class >
</ servlet >
<servlet-mapping>
<servlet-name>RectangleAction</servlet-name>
<url-pattern>/rectangle</url-pattern>
</servlet-mapping>
```
3. **编写JSP页面**:
创建一个名为`index.jsp`的JSP文件,其中包含了HTML表单用于输入矩形的长度和宽度,并通过AJAX或提交表单到服务器获取计算结果。
```jsp
<!DOCTYPE html>
<html>
<head>
<title>Rectangle Calculator</title>
</head>
<body>
<form action="rectangle" method="post">
Length: <input type="number" id="length" name="length"><br>
Width: <input type="number" id="width" name="width"><br>
<input type="submit" value="Calculate">
</form>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:forEach var="value" items="${calculatedValues}">
<p>${value}</p>
</c:forEach>
</body>
</html>
```
4. **编写Servlet(RectangleAction.java)**:
这个Servlet接收来自JSP的POST请求,实例化JavaBean并计算值。
```java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
public class RectangleAction implements HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String lengthStr = request.getParameter("length");
String widthStr = request.getParameter("width");
double length = Double.parseDouble(lengthStr);
double width = Double.parseDouble(widthStr);
Rectangle rectangle = new Rectangle(length, width);
double[] calculatedValues = rectangle.getCalculatedValues();
// 将计算结果显示到响应体
response.setContentType("text/html");
PrintWriter out = response.getWriter();
for (double value : calculatedValues) {
out.print(value + "<br>");
}
}
}
```
现在,当你在浏览器中打开`index.jsp`并填写矩形的长和宽后,点击计算按钮,JSP页面会显示矩形的周长和面积。
阅读全文