在过滤器中使用request.setAttribute()方法,可以将数据存储在HttpServletRequest对象中,以便在请求转发或重定向到其他页面时传递数据。以下是一个简单的示例:
public class MyFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
// 在request中设置属性
httpRequest.setAttribute("myAttribute", "Hello, World!");
// 继续调用下一个过滤器或处理请求
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// 初始化方法
}
@Override
public void destroy() {
// 销毁方法
}
}
在上面的示例中,我们在过滤器中使用request.setAttribute()方法将名为"myAttribute"的属性设置为"Hello, World!"。在处理完当前过滤器的逻辑后,可以继续调用chain.doFilter()方法来继续处理请求。在目标页面或Servlet中,可以通过request.getAttribute(“myAttribute”)来获取存储在HttpServletRequest对象中的属性值。