创建web项目,用input.jsp页面通过表单提交用户名和一个圆的半径,将它们存到session对象中,然后重定向到show.jsp页面,输出用户名,获取半径值并计算出圆的面积并输出。需要对空对象进行处理,对异常数据进行处理。
时间: 2024-12-20 07:18:22 浏览: 7
创建Web项目时,首先你需要在`input.jsp`页面设置一个HTML表单,包含两个输入字段:一个是用于用户名的文本框,另一个是用于输入圆半径的数字输入框。表单的action属性指向`process.jsp`(这将处理表单提交),method属性设为"POST",便于发送数据。
```html
<!-- input.jsp -->
<form action="process.jsp" method="post">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br>
<label for="radius">圆半径:</label>
<input type="number" id="radius" name="radius"><br>
<input type="submit" value="提交">
</form>
```
在`process.jsp`中,首先要从请求对象(HttpServletRequest)中获取表单数据,检查它们是否为空或非法,然后将数据存储到Session中:
```java
<%@ page contentType="text/html;charset=UTF-8"%>
<%
String username = request.getParameter("username");
double radius = Double.parseDouble(request.getParameter("radius"));
if (username == null || radius <= 0) {
out.println("请输入有效的信息!");
} else {
session.setAttribute("username", username);
session.setAttribute("radius", radius);
response.sendRedirect("show.jsp"); // 重定向到show.jsp
}
%>
```
接下来,在`show.jsp`页面,你可以从Session中取出数据,并处理可能出现的空对象或异常情况,然后计算圆的面积:
```jsp
<%@ page contentType="text/html;charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>显示结果</title>
</head>
<body>
<%@ include file="header.jsp" %> <!-- 如果有公共头部文件引用 -->
<h1>欢迎 ${session.getAttribute("username")}</h1>
<% try {
double radius = (Double) session.getAttribute("radius");
if (radius != null) {
double area = Math.PI * radius * radius;
out.println("圆的半径为:" + radius + ",面积为:" + area);
} else {
out.println("无法找到半径信息,请刷新页面或联系管理员。");
}
} catch (Exception e) {
out.println("错误:" + e.getMessage());
} finally {
%>
<a href="input.jsp">返回输入页面</a>
<%}%>
</body>
</html>
```
在这个例子中,我们假设有一个`header.jsp`文件作为公共头部,`header.jsp`应包含基本的页面结构和导航链接。
阅读全文