哪位大神能告诉我为什么我在servlet新建的cookie在jsp页面打开的时候读cookie却没有了?
cookiestest:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)th...
cookiestest:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name=request.getParameter("name");
String pwd=request.getParameter("pwd");
Cookie ouser=new Cookie("ouser",name+"-"+pwd);
ouser.setMaxAge(3600);
response.addCookie(ouser);
System.out.println(request.getHeader("Cookie"));
Cookie[] cookies=request.getCookies();
if(cookies != null)
{
for(int i=0;i<cookies.length;i++)
{
if(cookies[i].getName().equals("ouser"))
{
String sname=cookies[i].getValue().split("-")[0];
String spwd=cookies[i].getValue().split("-")[1];
}
}
}
request.getRequestDispatcher("/MyJsp.jsp").forward(request, response);
}
}
jsp页面:
<%
System.out.println(request.getHeader("Cookie"));
Cookie[] cookies=request.getCookies();
String sname="";
String spwd="";
if(cookies != null)
{
for(int i=0;i<cookies.length;i++)
{
System.out.println("程序运行到了这里11");
if(cookies[i].getName().equals("ouser"))
{
sname=cookies[i].getValue().split("-")[0];
spwd=cookies[i].getValue().split("-")[1];
System.out.println("sname的值为:"+sname);
System.out.println("spwd的值为:"+spwd);
}
}
}
%> 展开
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name=request.getParameter("name");
String pwd=request.getParameter("pwd");
Cookie ouser=new Cookie("ouser",name+"-"+pwd);
ouser.setMaxAge(3600);
response.addCookie(ouser);
System.out.println(request.getHeader("Cookie"));
Cookie[] cookies=request.getCookies();
if(cookies != null)
{
for(int i=0;i<cookies.length;i++)
{
if(cookies[i].getName().equals("ouser"))
{
String sname=cookies[i].getValue().split("-")[0];
String spwd=cookies[i].getValue().split("-")[1];
}
}
}
request.getRequestDispatcher("/MyJsp.jsp").forward(request, response);
}
}
jsp页面:
<%
System.out.println(request.getHeader("Cookie"));
Cookie[] cookies=request.getCookies();
String sname="";
String spwd="";
if(cookies != null)
{
for(int i=0;i<cookies.length;i++)
{
System.out.println("程序运行到了这里11");
if(cookies[i].getName().equals("ouser"))
{
sname=cookies[i].getValue().split("-")[0];
spwd=cookies[i].getValue().split("-")[1];
System.out.println("sname的值为:"+sname);
System.out.println("spwd的值为:"+spwd);
}
}
}
%> 展开
1个回答
展开全部
是银烂不是说 你没有设置 cookie的 路径。 cookie.setPath("/");
例散迅:
//新建一个Cookie,并设置名字和值。
cookie =new Cookie("aa","ss");
cookie.setMaxAge(60*60*24*2);
//设置Cookie的有效路径,“/”即该应用下都可以访问该Cookie;
//如果不设置路径,那么只有设置该Cookie路径及其子路径可以访问.
cookie.setPath("/冲搏此");
//将Cookie添加到HTTP响应中去
response.addCookie(cookie);
jsp和Servlet之间设置和读取Cookie时出现问题的话,一般是因为path的问题,此时通过调用Cookie.setPath来设定Cookie的path
例散迅:
//新建一个Cookie,并设置名字和值。
cookie =new Cookie("aa","ss");
cookie.setMaxAge(60*60*24*2);
//设置Cookie的有效路径,“/”即该应用下都可以访问该Cookie;
//如果不设置路径,那么只有设置该Cookie路径及其子路径可以访问.
cookie.setPath("/冲搏此");
//将Cookie添加到HTTP响应中去
response.addCookie(cookie);
jsp和Servlet之间设置和读取Cookie时出现问题的话,一般是因为path的问题,此时通过调用Cookie.setPath来设定Cookie的path
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询