JAVA可以用过滤器向SESSION传值吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA可以用过滤器向SESSION传值吗相关的知识,希望对你有一定的参考价值。

可以的,代码如下

public class SessionFilter implements Filter 
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException 
        HttpServletRequest hrequest = (HttpServletRequest)request;
        HttpSession session=hrequest.getSession();
        session.setAttribute("user","laowang");
    

    public FilterConfig config;

    public void destroy() 
        this.config = null;
    
    public void init(FilterConfig filterConfig) throws ServletException 
        config = filterConfig;
    

参考技术A 毫无疑问是可以的,在filter中,你可以通过request来获取当前session,然后你可以把相关值放到session中 参考技术B 不知道你问的是技术还是规范:
1、技术
过滤器的参数中,有一个是request,通过request.getSession(true)可以获取到关联的session对象(request的类型需要强转),然后通过session.setAttribute设置参数即可。
2、规范
通常来说,上面的情况没有明显的业务场景,一般有的场景是:过滤器检测到一些特殊的情况的时候,直接通过request.setAttribute来将一些配置set到request对象上,这样在servlet/Action/Controller就可以获取到这些参数进行业务处理了。

以上是关于JAVA可以用过滤器向SESSION传值吗的主要内容,如果未能解决你的问题,请参考以下文章

modelmap参数的作用是用put向页面传值吗

java中后台向前端传值的几种方式

Java Web用get提交表单能跳过登陆页面直接通过验证,要避免此情况,编写servlt时可以怎样处理?

过滤器+用session验证是否登陆过

django模板层

前台向后台传值乱码的解决!