一、监听器
以下是3个Listener接口。
ServletRequestListener
HttpSessionListener
ServletContextListener
这三个监听器接口,分别监听Servlet中3种比较中要的对象的创建和销毁。这三个接口中分别有监听该对象创建和销毁事件的方法,服务器本身就是事件源。
listener的配置
<listener>
<listener-class>alan.servlet.listener.AlanContextListener</listener-class>
<!--listener-class也就是实现Listener接口的类-->
</listener>
Servlet中的重要对象(只针对应用)
数量 生命周期 是否线程安全 方法
-------------------------------------------------------------------------------------------------------------------------------------------
ServletContext 1 (天)全局的 不安全 setAttribute(String,Object) 全局属性
只有在应用关闭时才销毁 需要加同步访问 Object getAttribute(String) 任何Session
void removeAttibute(String) 都可以取到
-------------------------------------------------------------------------------------------------------------------------------------------
HttpSession 和用户的 (分/小时)局部的 不安全 setAttribute(String,Object) 存储用户级
数量相同 只在有效时间内存在 可以不加同步访问 Object getAttribute(String) 的属性
synchronized(session){......} void removeAttibute(String)
-------------------------------------------------------------------------------------------------------------------------------------------
ServletRequest 多个 (秒)局部的 线程安全 setAttribute(String,Object) 可以传递
(HttpServletRequest) 只在servic()和doGet() Object getAttribute(String) 大量信息
doPost()中存在 void removeAttibute(String) 只使用一次
-------------------------------------------------------------------------------------------------------------------------------------------
二、作用
1、主要对ServletContext、HttpSession、ServletRequest等对象行为的监听
2、必须要实现一个或多个listener interface
3、有两类监听器:声明周期监听器 ServletContextListener HttpSessionListener ServletRequestListener (2.4版本之后)
对象状态监听器 ServletContextAttributeListener HttpSessionAttributeListener ServletRequestAttributeListener
4、ServletContextListener中不能取得请求中的参数
分享到:
相关推荐
在短短的5分钟内,我们将快速掌握Servlet的基础知识,以便您能够迅速入门。 首先,Servlet是一个Java类,它扩展了服务器的功能,使得服务器能够处理HTTP请求并生成响应。Java Servlet API提供了多种接口和类,其中`...
5. **请求/响应对象**(HttpServletRequest/HttpServletResponse):Servlet容器提供这些对象,让Servlet能够获取请求信息和构造响应。 6. **过滤器**(Filter):在Servlet处理请求之前和之后,可以添加过滤器来...
5. **Servlet生命周期** - 初始化:当Servlet首次被请求或者在web.xml中配置了`load-on-startup`时,Servlet容器会调用Servlet的`init()`方法进行初始化。 - 服务:每当有新的请求到来,Servlet容器创建一个...
在本资源中,“韩顺平servlet 第4、5讲 事例代码”是一个关于Servlet技术的实战教学内容,由知名讲师韩顺平提供。Servlet是Java Web开发中的一个重要组件,用于扩展服务器的功能,处理HTTP请求。以下是这些课程中...
5. **Servlet生命周期**:包括加载和初始化、服务、销毁三个阶段。初始化阶段,Servlet容器调用Servlet的`init()`方法;服务阶段,每当有请求到达,容器会调用`service()`方法(对于HTTP Servlet,实际上是`doGet()`...
5. **Servlet配置**:Servlet的配置通常在web.xml文件中进行,包括Servlet的注册、映射URL、设置初始化参数等。例如,`<servlet>`、`<servlet-mapping>`标签用于定义Servlet及其映射。 6. **Servlet上下文**:...
#### 五、Web应用结构 Web应用遵循一定的目录结构,其中最重要的是WEB-INF目录,它包含classes和lib子目录,以及web.xml配置文件。classes目录用于存放编译后的Java类文件,lib目录用于存放第三方库的jar文件,而...
javax/servlet/resources/javaee_5.xsd javax/servlet/resources/web-app_2_5.xsd javax/servlet/resources/xml.xsd javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd javax/servlet/jsp/resources/web-...
5. `javax.servlet.http.HttpServletRequest`和`javax.servlet.http.HttpServletResponse`:这两个接口分别代表HTTP请求和响应对象,包含了处理HTTP请求所需的所有信息。 Servlet源码(SRC)指的是Servlet API的...
5. **Servlet容器**: Servlet API需要一个Servlet容器(如Tomcat、Jetty)来运行。容器负责加载、初始化、执行以及销毁Servlet实例。 6. **HTTP请求与响应**: - `HttpServletRequest`接口提供方法获取请求参数...
#### 五、处理客户端请求 在Servlet中,处理客户端请求主要涉及到以下几种方法: - **doGet()**:处理GET请求。 - **doPost()**:处理POST请求。 - **doPut()**:处理PUT请求。 - **doDelete()**:处理DELETE请求。...
#### 五、配置Servlet的初始化参数 初始化参数可以在`web.xml`中通过`<init-param>`元素配置,它们会被传递给Servlet实例中的`init()`方法。这些参数通常用于配置Servlet的行为,例如设置数据库连接信息等。 ```...
五、会话管理 Servlet API提供了`HttpSession`接口来管理用户会话。会话跟踪允许在多个请求之间保持状态,例如购物车功能。源码中,可以研究`HttpSession`的创建、失效逻辑,以及如何添加和获取会话属性。 六、安全...
SERVLET
五、Servlet 工作流程 Servlet 工作流程主要包括以下几个步骤: 1. 客户端发送请求到服务器。 2. 服务器将请求转发给 Servlet。 3. Servlet 对客户端的请求进行处理。 4. Servlet 将处理结果返回给客户端。 六、...
#### 五、配置Web.xml文件控制Servlet生命周期 Web.xml文件是Web应用的核心配置文件,可以通过它来控制Servlet的生命周期。例如,可以在web.xml中配置Servlet的初始化参数和初始化顺序。以下是一个简单的示例: ``...
在这个"**servlet-2_5-api.zip**"压缩包中包含的"**servlet-2_5-api.jar**"文件,就是用来支持开发人员按照Servlet 2.5规范进行编程的库。 Servlet是Java平台上用于扩展Web服务器功能的一种技术。在Servlet 2.5版本...
5. **ServletContext接口**:代表了Servlet的运行时环境,提供了获取整个Web应用的信息,如初始化参数、其他Servlet、MIME类型映射等。 6. **HttpServletRequest和HttpServletResponse接口**:分别表示HTTP请求和...
五、注解配置 自Java Servlet 3.0起,还可以使用注解来简化配置,直接在Servlet类上声明: ```java @WebServlet("/myservice") public class MyServlet extends HttpServlet { // ... } ``` 六、Servlet工具 ...
5. **ServletContext接口**:表示整个Web应用的共享环境,所有Servlet都可以通过ServletContext访问应用级的资源,如全局初始化参数、读取Web应用的静态资源等。 6. **Servlet生命周期**: - **加载与实例化**:当...