servlet-过滤器

it2022-05-05  166

<filter> <filter-name>filter</filter-name> <filter-class>com.study.filter.FilterTest</filter-class> </filter> <filter-mapping> <filter-name>filter</filter-name> <url-pattern>/*</url-pattern><!-- 对所有servlet进行拦截 --> </filter-mapping> <filter> <filter-name>filter2</filter-name> <filter-class>com.study.filter.FilterTest2</filter-class> </filter> <filter-mapping> <filter-name>filter2</filter-name> <url-pattern>*.do</url-pattern><!-- 针对别名为*.do结尾的servlet进行拦截 --> </filter-mapping> <filter> <filter-name>filter3</filter-name> <filter-class>com.study.filter.FilterTest3</filter-class> </filter> <filter-mapping> <filter-name>filter3</filter-name> <url-pattern>/servlet.do</url-pattern><!-- 针对别名为servlet.do的servlet进行拦截 --> </filter-mapping>
注意:/*表示对所有servlet请求进行拦截;   *.do表示对别名为.do的servlet请求进行拦截,不要加“/”,会报错   /servlet.do表示针对单个别名为servlet.do的servlet.do请求进行拦截生命周期:服务器启动到关闭作用:  1.统一编码管理;  2.session管理  3.图片水印,和谐词汇  4.权限管理等 public class FilterTest implements Filter{ @Override public void destroy() { System.out.println("destroy!1"); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); HttpSession session=((HttpServletRequest)request).getSession(); //使用方法:设置编码格式,判断session是否失效 if(session.getAttribute("uname")==null) { //如果session失效,则重新登陆 ((HttpServletResponse)response).sendRedirect("/studyWeb/aJax.jsp"); }else { //通过。执行用户请求的servlet chain.doFilter(request, response);// } //执行完用户请求的servlet后,回来继续执行以下代码 System.out.println("完成!!"); } @Override public void init(FilterConfig arg0) throws ServletException { System.out.println("init"); } }

 

转载于:https://www.cnblogs.com/lastingjava/p/9902604.html


最新回复(0)