“---------------index.jsp--------------------”
<html>
<head>
<title>登陆</title>
</head>
<body>
<center>
<h1>
<font color="blue">
用户登录
</font>
</h1>
<hr>
<form action=1.jsp method=post>
<%!String name;%>
<%!String pass; %>
<%!Cookie cookie;%>
<%@ page contentType="text/html;charset=gb2312"%>
<%
Cookie cookies[]=request.getCookies();
if (cookies != null) {
name=null;
pass=null;
for (int i = 0; i < cookies.length; i++) {
cookie = cookies[i];
if (cookie.getName().equals("cookiename")) {
name = cookie.getValue();
}
if (cookie.getName().equals("cookiepass")) {
pass = cookie.getValue();
}
}
%>
用户名称:<input type="text" value=<%=name%> name=loginname><br>
密码: <input type="Password" value=<%=pass%> name=loginpass><br>
<%
}
else
{
%>
用户名称:<input type="text" name=loginname ><br>
密码: <input type="Password" name=loginpass ><br>
<%
}
%>
<input type=checkbox name=rememberme1 value=on>记住用户名<br>
<input type=checkbox name=rememberme2 value=on>记住密码<br>
<input type=submit value="登陆">
<input type=reset value="重置"><BR>
</center>
</body>
</html>
“----------------1.jsp-----------------”
<%@ page contentType="text/html;charset=gb2312"%>
<%!String name;%>
<%!String pass; %>
<%
String userName=request.getParameter("loginname");
String userPass=request.getParameter("loginpass");
String rememberMe1=request.getParameter("rememberme1");
String rememberMe2=request.getParameter("rememberme2");
boolean bool=false;
if (userName.equals("abcd") && userPass.equals("1234")){
if(rememberMe1 != null && rememberMe1.equals("on")){
Cookie myCookie1=new Cookie("cookiename",userName);
myCookie1.setMaxAge(10);
response.addCookie(myCookie1);
}
if(rememberMe2 != null && rememberMe2.equals("on")){
Cookie myCookie2=new Cookie("cookiepass",userPass);
myCookie2.setMaxAge(10);
response.addCookie(myCookie2);
}
bool=true;
}
if(bool){
response.sendRedirect("login.jsp");
}
%>
第一次登陆
用户名:
密码:
后面是空白的
但是按下F5后就变成
用户名 :NULL
密码 :NULL
并没有添加cookie为什么会这样,求没添加cookie刷新后是空白的
------解决方案--------------------------------------------------------
原因应该是你刷新后浏览器就会产生一个session,叫JSESSIONID,所以就有了你那个效果。
建议在判断name和pass是否为空,之后再执行
用户名称:
<input type="text" value=<%=name%> name=loginname>
<br>
密码:
<input type="Password" value=<%=pass%> name=loginpass>