编写简单的Servlet程序,通过index.jsp页面从文框框输入圆的半径,提交后由Servlet中的circleArea.java处理求出圆面积,并转回index.jsp输出结果。
时间: 2024-09-30 16:04:18 浏览: 41
在Java中,我们通常会使用JSP作为前端页面,Servlet作为后端处理器。以下是实现这个功能的基本步骤:
1. 首先,我们需要创建一个`CircleAreaServlet` servlet,用于处理用户提交的数据并计算圆面积:
```java
// CircleAreaServlet.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
public class CircleAreaServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String radiusStr = request.getParameter("radius"); // 获取半径字符串
double radius = Double.parseDouble(radiusStr); // 转换为双精度浮点数
double area = Math.PI * Math.pow(radius, 2); // 计算圆面积
request.setAttribute("area", area); // 存储在request中
// 使用重定向将用户导向index.jsp
response.sendRedirect("index.jsp?result=" + area);
}
}
```
2. 创建一个`index.jsp`页面,包含一个表单供用户输入半径,以及显示结果的部分:
```jsp
<!-- index.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Circle Area Calculator</title>
</head>
<body>
<h2>Enter the radius of a circle:</h2>
<form action="<%= request.getContextPath() %>/CircleAreaServlet" method="post">
<input type="text" name="radius" id="radius" required>
<br><br>
<input type="submit" value="Calculate Area">
</form>
<%-- 显示结果部分 --%>
<%@ include file="result.jsp" %> <!-- 假设存在result.jsp文件 -->
</body>
</html>
```
在这个`index.jsp`中,表单提交到`CircleAreaServlet`,并在提交后使用`response.sendRedirect`。
3. 创建一个`result.jsp`页面(假设存在),用来动态显示计算结果:
```jsp
<!-- result.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
double result = (double) request.getParameter("result"); // 从URL参数中获取结果
out.print("The area of the circle with radius " + result + " is: " + result);
%>
```
现在,当用户在index.jsp中输入圆的半径并点击计算,`CircleAreaServlet`会处理请求,计算面积并将结果显示在`index.jsp`的result.jsp部分。
阅读全文