因为表单每提交一次都会发一次请求 ,所以可以 在form 表单中添加一个隐藏域, 存放该表单的标志位 ,然后在applicationContext /session 里存一个count 用来计数
if(request.getParameter(标志位name).equals(标志位value)){
etCount ;
then count++ ;
setCount;
}例子:
guessnumber.jsp
<%@page import="java.util.Random"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body bgcolor="00ffff"> <div align="center"> <%int r=new Random().nextInt(101); session.setAttribute("random", r); %> <h4>猜字游戏</h4> 随机分给你一个1--100的整数,请猜猜看!<br/> <form action="guessnumber_ok.jsp" method="get" number="guess"> <table> <tr> <td>输入你猜的数:</td> <td><input type="text" name="number"></td> <td><input type="hidden" value="1" name="id"></td> <td><input type="submit" value="送出"></td> </tr> </table> </form> <% session.setAttribute("count", 0); %> </div> </body> </html>
guessnumber_ok.jsp
<%@page import="java.util.Random"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <%int r=(int)session.getAttribute("random"); String a =request.getParameter("number"); int n=Integer.parseInt(a);//转型 if(request.getParameter("id").equals("1")){ int count=(int)session.getAttribute("count") ; count++; session.setAttribute("count", count); } if(r>n){ response.sendRedirect("guess_small.jsp"); } else if(r<n){ response.sendRedirect("guess_large.jsp"); } else{ response.sendRedirect("guess_success.jsp"); } %> </body> </html>