zl程序教程

您现在的位置是:首页 >  后端

当前栏目

servlet过滤器简化版

Servlet 过滤器 简化版
2023-09-11 14:17:19 时间

什么是过滤器
在struts2 中集成了过滤器,并可以根据需要选择合适自己的过滤器进行配置 ,

  • 过滤器:是基于函数回调的,运用java中的反射机制工作在struts2只能对于action起作用,在servlet根据需要拦截
  • 拦截器:比过滤器功能更强大,可以拦截所以client请求,以及struts2中值栈的请求

servelt实现过滤器 implement Filter 接口即可
struts2实现过滤器 extends AbstractInterceptor 并覆盖 interceptter方法

这里以标题为准 演示 servlet 拦截器的实现方法

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>fifterDemo</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>

    <!-- 实现拦截器 -->
    <filter>
        <filter-name>filter</filter-name>
        <filter-class>fifterDemo.fifterdemo</filter-class>
    </filter>
    <!-- 拦截器映射 -->
    <filter-mapping>
        <filter-name>filter</filter-name>
        <url-pattern>/*</url-pattern>

    </filter-mapping>
</web-app>

code.java

package fifterDemo;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/**
 * @author DGW
 * @date 2017 2017年5月3日 下午10:15:12
 * @filename fifterdemo.java  @TODO
 */
public class fifterdemo implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {
        if (request.getParameter("user").equals("")) {
            System.out.println("null值 已经过滤");
        }
        RequestDispatcher dispatcher = request
                .getRequestDispatcher("index.jsp");
        dispatcher.forward(request, response);

    }

}

result