Filter 过滤器
Filter 过滤器它是 JavaWeb 的三大组件之一。
三大组件分别是:Servlet 程序、Listener 监听器、Filter 过滤器
Filter 过滤器它是 JavaEE 的规范。也就是接口
Filter 过滤器它的作用是:拦截请求,过滤响应。
Filter 过滤器的使用
下面展示一些 内联代码片
。
/**
* doFilter 方法,专门用来拦截请求,可以做权限检查
* @param servletRequest
* @param servletResponse
* @param filterChain
* @throws IOException
* @throws ServletException
*/
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
HttpSession session = httpServletRequest.getSession();
Object user = session.getAttribute("user");
// 如果 user = null; 说明 user 还没有登陆
if (user == null) {
httpServletRequest.getRequestDispatcher("/login.jsp").forward(httpServletRequest,servletResponse);
return; // 一般请求转发后,就不允许再执行任何代码,这里就直接return了
} else {
// 让程序继续往下访问用户的目标资源
filterChain.doFilter(servletRequest,servletResponse);
}
}
使用Filter实现用户自动登录