老师要求我们做了个学生管理系统,登录页面的表单提交,是这样写的 <form name="loginForm" action="DOlogin.jsp" method="post" >
<p>用户名:<input type="text" name="userNa" id="001" size="30" value="<%=username %>" /></p>
<p>密 码:<input type="password" name="passWo" id="002" size="30" value="<%=passWord %>"/></p>
<p><input type="checkbox" name="isuser" />十天内免登陆</p>
<input type="submit" name="subm" value="登录" />
</form>
java代码是这样的:
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
String username="";
String passWord="";
Cookie[] coo=request.getCookies();
if(coo!=null&&coo.length>0){
//System.out.print("cookie");
//System.out.println(coo.length);
for(Cookie c:coo){
// System.out.println(c.getName()+"login");
System.out.println(c.getName());
if(c.getName().equals("name")){
System.out.print(c.getValue());
username=c.getValue(); // 为啥是空值呢
}
// else if(c.getName().equals("password")){
System.out.println(username);//这个是空值
System.out.println(passWord);//这个也是空值
passWord=c.getValue();
// }
}
}
%>
登录验证和用Cookie保存数据的网页是这样写的:
Users user=new Users();
String userName=request.getParameter("userNa").trim();
String passwo=request.getParameter("passWo").trim();
user.setUserName(userName);
user.setPassWord(passwo);
Users_BIZ ub=new Users_BIZ_Impl();
boolean flag=ub.login(user);
if(flag){
response.sendRedirect("DOinfo.jsp");
//session.setAttribute("user", user);
}else{
response.sendRedirect("login.jsp");
}
//创建cookie
String[] isuser = request.getParameterValues("isuser");
if(isuser!=null&&isuser.length>0){
System.out.println("乖 听话");
Cookie usernameCookie=new Cookie("name",userName);
Cookie passwordCookie=new Cookie("password",passwo);
System.out.println(usernameCookie.getValue()+"啊啊啊啊啊");
usernameCookie.setMaxAge(86400);
passwordCookie.setMaxAge(86400);
response.addCookie(usernameCookie);
response.addCookie(passwordCookie);
Cookie[] cooo=new Cookie[]{};
System.out.println(cooo.length+"Cookie的长度") ;
}else{
Cookie[] us=request.getCookies();
if(us!=null&&us.length>0){
for(Cookie co:us){
if(co.getName().equals("name")||co.getName().equals("password")){
co.setMaxAge(0);
response.addCookie(co);
}
}
}
}
%>
为啥关闭网页或者重新登录的时候获得不到cookie里面的值呢?
我明明穿过来两个值为啥cookie里只有一个叫jsessionid的值,这家伙是个什么东西?
小弟穷!一个c币,新手脑门磕地板跪求真相!!求大神指点!!
关于jsessionid和Cookie的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- lzj0327 2016-06-03 00:57关注
cookie的设置应该在这段话的前面
if(flag){ response.sendRedirect("DOinfo.jsp"); //session.setAttribute("user", user); }else{ response.sendRedirect("login.jsp"); } response.sendRedirect("login.jsp");已经设置输出后不会将cookie放进去
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报