jsp猜数字+session
时间: 2023-10-04 07:08:24 浏览: 173
可以使用JSP和Session来实现猜数字游戏。
首先,在JSP页面中,需要有一个猜数字的表单,用户可以输入猜测的数字。同时,需要有一个Servlet来处理用户提交的表单数据,并判断用户猜的数字是否正确。
在Servlet中,可以使用Session来存储正确的数字,并与用户猜测的数字进行比较。如果用户猜测的数字与正确的数字相同,就提示用户猜对了,并清除Session中的数据。如果用户猜错了,就提示用户继续猜测。
以下是一个简单的JSP猜数字游戏示例:
index.jsp:
```html
<!DOCTYPE html>
<html>
<head>
<title>猜数字游戏</title>
</head>
<body>
<h1>猜数字游戏</h1>
<p>请猜一个1到100之间的数字:</p>
<form action="guess" method="post">
<input type="text" name="guess" required>
<input type="submit" value="猜">
</form>
</body>
</html>
```
GuessServlet.java:
```java
import java.io.IOException;
import java.util.Random;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/guess")
public class GuessServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public GuessServlet() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
Random rand = new Random();
int answer = (int) session.getAttribute("answer");
if (answer == 0) {
answer = rand.nextInt(100) + 1;
session.setAttribute("answer", answer);
}
int guess = Integer.parseInt(request.getParameter("guess"));
if (guess == answer) {
response.getWriter().println("恭喜你,猜对了!");
session.removeAttribute("answer");
} else if (guess < answer) {
response.getWriter().println("你猜的数字太小了,请继续猜测。");
} else {
response.getWriter().println("你猜的数字太大了,请继续猜测。");
}
}
}
```
在这个示例中,每次用户打开页面或猜对数字后,Session中都会存储一个新的正确数字。如果用户关闭浏览器或Session过期,就会重新生成一个新的正确数字。可以根据需要调整这个行为。
阅读全文