<%
request.setCharacterEncoding("utf-8");
//判断是否选中复选框(因为怕会有多个复选框,所以得是字符串数组)
String[] checks=request.getParameterValues("checkbox");
if(checks!=null&&checks.length>0){
//保存用户信息(编码)
String userName=URLEncoder.encode(request.getParameter("userName"),"utf-8");
String password=URLEncoder.encode(request.getParameter("password"),"utf-8");
//创建cookie对象
Cookie userNameCookie=new Cookie("userName",userName);
Cookie passwordCookie=new Cookie("password",password);
//设置有效时间
userNameCookie.setMaxAge(864000);
passwordCookie.setMaxAge(864000);
//加入到cookie数组中
response.addCookie(userNameCookie);
response.addCookie(passwordCookie);
}
else{
//如果没有选中,先判断是否使用了cookie,那么就将它的有效时间设为零
Cookie[] cookies=request.getCookies();
if(cookies!=null&&cookies.length>0){
for(Cookie c:cookies){
if(c.getName().equals("userName")||c.getName().equals("password")){
c.setMaxAge(0);//设置有效时间为零
response.addCookie(c);//重新加入
}
}
}
}
%>
<br>
<!-- 这个是用超链接链接到information页面 -->
<!--<a href="information.jsp">information</a>-->
<!-- 这个是用forward跳转到information页面 -->
<jsp:forward page="information.jsp">
<jsp:param value="123456" name="password"/>
</jsp:forward>
<jsp:param name="" value=""/>设置参数值,通过出来request.getParameter("")取出值来,把值放入cookie:
cookie.setValue() 和 response.addCookie(cookie)
将cookie中保存的密码改变:cookie.setValue();然后再esponse.addCookie(cookieName);
<jsp:param name="me" value="va"/>是用来传递参数的,可以通过request.getParameter("me")来获取va.
这是两个不同的概念,cookie是保存在客户端的,
用<jsp:forward>这个动作标签不可以将cookie中保存的密码改变!!!