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);

这里提一下,也可以实现CookieProvider接口去向cookie写入一些东西。

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

 

假如你想在jsp中获取cookie:

${cookie.key.value}  

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

你可能感兴趣的:(struts2)