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