servlet和jsp学习指南(三)监听器

监听器是为了能够在servlet/jsp应用程序中进行事件驱动编程(Event-Driven Programming),所有事件类源自java.util.Event,并且监听器在以下三个不同级别中均可用:ServletContext、HttpSession及ServletRequest。

我选择性的学习ServletContextListener。主要是其他的在项目中没有看到使用。有用到再来补充学习。

  javax.servlet.ServletContextListener。这是对Servlet Context生命周期事件做出响应的监听器。创建好Servlet Context时马上会调用它的其中一个方法,并在关闭Servlet Context之前调用它的另一个方法。

注册监听器有两种方式

  (一)注解

  

@WebListener
public class AppListener implements ServletContextListener {

           。。。
}

  (二)在部署描述符中使用一个listener元素

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

下面搬出书中的例子

@WebListener
public class AppListener implements ServletContextListener {

    public void contextDestroyed(ServletContextEvent arg0) {
        // TODO Auto-generated method stub

    }

    public void contextInitialized(ServletContextEvent sce) {

        ServletContext servletContext = sce.getServletContext();
        Map<String,String> countries = new HashMap<String, String>();
        countries.put("ca", "canada");
        countries.put("us", "United States");
        servletContext.setAttribute("countries", countries);
    }

}

  servlet容器启动时会创建servletContex这时候变回触发实现了ServletContextListener接口的AppListener。继而调用它的contextInitialized。实际上很多项目中都通过继承ServletContextListener来实现缓存的加载等其他项目初始化任务。

时间: 2025-01-02 10:05:44

servlet和jsp学习指南(三)监听器的相关文章

servlet和jsp学习指南(一)servlet

近期接触了些纯servlet与jsp的编程项目,顺便把<servlet和jsp学习指南>这本书拿出来看看,感悟良多.记下随笔,以便会议. 要编写一个servlet首先要实现Servlet或者继承HttpServlet package test.com.servlet; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet

servlet和jsp学习指南(二)Session管理

Web语言HTTP是无状态的,默认情况下,Web服务器不知道一个HTTP请求是来自初次用户,还是来自之前已经访问过的用户.但正常应用程序需要记住用户身份的,换句说,它必须能够管理用户session. 用于保持状态的常用方法有4种:网址重写.隐藏域.cookie已经HttpSession. (一)网址重写 网址重写是一种Session追踪技术,需要将一个或多个token作为一个查询字符串添加到一个URL钟.注意URL和token之间要用一个问号(?)隔开,两个token之间则是用一个&符号隔开.

servlet和jsp学习指南(四)jsp页面

jsp其实就是servlet,当访问这个页面时,服务器会先把jsp页面编译为一个xxx_jsp.class和xxx_jsp.java,存在work中 使用eclipse的同学可以在你的eclipse的workspace的workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work下找到 举例:一个最简单hello页面 访问后可得到2个文件 <%@ page language="java" contentTyp

servlet和jsp学习指南(五)EL表达式

EL表达式的具体用法我暂时先不说了 这里就简单说说注意点 package test.com.servlet.jstl; public class Book { private String isbn; private String title; private Double price; public Book(String isbn,String title,double price) { this.isbn = isbn; this.title = title; this.price = p

Servlet和JSP学习总结

目录 Jsp会被编译成servlet,在页面被第一次访问的时候 Jsp中可以在html页面中嵌入java代码或者引入jsp标签 可以在html中引入自定义标签 Web工程的目录结构 Jsp的注释 Jsp声明部分 Jsp输出表达式 Jsp脚本 Jsp的三个编译命令 B/S结构 九大内置对象 Servlet的缺点 servlet的编写步骤 Servlet与Jsp的区别 Servlet与Jsp的生命周期 自定义标签 Filter的使用 Listener的使用 1. Jsp会被编译成servlet,在页

Servlet和JSP学习指导与实践(三):JSP助阵

前言: JSP(Java Server Page)虽然作为一门服务端的语言,但它并没有创新新的语言标准.有些人一接触jsp之后发现易学易懂.实际上,jsp的内部原理仍然是基于Servlet,它是Servlet的补充,而并不是要取代Servlet.本文对JSP的一些概念及基础内容进行了不详尽的总结,希望感兴趣的博友凑合着看~ ------------- Part I: jsp指令,脚本元素,动作 1.常见指令 (1)page指令: <%@ page language="java"

Servlet和JSP学习指导与实践(一)

前言: JavaSE如何跨度到JavaEE?原本java语言只是专门用于application桌面小应用程序的开发,但自从其追随CGI进入服务器端的开发之后便一发不可收拾.先是Servlet1.0,再是2.0,然后又3.0 ... 之后,各种基于Web的框架发展迅猛,Spring,Struts,Struts2等等.从事Java的人不少都是从jsp开始,甚至从框架开始,但却不知Servlet为何物?本系列将专门讲述Java Web的始祖---“Servlet”(会讲述JSP相关内容,但其实JSP也

Servlet和JSP读书笔记(三)之Cookie

一. 浏览器和服务器之间通信的简单介绍引出Cookie和Session(只是简单的简介,不包含协议方面的知识) 1.当我们在浏览器中输入一个地址后,回车后就可以看到浏览器给我们展示的漂亮页面.在这个过程中浏览器和服务器都做了什么呢?下面的解释只是浏览器与服务器之间 通信的最简单的形式,也称之为一次会话. ① 首先我们在地址栏上输入我们想要打开的网址,按下回车.这样一个请求就由浏览器发往服务器. ② 服务器的网络设备接收到数据后,在传向服务器软件.   ③ 服务软件得到请求后,进行一系列逻辑处理,

JavaWeb学习(三)----JSP内置对象详解

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4065790.html 联系方式:[email protected] [系列]JSP学习系列文章:(持续更新) JavaWeb学习(一)----JSP简介及入门(含Tomcat的使用) JavaWeb学习(二)----JSP脚本元素.指令元素.动作元素 JavaWeb学习(三)----JSP内置对象