Java codeimport java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Track extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Cookie cookie = null;
Cookie[] cookies = request.getCookies( );
if (cookies != null){
for (int i = 0; i < cookies.length; i++){
if (cookies[i].getName( ).equals("LK")){
String v=cookies[i].getValue();
int value=Integer.parseInt(v)+1;
cookies[i].setValue(Integer.toString(value));
cookie=cookies[i];
}
}//end for
}//end if
//不存在,创建cookie
if (cookie == null){
int maxAge=10;
//Create the Cookie object
cookie = new Cookie("LK","1");
cookie.setPath(request.getContextPath( ));
cookie.setMaxAge(maxAge);
response.addCookie(cookie);
}//end if
// 显示信息
response.setContentType("textml;charset=gb2312");
java.io.PrintWriter out = response.getWriter( );
out.println("<html>");
out.println("<head>");
out.println("<title>Cookie跟踪会话 </title>");
out.println("</head>");
out.println("<body>");
out.println(
"<h2> 您好!</h2>");
out.println("欢迎您第 "+cookie.getValue( )+"次访问本页面<br>");
out.println("</body>");
out.println("</html>");
}
}
(java servlet)无论我怎样重启tomcat以及刷新操作,
为何总是输出:您好!
欢迎您第 2次访问本页面.
cookie.setPath(request.getContextPath( ));
cookie.setMaxAge(maxAge);
response.addCookie(cookie);
这个移到if的后面。。。
原因你改了Cookie的值,只是在服务端该的。还没有重新写入客户端端
//不存在,创建cookie
int maxAge=10;
if (cookie == null){
//Create the Cookie object
cookie = new Cookie("LK","1");
}//end if
// 显示信息
cookie.setPath(request.getContextPath( ));
cookie.setMaxAge(maxAge);
response.addCookie(cookie);