• servlet过滤器简化版


    什么是过滤器
    在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

  • 相关阅读:
    HDOJ 1000 A + B Problem C++解法
    HDU之旅
    C++primer plus第六版课后编程题答案8.8
    C++primer plus第六版课后编程题答案8.6
    C++primer plus第六版课后编程题答案8.5
    C++primer plus第六版课后编程题答案8.3(正解)
    C语言练手自己编写学生成绩管理系统
    C_数据结构
    C---数组名作函数参数
    C---通过指针访问数组
  • 原文地址:https://www.cnblogs.com/dgwblog/p/7635210.html
Copyright © 2020-2023  润新知