[JavaWeb] Servlet Filter
2021-06-28 08:05
标签:instance pat enc des 获得 vax 项目 get 后端 作用: Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。 可以将一个或多个 Servlet 过滤器附加到一个 Servlet 或一组 Servlet。Servlet 过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。调用 Servlet 前调用所有附加的 Servlet 过滤器。 Servlet 过滤器是可用于 Servlet 编程的 Java 类,可以实现以下目的: 编写Filter实际上是实现Filter接口,在调用servlet之前会先经过过滤器 步骤: 新建一个Filter类,然后编写必要的initFilter和doFilter方法 之后需要在web.xml里面进行注册,配置Filter的名字,所作用的servlet等 一个Javaweb项目中可以有多个Filter,形成一个过滤器链,调用他们的顺序取决于他们在web.xml中的位置,在前则先调用,在后则后调用 Filter的生命周期: Filter对象的创建由Web服务器负责,在Web服务器启动的时候会创建一个Filter对象,并调用initFilter方法进行初始化,并且整个过程initFilter方法只执行一次,只创建一个Filter对象 每次filter进行拦截都会执行 销毁对象时执行 持续更新!! [JavaWeb] Servlet Filter 标签:instance pat enc des 获得 vax 项目 get 后端 原文地址:https://www.cnblogs.com/Yintianhao/p/9649624.html
package com.example.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
@WebFilter(filterName = "FirstFilter")
public class FirstFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
System.out.println("doFilter www.baidu.com");
chain.doFilter(req, resp);
}
public void init(FilterConfig config) throws ServletException {
//获得初始化参数
String siteName = config.getInitParameter("Site");
System.out.println("initFilter "+siteName);
}
}
xml version="1.0" encoding="UTF-8"?>
web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
servlet>
servlet-name>FirstServletservlet-name>
servlet-class>com.example.servlet.FirstServletservlet-class>
servlet>
servlet-mapping>
servlet-name>FirstServletservlet-name>
url-pattern>/TomcatTest/FirstServleturl-pattern>
servlet-mapping>
servlet>
servlet-name>DisplayServletservlet-name>
servlet-class>com.example.servlet.DisplayServletservlet-class>
servlet>
servlet-mapping>
servlet-name>DisplayServletservlet-name>
url-pattern>/TomcatTest/DisplayServleturl-pattern>
servlet-mapping>
filter>
filter-name>FirstFilterfilter-name>
filter-class>com.example.filter.FirstFilterfilter-class>
init-param>
param-name>Siteparam-name>
param-value>www.baidu.comparam-value>
init-param>
filter>
filter-mapping>
filter-name>FirstFilterfilter-name>
url-pattern>/TomcatTest/DisplayServleturl-pattern>
filter-mapping>
web-app>
public void init(FilterConfig config)
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
public void destroy()
上一篇:WC项目——python实现
下一篇:Java实现WC.exe功能