过滤器Filter
Filter:过滤器,用来过滤网站的数据
- 处理中文乱码
- 登录验证
Filter开发步骤
-
导包
导入Servlet,jsp,jstl,stander
mysql-connector-java
-
编写过滤器
-
导包不要错(Servlet.Filter)
-
实现Filter接口,重写对应的方法
import javax.servlet.*; import java.io.IOException; public class FilterTest implements javax.servlet.Filter { //初始化:web服务器启动,就已经初始化了,随时等待过滤对象出现 public void init(FilterConfig filterConfig) throws ServletException { System.out.println("初始化"); } //chain:链 /* 1. 过滤器中的所有代码,在过滤特定请求时都会执行 2. 必须要让过滤器继续执行 * */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charse=UTF-8"); System.out.println("过滤器执行前"); chain.doFilter(request,response);//让请求继续走,如果不写,程序在这里停止 System.out.println("过滤器执行后"); } //销毁:web服务器关闭的时候,服务器销毁 public void destroy() { System.out.println("销毁"); } }
-
在web.xml中配置Filter过滤器
<filter> <filter-name>FileterTest</filter-name> <filter-class>FilterTest</filter-class> </filter> <filter-mapping> <filter-name>FileterTest</filter-name> <!--只要是/Servlet下的任何请求,都会经过这个过滤器--> <url-pattern>/servlet/*</url-pattern> </filter-mapping>
-