`
ryanflyer
  • 浏览: 102403 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Tomcat与web开发技术详解读书笔记(2)过滤器

 
阅读更多

1.简介

  • 过滤器能够在ServletJSPHTMLweb组件被调用之前检查ServletRequest对象,修改请求头和请求正文的内容或者对请求进行预处理操作
  • 能够在ServletJSPHTMLweb组件被调用之后检查ServletReponse对象,修改响应头和响应正文。
  • 利用包装类ServletRequestWrapperServletResponseWrapper来修改ServletRequest对象和ServletResponse对象。

2.如何创建过滤器?

必须实现javax.servlet.Filter接口。

  • init(FilterConfig config):过滤器初始化方法。Web应用启动时,Servlet容器首先创建FilterConfig对象(包含过滤器配置信息),然后创建Filter对象,接着调用Filter对象的init(FilterConfig config)方法,读取web.xml中的配置参数。
  •  public class LoginFilter implements Filter{
        private FilterConfig config;
        
        private String username;
    
        @Override
        public void destroy() {
            this.config = null;
        }
    
        @Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
            ServletException {
            //HttpServletRequest httpRequest = (HttpServletRequest)request;
            HttpServletResponse httpResponse = (HttpServletResponse)response;
            System.out.println("登录过滤器验证");
            if(StringUtils.equalsIgnoreCase(username, "flyer")){
                System.out.println("验证通过");
                chain.doFilter(request, response);
            }else {
                System.out.println("验证被拦截");
                httpResponse.sendRedirect("login.jsp");
            }
        }
    
        @Override
        public void init(FilterConfig config) throws ServletException {
            this.config = config;
            username = config.getInitParameter("username");
        }
    
    }
      
    web.xml中添加过滤器配置

     

     

    Xml代码 
    1. <filter>  
    2.         <filter-name>loginFilter</filter-name>  
    3.         <filter-class>com.flyer.filter.LoginFilter</filter-class>  
    4.         <init-param>  
    5.             <param-name>username</param-name>  
    6.             <param-value>flyer</param-value>  
    7.         </init-param>  
    8.     </filter>  
    9.     <filter-mapping>  
    10.         <filter-name>loginFilter</filter-name>  
    11.         <url-pattern>  
    12.             /*  
    13.         </url-pattern>  
    14.     </filter-mapping>  
     web开发中常用的字符集编码过滤器

     

     

    Xml代码 
    1. <filter>  
    2.         <filter-name>encodingFilter</filter-name>  
    3.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
    4.         <init-param>  
    5.             <param-name>encoding</param-name>  
    6.             <param-value>  
    7.                 UTF-8  
    8.             </param-value>  
    9.         </init-param>  
    10.     </filter>  
    11.     <!-- 过滤器能为所有的url过滤 -->  
    12.     <filter-mapping>  
    13.         <filter-name>encodingFilter</filter-name>  
    14.         <url-pattern>  
    15.             /*  
    16.         </url-pattern>  
    17.     </filter-mapping>  
     补充:Servlet监听器   类似与Swing界面应用开发,Servlet也可以创建监听器,以对Servlet容器,或Servlet中以象的事件做出反应。Servlet监听器主要有以下几种: ServletRequestListener ,ServletRequestAttributeListener, HttpSessionActivationListener ,HttpSessionBindingListener , HttpSessionAttributeListener,HttpSessionListener, ServletContextListener等等。   这些监听器主要用来监听session,request,application这三个对象里存取数据的变化。 


 

分享到:
评论

相关推荐

    struts2技巧,笔记.zip指定404,500页面 utf-8过滤器 防SQL注入 解决乱码

    这个压缩包文件包含了一系列与Struts2相关的技术点,主要集中在错误页面配置、字符编码问题、防止SQL注入和Struts2框架的特性上。以下是这些知识点的详细解释: 1. **错误页面配置**: 在Web应用中,当请求无法...

    Filter过滤器笔记1

    在Java Web开发中,Filter过滤器是一种强大的工具,它属于JavaEE规范中的重要组成部分,与Servlet程序、Listener监听器并称为三大组件。Filter的主要职责是拦截客户端的请求和服务器的响应,从而实现数据过滤、权限...

    Struts2超详细学习笔记分享(献给自学新人)

    3. **过滤器链**:其他过滤器执行,如数据校验,权限验证等。 4. **FilterDispatcher**:作为Struts2的前端控制器,负责整个应用的综合调度。 5. **ActionMapper**:匹配请求与Action,将请求参数映射到值栈。 6. **...

    Tomcat源码研究.pdf

    - **扩展性**:Tomcat 6支持多种方式扩展其功能,例如通过部署过滤器、监听器以及自定义实现Connector接口等。 #### 1.4 Tomcat 6 的整体架构 - **层次结构**:从顶层开始,依次是Server、Service、Connector和...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    韩顺平servlet笔记

    - "51CTO下载-韩顺平2011最细servlet笔记2.doc" 可能进一步探讨了Tomcat服务器的安装、配置与管理,包括端口号设置、虚拟主机配置、部署Web应用等。此外,可能还会讲解Cookie和Session的创建、存储、读取、过期策略...

    Struts2入门笔记

    - **web.xml**:配置Struts2的Servlet过滤器**FilterDispatcher**。 - **struts.xml**:配置web应用的执行环境,包括Action的定义、拦截器配置等。 - **struts.properties**:配置web应用的组件属性,例如国际化资源...

    javaweb 学习笔记

    以上是关于 JavaWeb 学习笔记中提到的主要知识点,包括 Web 应用的基本概念、目录结构、配置文件详解以及 Tomcat 的虚拟目录和虚拟主机配置方法。希望这些内容能帮助初学者更好地理解 JavaWeb 开发的核心要素和技术...

    Struts2_Action学习笔记、通配符{1},{2}

    ### Struts2_Action 学习笔记与通配符配置详解 #### 一、Struts2简介及简单配置 Struts2是一个基于Java EE平台的开源Web应用框架,它继承了Struts1的优点,并在此基础上进行了大量的改进。Struts2的核心功能之一是...

    javaWed笔记

    ### JavaWeb笔记知识点详解 #### 一、使用通配符“*”拦截...通过以上内容的学习,我们可以了解到在JavaWeb项目开发中,过滤器的配置对于实现特定功能的重要性,以及如何利用HTML和相关技术构建出功能完整的Web应用。

    SSH框架整合笔记

    该文件是Web应用的核心配置文件之一,用于配置Servlet容器的初始化参数、监听器、过滤器等。 ##### 2. 导入依赖包 - **所需JAR包**: - Struts2核心库(例如:`struts2-core-2.2.24.jar`) - Tomcat相关的JAR包...

    JAVA-SSH三层架构搭建学习笔记

    - **添加Struts过滤器**:在`web.xml`文件中,于`&lt;welcome-file-list&gt;`前添加Struts2的过滤器配置: ```xml &lt;filter-name&gt;struts2 &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter....

    Servlet学习笔记

    - **web.xml配置文件**:是Web应用程序的核心配置文件,用于声明Servlet、过滤器等组件,并设置它们的初始化参数。 #### 四、Servlet部署与调用 - **部署Servlet**: - 在`web.xml`文件中配置Servlet的信息,包括...

    JSP Servlet笔记 (by金万林)

    `web.xml`是Web应用的部署描述符,用于配置Servlet、过滤器、监听器、会话超时、安全约束等。`*`通配符用于匹配多个元素,但其优先级需要根据具体配置规则理解。 ### 开发调试技巧 1. **显示URL列表** - 开发期间...

    servlet学习笔记

    ### servlet学习笔记详解 #### Tomcat介绍 **Tomcat服务器**是基于Sun公司的JSWDK(Java Servlet and Web Development Kit)发展而来的杰出Servlet/JSP容器。作为Apache-Jakarta项目的一部分,Tomcat不仅能够执行...

    servlet笔记

    ### Servlet基础知识与核心技术详解 #### 一、Servlet简介与Web服务器配置 ##### 1.1 Servlet简介 - **Servlet** 是服务器端的小程序,相对于客户端的 Applet 而言。它可以在服务器端运行,接收来自客户端的 ...

    ELK学习笔记.docx elasticsearch logstash kibana 环境搭建开发

    - **定义LogstashFilter:Tomcat**:定义过滤器。 - **重启logstash**:同前。 - **FilebeatProspector:Tomcat**:在Filebeat配置中指定Tomcat日志文件路径。 - **重启filebeat**:同前。 以上就是从给定文档中的...

    jsd1906 达内 07-Servlet.rar

    **Servlet技术详解** Servlet是Java Web开发中的核心组件之一,它是一种服务器端的Java应用程序,主要用于处理客户端(浏览器)发送的请求并返回响应。在"jsd1906 达内 07-Servlet.rar"这个压缩包中,包含了关于...

    jsp106实验室预约管理系统.zip

    4. 配置Web应用:在web.xml中配置Servlet映射,设置过滤器,定义全局初始化参数。 5. 部署与测试:将项目打包成WAR文件,部署到Tomcat等应用服务器上,进行功能测试和性能测试。 四、远程部署与维护 系统支持远程...

Global site tag (gtag.js) - Google Analytics