用jsp中的servlet,bean,还有MVC实现求三角形的面积还有web.xml文件编写
时间: 2024-11-27 12:16:10 浏览: 31
使用JSP、Servlet、Bean和MVC模式来计算三角形面积涉及以下步骤:
**1. 创建Java Bean(Model):**
在Java中创建一个`Triangle`类,作为Bean,它有底和高的属性以及计算面积的方法。
```java
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
@WebServlet("/TriangleCalculator")
public class TriangleCalculatorBean implements Serializable {
private double base;
private double height;
// 构造函数和getter/setter
public TriangleCalculatorBean(double base, double height) {
this.base = base;
this.height = height;
}
public double getArea() {
return 0.5 * base * height;
}
}
```
这里的`@WebServlet`注解用于标记这是一个Servlet。
**2. 创建Servlet(Controller):**
在`WEB-INF`目录下创建`TriangulationServlet.java`,它接收请求,处理计算任务,并返回结果。
```java
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class TriangulationServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
TriangleCalculatorBean calculator = new TriangleCalculatorBean(
Double.parseDouble(request.getParameter("base")),
Double.parseDouble(request.getParameter("height")));
double area = calculator.getArea();
request.setAttribute("triangleArea", area);
// 将结果发送回JSP页面
request.getRequestDispatcher("result.jsp").forward(request, response);
}
}
```
`doPost`方法处理POST请求,从请求参数中获取三角形的底和高,调用`TriangleCalculatorBean`的方法,并将结果保存在请求上下文中。
**3. Web.xml配置:**
在`WEB-INF/web.xml`文件中,注册Servlet和其URL映射。
```xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>TriangulationServlet</servlet-name>
<servlet-class>com.yourpackage.TriangulationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TriangulationServlet</servlet-name>
<url-pattern>/calculate</url-pattern>
</servlet-mapping>
</web-app>
```
在这里,`/calculate`是用户访问Servlet的路径。
**4. JSP页面(View):**
创建`result.jsp`,展示计算结果。
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Triangle Area Result</title>
</head>
<body>
<h1>The area of the triangle is: ${triangleArea} square units.</h1>
</body>
</html>
```
`${triangleArea}`是JSP EL表达式,用来从请求上下文检索计算出的三角形面积。
阅读全文