各位好,我简单描述下这段代码思路;
思路:
客户端浏览器访问登录页面,提交给servlet后,该servlet生成cookie对象响应给浏览器(cookie生存周期10s);
Cookie cookie=new Cookie("msg","cookiecookie");
cookie.setMaxAge(10);
resp.addCookie(cookie);
展现给用户一个jsp页面,页面上有个"添加数据"的按钮,该按钮的servlet这么写的:
public class TurnServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置请求编码格式
//设置相应编码格式
resp.setContentType("text/html;charset=utf-8");
//获取cookie数组
Cookie[] cookies=req.getCookies();
if(cookies != null) {
for(Cookie c:cookies) {
String name=c.getName();
String value=c.getValue();
if("msg".equals(name) && "cookiecookie".equals(value)) {
System.out.println("cookie::"+name+":"+value);
//重定向
resp.sendRedirect("addCar.jsp");
}
}
}
if(cookies == null || cookies.length == 0){
//重定向
System.out.println("我要重定向");
resp.sendRedirect("login.jsp");
}
}
}
但是这个servlet在10s后cookie到期后,却不能重定向到login.jsp页面,求解?
那你把
for (Cookie c : cookies)
里其他cookie
打出来看看都是些啥呗.我记得应该会有一个 Tomcat 的
jsessionId
之类的东西.