过滤器的简单实例
思路: 在web.xml配置过滤器(过滤器的作用是过滤一些用户访问的页面是否合法,然后进行处理)
web.xml
<filter>
<filter-name>qnFilter</filter-name>
<filter-class>com.bdqn.core.QnFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>qnFilter</filter-name>
<url-pattern>/*</url-pattern>
</flter-mapping>
com.bdqn.core.QnFilter.java
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain chain) throws IOException, ServletException {
//将ServletRequest转换为HttpServletRequest
HttpServletRequest req=(HttpServletRequest)arg0;
//得到请求的url地址
String uri=req.getRequestURI();
//打印
System.out.println(uri);
//得到请求的主要地址
String contextPath=req.getContextPath();
//把uri替换成空格
String path=uri.replaceFilrst(contextPath+"/","");
//打印 http://localhost:8080/strTest/test 结果test
System.out.printlnI(path);
//进行判断
if("test”.equals(path)){
//如果地址是http://localhost:8080/strTest/test
req.getRequestDispathcher("test.jsp").forward(arg0,arg1);
return ;
else if("path".equals(path)){
req.getRequestDispathcher("path.jsp").forward(arg0,arg1);
return ;
}
chain.doFilter(arg0,arg1);
}