http://njupt.iteye.com/blog/282572
变量在Web应用中的生命周期,既是Servlet中变量的生命周期,或者说作用域。
Servlet中有四种作用域,分别是application、session、request、page。
下面是摘取《struts 基础教程》的文本:
-
应用(Application)作用域 。应用作用域的变量对于Web应用中的每个页面在任何时候都是可见的。变量对系统的所有用户都是可见的,并且在用户的多个会话之间都存在。换句话说,不同的用户都可以潜在的在任何时候从任何页面查看和修改同一个变量。
-
会话(session)作用域 。会话作用域的变量只针对一个单一的用户会话存在,但是他们对于该会话中的每个页面都是可见的。用户不能看见或者修改别的会话中该变量的实例。
-
请求(request)作用域 。只针对某个请求存在。包括页面重定向<forward>。
-
页面(page)作用域 。只针对当前页面存在。
--------------------
以下情况,Session结束生命周期,Servlet容器将Session所占资源释放:
1.客户端关闭浏览器
2.Session过期
3.服务器端调用了HttpSession的invalidate()方法。
分享到:
相关推荐
`init()`方法只在Servlet的生命周期中被调用一次,因此它是设置Servlet初始状态的好时机。 3. **服务**: 初始化完成后,Servlet开始处理客户端的请求。每当一个HTTP请求到达,服务器会检查该请求是否属于已存在的...
`init()`方法是Servlet生命周期中的重要组成部分,在Servlet整个生命周期中只会被调用一次。 ##### 注意事项 - Servlet的初始化通常在以下情况下发生: - 当Web应用处于运行状态时,某个特定的Servlet被客户端首次...
### Servlet 生命周期演示代码详解 #### 一、Servlet 生命周期概述 在深入分析代码之前,我们先来了解一下 Servlet 的生命周期。Servlet 的生命周期主要包括三个阶段:初始化 (`init` 方法)、请求处理 (`service` ...
`init()`方法仅在Servlet的整个生命周期中调用一次,常用于配置Servlet的初始化参数和设置全局变量。 2. **响应客户请求阶段** 当客户端发送HTTP请求到Servlet时,Servlet容器会调用Servlet的`service()`方法来...
在这个文档中,我们将深入探讨Java Servlet的注解配置以及其生命周期。 首先,让我们从传统的XML配置方式开始。在Java Servlet中,通常我们会在`WEB-INF/web.xml`文件中定义Servlet的配置。如上所述,配置包括`...
Servlet API提供了Servlet生命周期管理、请求处理、会话跟踪、以及与应用程序上下文交互等方法。 在Servlet API中,`javax.servlet`和`javax.servlet.http`是两个关键的包。`javax.servlet`包包含Servlet的基本接口...
此外,需要了解 Servlet 的生命周期,以避免在 Servlet 的不同阶段出现问题。例如,在 init 方法中可以执行一些初始化操作,而在 destroy 方法中可以执行一些清理操作。 Servlet 线程安全问题是指在使用 Servlet ...
- `javax.servlet.ServletContextListener`:监听器可以监听到Web应用的生命周期事件,如初始化和销毁,常用于初始化全局变量或执行启动时的任务。 Servlet API还提供了会话管理(Session Management)的功能,通过...
Servlet容器负责管理Servlet的整个生命周期,包括创建、初始化、调用和销毁Servlet实例。当第一次请求到达时,Servlet容器会创建并初始化Servlet实例;随后的请求将重用已初始化的实例;当服务器关闭或Servlet不再...
紧接着,我们将编写一个简单的 Servlet,从而了解 Servlet 的基本结构和生命周期。Servlet 有四个基本方法:init、doGet、doPost 和 destroy。init 方法用于初始化 Servlet,doGet 和 doPost 方法用于处理 GET 和 ...
### Servlet生命周期详解 #### 初始化阶段 在探讨Servlet的执行流程之前,我们首先了解Servlet的生命周期。Servlet的生命周期主要分为三个阶段:初始化阶段、运行阶段以及销毁阶段。 **1. 加载与实例化** - **...
这篇博客主要探讨了Servlet的一些关键知识点,包括其工作原理、配置、生命周期以及常见问题。以下是对这些主题的详细解析: 一、Servlet工作原理 Servlet是Java编程语言中的一个接口,由Java Servlet API提供。当...
`Servlet`接口定义了Servlet的主要生命周期方法和服务方法。在这个例子中,我们关注以下四个方法: - `init(ServletConfig config)`: 这个方法在Servlet被容器加载时调用,用于初始化Servlet。在这里,没有实际的...
Servlet的多线程机制源于其生命周期的管理。当Web容器接收到客户端的首次请求时,会根据web.xml配置文件创建Servlet的一个实例。后续的请求,Web容器通常不会重新创建Servlet实例,而是复用已存在的实例,这就意味着...
这些Listener提供了在Servlet容器(如Tomcat)管理的生命周期事件上的扩展点,使得我们能够在恰当的时间执行自定义逻辑。 1. **ServletContextListener**: - 当Web应用启动时,容器会调用`contextInitialized()`...
它们负责管理Servlet的生命周期,解析请求,调用Servlet的方法,并将响应返回给客户端。 6. **Servlet的线程安全问题**: 由于Servlet实例默认是多线程的,因此在编写Servlet时需要注意线程安全问题。例如,避免在...
首先,Servlet生命周期是理解Servlet工作原理的关键。Servlet在服务器启动时被加载,通过`init()`方法初始化,然后可以处理多个请求,每次请求到达时调用`service()`方法,最后在服务器关闭或Servlet卸载时调用`...
7. **Servlet容器**:Servlet运行在Web容器中,如Apache Tomcat,它提供了Servlet的运行环境,负责管理Servlet的生命周期,处理线程安全问题,以及与其它Java EE组件(如JSP、EJB)的集成。 8. **Servlet与JSP**:...
6. Servlet的生命周期:Servlet的生命周期包括加载、初始化、服务和销毁四个阶段。每个阶段都有相应的回调方法,开发者可以重写这些方法以满足特定需求。 7. 多线程与并发:Servlet容器会为每个请求创建一个新的...