创建jsp项目,项目名为project2,新建jsp文件,在此文件中通过表单提交三角形的三条边a,b,c,在Servlet中接收数据,判断是否能够成三角形,能则计算面积(输出或者用dispacher转到JSP页面输出),不能则转到表单页面index.jsp。
时间: 2024-10-17 08:14:20 浏览: 25
java项目之仿163网盘无刷新文件上传jsp.zip
创建一个名为"project2"的JSP项目,首先需要在WebContent目录下创建一个新的目录,例如叫作"triangles",用于存放JSP和Servlet文件。然后,按照以下步骤操作:
1. **创建JSP文件**:
- 在`triangles`目录中创建一个名为`index.jsp`的文件,这是用户输入三角形边长的初始表单页面。
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>三角形输入</title>
</head>
<body>
<form action="TriangleServlet" method="post">
边a: <input type="number" name="side_a"><br>
边b: <input type="number" name="side_b"><br>
边c: <input type="number" name="side_c"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
```
2. **创建Servlet**:
- 在`triangles`目录下创建一个名为`TriangleServlet.java`的文件,编写一个Servlet来处理表单提交并检查三角形条件。
```java
// TriangleServlet.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class TriangleServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String sideA = request.getParameter("side_a");
String sideB = request.getParameter("side_b");
String sideC = request.getParameter("side_c");
int a = Integer.parseInt(sideA);
int b = Integer.parseInt(sideB);
int c = Integer.parseInt(sideC);
if (isValidTriangle(a, b, c)) {
double area = calculateTriangleArea(a, b, c);
request.setAttribute("area", area);
request.getRequestDispatcher("result.jsp").forward(request, response);
} else {
request.setAttribute("error", "无法构成三角形");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
private boolean isValidTriangle(int a, int b, int c) {
return a + b > c && a + c > b && b + c > a;
}
private double calculateTriangleArea(int a, int b, int c) {
double s = (a + b + c) / 2.0;
return Math.sqrt(s * (s - a) * (s - b) * (s - c));
}
}
```
3. **创建结果页面**:
- 在`triangles`目录下再创建一个名为`result.jsp`的文件,用于显示计算结果或错误信息。
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>三角形面积</title>
</head>
<body>
<%if ("error".equals(request.getAttribute("error"))) { %>
<p><%=request.getAttribute("error")%></p>
<%} else { %>
<p>三角形的面积为 <%= request.getAttribute("area") %> 平方单位。</p>
<% } %>
</body>
</html>
```
4. **部署和配置**:
- 确保你的Web服务器(如Tomcat)已配置并指向正确的项目路径。
- 配置好项目的部署路径和Servlet映射,如`<web-app>`标签下的`<servlet-mapping>`部分。
现在,当用户从`index.jsp`页面提交表单时,如果输入的边长可以形成三角形,会跳转到`result.jsp`显示面积;反之,则回到`index.jsp`提示错误。记得在实际应用中,还需要处理可能出现的异常情况。
阅读全文