获取不到cookie
第一个servlet:设置cookie:
package com.imooc.servlet.cookie; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class ServletCookie */ @WebServlet("/sc/setcookie") public class ServletCookie extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ServletCookie() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub Cookie cookie=new Cookie("name","Tom"); Cookie cookie2=new Cookie("sex","man"); Cookie cookie3=new Cookie("age","18"); response.addCookie(cookie); response.addCookie(cookie2); response.addCookie(cookie3); cookie.setMaxAge(60*60*24); cookie2.setMaxAge(60*60*24); cookie3.setMaxAge(60*60*24); response.getWriter().println("Hello World"); } }
第二个servlet:设置cookie:
package com.imooc.servlet.cookie; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class ServletSetCookie */ @WebServlet("/sc/setcookie2") public class ServletSetCookie extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ServletSetCookie() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Cookie cookie=new Cookie("grade","A"); cookie.setMaxAge(60*60*24); response.addCookie(cookie); response.getWriter().println("Hello DamnWorld"); } }
获取cookie:
package com.imooc.servlet.cookie; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class ServletGetCookie */ @WebServlet("/gc/getcookie") public class ServletGetCookie extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ServletGetCookie() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Cookie[] cs = request.getCookies(); for(Cookie c : cs) { response.getWriter().println(c.getName() + ":" + c.getValue()); } } }
我写了两个servlet来获取不同的cookie,为什么在设置了cookie时效的情况下还是不能获取cookie?
错误代码为 500;
我这么做只是想证明在不同servlet中创建的cookie是不是都保存在了同一个文件中?
还有就是创建的cookie为什么能被另外创建的servlet访问,是因为cookie是全局的吗?(因为我想这儿为什么没使用 转发请求 就可以访问另一个servlet中创建的数据)
1
收起
正在回答 回答被采纳积分+1
4回答
chrismorgen
2018-12-29 18:02:54
你好同学,如下图所示,建议你设置完cookie之后,访问getcookie,就可以达到你说的效果了。如下结果是你代码的运行效果,祝学习愉快~
chrismorgen
2018-12-29 15:55:30
因为测试同学的代码是没有问题的,所以建议你clean一下项目工程,然后在用chrome浏览器访问试试,祝学习愉快~
相似问题
登录后可查看更多问答,登录/注册
从网页搭建入门Java Web2018版
- 参与学习 人
- 提交作业 1088 份
- 解答问题 10205 个
如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星