`
accpxudajian
  • 浏览: 458821 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

web.xml配置详解之监听器

    博客分类:
  • Web
阅读更多
<!-- 监听器的配置:监听器配置完以后,应用系统在启动的时候就会开启这些监听器。

    监听器的理解:监听器好比一个卫兵,卫兵一直站在那里等待长官的命令,当卫兵收到长官的命令以后,立即执行

    之前已经协定好的事件。

    java中的监听器,监听应用的事件,具体有什么事件,以及对每个事件的处理方式都在类中定义了,

    所以,监听器不需要参数、不具有返回值只是一味的等待指令然后执行既定的名利,也就是执行相应的操作,

    也就是说,监听器一旦写完,只是拿过来用就可以,没有方法,没有get set,没有参数,只使用其他什么都没有。

    还是不大理解 以后再了解了解

 -->

    <listener>

       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

       <!--使用spring的上下文加载监听器:可能的作用是:在web应用加载系统应用资源文件,也就是加载那些xml文件的时候,

       会建立一些监听器。譬如监听xml文件内容的变化

         -->

    </listener>

    <listener>

        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>

       <!-- 实例化一个spring的关于请求的上下文的监听器 -->

    </listener>

    <listener>

       <listener-class>org.hdht.commonweb.listener.MyServletContextListener</listener-class>

       <!-- 实例化一个自定义的监听器。监听器主要代码

public class MyServletContextListener implements ServletContextListener {

    public void contextDestroyed(ServletContextEvent arg0) {

    }

    public void contextInitialized(ServletContextEvent arg0) {

       try {

           // 初始化日志处理器

           AppLogService.init();//初始化系统用到的变量,主要是静态变量。

           System.out.println("INFO:数据初始化完毕");//djflag

           

       } catch (Exception e) {

           AppLogService.error("系统初始化错误!",e);

       }

    }

}

这是一个继承了服务器上下文监听器接口的监听器,这个监听器主要有两个必须实现的方法:

    contextInitialized:当web服务器启动时执行的方法,该方法主要用来初始化系统的变量,多半是静态变量。 

    contextDestroyed:当web服务器关闭的时候调用的方法,主要是销毁一些内存变量,释放资源。

        -->

    </listener>

<filter>

       <filter-name>headerFilter</filter-name>

       <!-- 声明一个过滤器 名字叫:headerFilter 顾名思义是用来过滤文件头部的 -->

       <filter-class>org.hdht.commonweb.filter.HeaderFilter</filter-class>

       <!-- 过滤器的实例化类是自定义的过滤器:关键代码:

public class HeaderFilter implements Filter {

    public void init(FilterConfig arg0) throws ServletException {

    }

    public void doFilter(ServletRequest req, ServletResponse res,

           FilterChain chain) throws IOException, ServletException {

       HttpServletRequest request = (HttpServletRequest) req;

       HttpServletResponse response = (HttpServletResponse) res;

       response.setHeader("Pragma", "no-cache");

       response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");

       response.setHeader("Expires", "-1");

       chain.doFilter(req, res);

    }

    public void destroy() {

  }

}      

    通过上边filter的配置:我们配置了一个自定义的过滤器,过滤器的名字是headerFilter,实例化类似自定义的类:HearderFilter,该过滤器的主要作用是对设置页面不采用缓存。

 -->

    </filter>

    <filter-mapping>

       <filter-name>headerFilter</filter-name>

       <!-- 过滤器映射名称 -->

       <url-pattern>*.jsp</url-pattern>

       <!-- 过滤器映射文件:所有的jsp文件。 -->

    </filter-mapping>

    <!-- 通过上边的ffilter-mapping的配置: 我们将过滤器headerFilter映射到所有的jsp文件。

这样所有的jsp文件的头部就都会设置不适用缓存处理页面。这个过滤器主要用于经常和数据库有交互的页面中。-->


    <!-- 权限过滤器:判断用户是否登录的过滤器 -->

    <filter>

      <filter-name>uimfilter</filter-name>

      <!--声明一个过滤器的:uimfilter 主要的作用是检测用户是否登录 -->

      <filter-class>org.hdht.commonweb.filter.PermissionFilter</filter-class>

      <!-- uimfilter过滤器的实例化类 是自定义的过滤器类

        java代码主要是对session进行判断,判断表示用户登录的session变量是否存在,如果不存在就重定向到登陆界面。

      通过上边filter的配置:我们定义了一个名字叫做uimfilter的权限过滤器,这个过滤器的实例化类是自定义的java类,

      主要对用户是否登录做出判断,并根据判断结果作相应的处理:继续操作还是重定向登录

       -->

    </filter>

    <filter-mapping>

      <filter-name>uimfilter</filter-name>

      <url-pattern>*.jsp</url-pattern>

      <!-- 将权限过滤器映射给所有的jsp文件 -->

    </filter-mapping>

    <filter-mapping>

      <filter-name>uimfilter</filter-name>

      <url-pattern>/dwr/*</url-pattern>

      <!-- 将权限过滤器映射给dwr包内的所有文件 -->

    </filter-mapping>

    <filter-mapping>

      <filter-name>uimfilter</filter-name>

      <url-pattern>*.do</url-pattern>

      <!-- 将权限过滤器映射给所有的.do文件 -->

    </filter-mapping>

    <!-- 通过上边filter-mapping的配置:我们将uimfilter过滤器映射给所有的jsp文件,dwr包内的所有文件爱你以及.do文件

    这样,当用户进入到jsp文件或者调用dwr或者有action的操作的时候,系统就会对用户是否登录进行判断。

     -->



    <!-- 防止出现 Session关闭异常的 过滤器  -->


    <filter>

       <filter-name>hibernateFilter</filter-name>

       <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

    </filter>

    <filter-mapping>

       <filter-name>hibernateFilter</filter-name>

       <url-pattern>/*</url-pattern>

    </filter-mapping>


    <!-- Strtus2.0 控制过滤器  -->

    <filter>

       <filter-name>struts</filter-name>

       <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

    </filter>

    <filter-mapping>

       <filter-name>struts</filter-name>

       <url-pattern>/business/*</url-pattern>

       <url-pattern>/common/*</url-pattern>

       <url-pattern>/system/*</url-pattern>

       <url-pattern>/login.jsp</url-pattern>

       <url-pattern>/loginback.jsp</url-pattern>

       <url-pattern>/main.jsp</url-pattern>

       <url-pattern>/index.jsp</url-pattern>

       <url-pattern>*.do</url-pattern>

    </filter-mapping>

 

 

 

 

分享到:
评论

相关推荐

    web.xml配置详解

    web.xml 配置详解 web.xml 配置详解是指在 Java Web 应用程序中使用的部署描述符配置文件。它是一个 XML 文件,包含了很多描述 servlet/JSP 应用的各个方面的元素,如 servlet 注册、servlet 映射以及监听器注册。 ...

    web.xml配置详解, web.xml web.xml 配置实例

    Web.xml 配置详解 Web.xml 是一个部署描述符文件,用于描述 Web 应用程序的配置信息。该文件是基于 XML 语法的,所有的元素都是大小写敏感的。下面是 web.xml 配置文件的详细解释: 定义头和根元素 在 web.xml ...

    java web项目 web.xml配置详解

    在Java Web开发中,`web.xml`文件是应用的核心配置文件,它定义了Servlet、过滤器、监听器等组件,并负责映射它们的行为。本文将深入解析`web.xml`配置,帮助开发者理解其背后的原理和用途。 一、web.xml文件概述 `...

    详解Spring mvc的web.xml配置说明

    `web.xml`中的监听器允许我们在特定事件发生时执行代码,例如应用程序启动或关闭。在Spring MVC中,`org.springframework.web.context.ContextLoaderListener`是一个关键监听器,它实现了`ServletContextListener`...

    部署描述文件web.xml配置详解.doc

    ### 部署描述文件web.xml配置详解 #### 一、引言 在Java Web开发中,`web.xml`是一个非常重要的配置文件,它作为Web应用程序的部署描述符,负责管理与应用程序相关的各项配置信息。本文将深入解析`web.xml`的各项...

    Web.xml配置详解

    ### Web.xml配置详解 #### 一、Web.xml概述 `web.xml` 文件是Java Web应用程序的核心配置文件之一,主要用于配置应用程序级别的各种初始化参数、监听器、过滤器、Servlet映射等。通过`web.xml`,开发者可以灵活地...

    web.xml配置详细介绍(CHM)

    **web.xml配置详解** 在Java Web开发中,`web.xml`是部署描述符(Deployment Descriptor)的核心文件,它定义了应用程序的行为和结构。这个CHM文件深入解析了`web.xml`的各种配置元素,帮助开发者更好地理解和控制...

    web.xml配置详解.docx

    【web.xml配置详解】 在Java Web应用程序中,`web.xml`是部署描述符(Deployment Descriptor)文件,它是应用的核心配置文件,负责定义应用的行为、组件和环境参数。它位于`WEB-INF`目录下,用于配置Servlet、过滤...

    关于Web.xml配置说明

    【Web.xml配置说明】 在B/S(Browser/Server,浏览器/服务器)项目中,Web.xml文件扮演着核心角色,它是Web应用程序的部署描述符。它包含了一系列配置信息,用于指导服务器如何运行和管理Web应用。以下是对Web.xml...

    Tomcat中用web.xml控制Web应用详解

    Tomcat 中用 web.xml 控制 Web 应用详解 Tomcat 中 web.xml 文件是 Web 应用的核心配置文件,负责管理 Web 应用的生命周期、Servlet 的加载顺序、Filter 的配置等。下面对 web.xml 文件中的重要元素进行详细解释。 ...

    在web.xml中配置action或.do

    它不仅定义了Web应用的基本配置,还管理着诸如Servlet、过滤器(Filter)、监听器(Listener)等组件的配置信息。本文将详细介绍如何在`web.xml`中配置action或.do文件,以实现特定的功能需求。 #### 二、背景知识 在...

    web.xml配置文件详解[文].pdf

    `web.xml`是Java Web应用的核心配置文件,用于定义Servlet、过滤器、监听器以及其他相关组件的行为和配置。它是按照Servlet规范定义的标准格式编写,独立于任何特定的应用服务器,如Tomcat。以下是对`web.xml`文件中...

Global site tag (gtag.js) - Google Analytics