jsp-Filter

Filter就是过滤器,对httpRequest预处理后交给Servlet,对Servlet的httpResponse处理后返回给用户。

创建一个Filter只需两个步骤:1.创建filter处理类;2.web.xml中配置Filter 采用注解形式。

@WebFilter

上面的例子负责拦截所有用户请求,并将请求的信息记录在日志中。

如果需要检查权限,可以在Filter类中对用户的Session进行判断,如果没有登录,跳转到登陆页面,否则正常放行即可。


 web.xml配置

一个例子见下:
	<filter>
		<filter-name>WebServiceFilter</filter-name>
		<filter-class>com.likeyichu.webservice.filter.WebServiceFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>WebServiceFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

例子

最简单的,维护一个访问控制列表,不在其中就返回403 Forbidden。
	public void doFilter(ServletRequest request,
		ServletResponse response, FilterChain chain)
		throws ServletException, IOException
	{
		if(!acl.contains(request.getRemoteHost())){
			HttpServletResponse resp = (HttpServletResponse) response;
			//403返回  哈哈哈
			resp.sendError(HttpServletResponse.SC_FORBIDDEN);
			return;
		}
		chain.doFilter(request, response);
	}


你可能感兴趣的:(jsp-Filter)