zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    finalShell 文件上传拖拽失败
    centos6.x 启动docker报错
    笔记本查看当前登录用户
    保存文件到D盘时显示“你没有权限在此文件夹中保存文件,请联系管理员“其他文件夹正常?
    关于MongoDB配置文件的一个小细节
    ubuntu: mongoDB安装,无需下载
    Java 连接虚拟机中MongoDB 所需依赖
    信息知识竞赛刷题助手
    python超多常用知识记录
    python字典键或值去重
  • 原文地址:https://www.cnblogs.com/dgwblog/p/7635210.html
Copyright © 2011-2022 走看看