1、在input.jsp中输入一个整数; 2、在CheckServlet中判断是单数还是双数。同时需要处理输入不是整数的异常。把相关信息传递到OutputServlet中。 3、OutputServlet显示结果。
时间: 2024-11-09 10:18:17 浏览: 20
在JSP页面`input.jsp`中,你可以创建一个HTML表单让用户输入一个整数,例如:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Number Check</title>
</head>
<body>
<form action="CheckServlet" method="post">
<label for="number">请输入一个整数:</label>
<input type="text" id="number" name="number">
<input type="submit" value="提交">
</form>
</body>
</html>
```
在`CheckServlet`中,你需要解析用户输入并进行数字类型的验证,然后判断其奇偶性。这里使用Java的`Integer.parseInt()`方法将字符串转换为整数,并处理可能出现的NumberFormatException异常:
```java
import javax.servlet.*;
import javax.servlet.http.*;
public class CheckServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String input = request.getParameter("number");
try {
int number = Integer.parseInt(input);
if (number % 2 == 0) {
request.setAttribute("isEven", true); // 设置属性标记是偶数
request.setAttribute("number", number); // 传递数字给OutputServlet
} else {
request.setAttribute("isOdd", true); // 设置属性标记是奇数
}
} catch (NumberFormatException e) {
// 输入不是整数,设置默认属性
request.setAttribute("error", "输入非整数");
}
// 转发到OutputServlet
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/OutputServlet");
dispatcher.forward(request, response);
}
}
```
在`OutputServlet`中,你会接收到这些信息并展示结果:
```java
import javax.servlet.*;
import javax.servlet.http.*;
public class OutputServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
boolean isEven = (Boolean) request.getAttribute("isEven");
int number = (int) request.getAttribute("number");
String error = (String) request.getAttribute("error");
response.setContentType("text/html");
response.getWriter().println("<h1>Result:</h1>");
if (error != null) {
response.getWriter().println(error);
} else {
if (isEven) {
response.getWriter().println(number + " 是偶数");
} else {
response.getWriter().println(number + " 是奇数");
}
}
}
}
```
当用户提交表单,如果输入的是整数,就会显示其奇偶性;如果输入不是整数,则显示错误消息。
阅读全文