Filter是拦截Request请求的对象:在用户的请求访 问资源前处理ServletRequest以及ServletResponse,它可 用于日志记录、加解密、Session检查、图像文件保护 等。通过Filter可以拦截处理某个资源或者某些资源。 Filter的配置可以通过Annotation或者部署描述来完成。 当一个资源或者某些资源需要被多个Filter所使用到, 且它的触发顺序很重要时,只能通过部署描述来配置。

在web.xml 文件中 增加如下配置
<filter>
<filter-name>FrameFilter</filter-name>
<filter-class>com.fh.filter.FrameFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>FrameFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class FrameFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
filterChain.doFilter(request, response);
}
@Override
public void destroy() {
}
}
本文介绍了Spring Filter的用途,如日志记录、加解密和Session检查等,并讲解了如何通过web.xml文件进行配置,强调了当多个Filter处理同一资源时的顺序设定重要性。

4043

被折叠的 条评论
为什么被折叠?



