加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – 想要创建一个过滤器来检查cookie,然后从控制器保存对象

发布时间:2020-12-15 01:40:33 所属栏目:大数据 来源:网络整理
导读:我想创建一个在我的任何spring mvc控制器操作之前执行的过滤器. 我想检查cookie的存在,然后只为当前请求存储一个对象. 然后我需要从我的控制器动作中引用这个对象(如果它存在). 关于如何做到这一点的建议? 最佳答案 创建过滤器只是创建一个实现javax.servle

我想创建一个在我的任何spring mvc控制器操作之前执行的过滤器.

我想检查cookie的存在,然后只为当前请求存储一个对象.

然后我需要从我的控制器动作中引用这个对象(如果它存在).

关于如何做到这一点的建议?

最佳答案
创建过滤器只是创建一个实现javax.servlet.Filter的类,在你的情况下可以是这样的

public class CookieFilter implements Filter {
????public void doFilter(ServletRequest req,ServletResponse res,FilterChain chain) throws IOException,ServletException {
????????HttpServletRequest request = (HttpServletRequest) req;
?       
        Cookie[] cookies = request.getCookies();
        if (cookies != null){
          for (Cookie ck : cookies) {
            if ("nameOfMyCookie".equals(ck.getName())) {
                // read the cookie etc,etc
                // ....
                // set an object in the current request
                request.setAttribute("myCoolObject",myObject)
            }
        }
????????chain.doFilter(request,res);
????}
????public void init(FilterConfig config) throws ServletException {
        // some initialization code called when the filter is loaded
????}
????public void destroy() {
        // executed when the filter is unloaded
????}
}

然后在web.xml中声明过滤器

此时在您的控制器中,只需使用request.getAttribute(“myCoolObject”)检查请求中是否存在attibute

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读