Filter过滤器
Filter:过滤器,用于过滤网站数据和垃圾请求
- 处理中文乱码
- 登录验证
开发步骤
-
在pom中引入serlvet依赖
<dependencies> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api-2.5</artifactId> <version>6.1.7</version> </dependency> </dependencies>
-
编写过滤器
- 在过滤器java代码中导入正确的包 javax.servlet
- 实现filter接口,实现其所需要的方法(重点实现doFilter方法)
import javax.servlet.*; import java.io.IOException; /** * @author wj * @date 2021/7/12 - 10:30 */ public class filterServlet implements Filter { //初始化 @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("过滤器初始化.."); } //过滤具体操作 @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { //处理乱码问题 servletRequest.setCharacterEncoding("utf-8"); servletResponse.setCharacterEncoding("utf-8"); servletResponse.setContentType("text/html"); System.out.println("问题处理中.."); filterChain.doFilter(servletRequest,servletResponse); System.out.println("问题处理完成.."); } //销毁 @Override public void destroy() { System.out.println("过滤器销毁.."); } }
-
在web.xml中配置过滤器
<filter>
<filter-name>filter</filter-name>
<filter-class>com.wj.filter.filterServlet</filter-class>
</filter>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping>
Filterchain(链)作用:
- 过滤所有代码,在过滤特定请求时候都会执行
- 必须使过滤器继续通行
filterChain.doFilter(servletRequest,servletResponse);