首页 > 代码库 > struts2操作cookie总结

struts2操作cookie总结

最近在做项目的时候需要将一些值放入cookie中,所以去了解了cookie,在网上找了一下,竟然没有一篇完整地介绍struts2使用cookie的方法。只好自己去翻文档查资料。整理出一些方法在这里记录一下。

struts2的action要使用cookie,首先需要定义拦截器:

<interceptor-ref name="defaultStack"></interceptor-ref><interceptor-ref name="cookieProvider"></interceptor-ref><interceptor-ref name="cookie">    <param name="cookiesName">ValidationMsg</param>    <param name="cookiesValue">*</param></interceptor-ref>

然后在Action中实现CookieAware接口,

实现方法:

public void setCookiesMap(Map<String, String> cookie) {        this.cookie = cookie;            }

就可以获取cookie;这个方法和sessionAware类似:

cookie.get("key");//可以得到相应key值的cookie的Value

  

怎么样向cookie里面写东西呢?

HttpServletResponse response = ServletActionContext.getResponse();Cookie cookie =  new Cookie("ValidationMsg",user.getUserName()+","+user.getPassword());cookie.setMaxAge(30000); //设置cookie有效期cookie.setPath("/");response.addCookie(cookie);

向cookie中写入用户名和密码,这里稍微提一下密码不能直接写入cookie这样不安全,可以到网上写MD5的进行加密,我这里为了简洁,就不提供加密算法了。

 

假如你想在jsp中获取cookie:

${cookie.key.value}  

这样就可以拿到cookie值了。非常简单方便。