问答详情
源自:7-5 param动作

用<jsp:forward>这个动作标签如何将cookie中保存的密码改变?

<%

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>


提问者:零句点 2015-10-07 11:12

个回答

  • 不逃课
    2016-02-25 18:13:06
    已采纳


    <jsp:param name="" value=""/>设置参数值,通过出来request.getParameter("")取出值来,把值放入cookie:

    cookie.setValue() 和 response.addCookie(cookie)



  • qq_甘蔗_0
    2015-12-02 22:13:38

    将cookie中保存的密码改变:cookie.setValue();然后再esponse.addCookie(cookieName);

    <jsp:param  name="me" value="va"/>是用来传递参数的,可以通过request.getParameter("me")来获取va.

    这是两个不同的概念,cookie是保存在客户端的,

    用<jsp:forward>这个动作标签不可以将cookie中保存的密码改变!!!