社区
Java SE
帖子详情
servlet的ServletContext对象何时销毁
jy02209334
2006-12-20 05:49:08
用的是tomcat5.5,是不是在关闭tomcat时候自动销毁 ? 为什么我自己的类实现了
ServletContextListener事件检听器,可是他却没有调用contextDestroyed方法呢,
还是需要自己在程序中销毁 ? 请教高手
注:contextInitialized已经在tomcat启动时自动调用了,可是destroy却不知何时调
...全文
537
7
打赏
收藏
servlet的ServletContext对象何时销毁
用的是tomcat5.5,是不是在关闭tomcat时候自动销毁 ? 为什么我自己的类实现了 ServletContextListener事件检听器,可是他却没有调用contextDestroyed方法呢, 还是需要自己在程序中销毁 ? 请教高手 注:contextInitialized已经在tomcat启动时自动调用了,可是destroy却不知何时调
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fool_leave
2006-12-20
打赏
举报
回复
可以按关闭按钮,不过你的tomcat是什么版本的。干脆搞到服务里面算了
jy02209334
2006-12-20
打赏
举报
回复
已经加入了listener标记了.
谢谢大家了,我是非法关闭了刚才.顺便问一下,tomcat合法关闭除了ctrl+c还有什么办法?
点关闭按钮代码都不执行.
ChDw
2006-12-20
打赏
举报
回复
你是否已经在web.xml中加入<listener>标记,不加入的话,Tomcat并不知道需要通知你
fool_leave
2006-12-20
打赏
举报
回复
你在contextDestroyed里面加上一个System.out.println("aaaaaa");看看有没有输出
你在什么情况下发现这个方法没有被调用的呢?
contextDestroyed必须是合法关闭才可以,也就是说杀进程是不行的。
在调试环境下设置断点看看
jy02209334
2006-12-20
打赏
举报
回复
顶 大家帮帮忙啊
jy02209334
2006-12-20
打赏
举报
回复
import java.io.*;
import java.util.*;
import bookBean.*;
import api.*;
import personBean.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ContextConfig implements ServletContextListener
{
public void contextInitialized(ServletContextEvent sce)
{
ServletContext app = sce.getServletContext();
InputStream ips = app.getResourceAsStream("/WEB-INF/records/config.properties");
Properties props = new Properties();
try
{
props.load(ips);
}
catch (Exception e)
{
System.out.println(e);
}
String book = props.getProperty("book"),
person = props.getProperty("person"),
record = props.getProperty("record"),
admin = props.getProperty("admin"),
name = props.getProperty("name"),
password = props.getProperty("password");
Manageable manage = new Manage();
manage.load(book,person,record,admin);
boolean b = manage.setAdminister(name,password);
System.out.println(b ? "添加成功,帐号:" + name + "密码:" + password:"添加失败");
app.setAttribute("manage",manage);
}
public void contextDestroyed(ServletContextEvent sce)
{
ServletContext app = sce.getServletContext();
InputStream ips = app.getResourceAsStream("/WEB-INF/records/config.properties");
Properties props = new Properties();
try
{
props.load(ips);
}
catch (Exception e)
{
System.out.println(e);
}
String book = props.getProperty("book"),
person = props.getProperty("person"),
record = props.getProperty("record"),
admin = props.getProperty("admin");
Manageable manage = (Manageable)app.getAttribute("manage");
manage.save(book,person,record,admin);
}
}
这是代码,目的是在结束时 取出context对象中的manage对象并调用其save方法将资料保存,已测试过save方法是正确的
fool_leave
2006-12-20
打赏
举报
回复
在tomcat退出的时候会调用,用来通知ServletContext该销毁了
你的可能是别的原因,最好有代码,不然不好说。
Java 四大域
对象
总结
一、
Servlet
Context
1、生命周期:当Web应用被加载进容器时创建代表整个web应用的
Servlet
Context
对象
,当服务器关闭或Web应用被移除时,
Servlet
Context
对象
跟着
销毁
。 2、作用范围:整个Web应用。 3、作用: a)在不同
Servlet
之间转发 this.get
Servlet
Context
().getRequestDispatcher(/
servlet
/Demo10
Servlet
).forward(request, response); 方法执行结束,service会返回到服务器,再有服务器去调用目标servl
Servlet
——
Servlet
Context
对象
目录
Servlet
Context
概述 获取
Servlet
Context
对象
ThreadLocal的原理 编写ConnectionManager工具类 优化转账案例
Servlet
Context
概述
Servlet
Context
对象
,tomcat为每一个web项目单独创建的一个(
Servlet
Context
)上下文(知上知下贯穿全文)
对象
。服务器启动的时候,为每个WEB应用创建一个单独的S...
JAVA
Servlet
-
Servlet
Context
对象
笔记
文章目录
Servlet
Context
对象
Servlet
Context
对象
的获取常用方法(获取和设置)
Servlet
中的三大域
对象
(数据共享,数据保存)总结
Servlet
Context
对象
(一)每一个web应用都有且仅有一个
Servlet
Context
对象
,又称Application
对象
,从名称中可知,该
对象
是与应用程序相关的。在WEB容器启动的时候,会为每一个WEB应用程序创建一个对应的
Servlet
Context
对象
。 (二)该
对象
有两大作用,第一、作为域
对象
用来共享数据,此时数据在整个应用程序中
Servlet
——
Servlet
Context
对象
WEB容器在启动时,它会为每个Web应用程序都创建一个对应的
Servlet
Context
,它代表当前Web应用。并且它被所有客户端共享。
Servlet
Context
对象
可以通过
Servlet
Config.get
Servlet
Context
()方法获得对
Servlet
Context
对象
的引用,也可以通过this.get
Servlet
Context
()方法获得其
对象
的引用。 由于一个WEB应用中的所有
Servlet
共享同一个
Servlet
Context
对象
,因此
Servlet
对象
之间可以通过
Servlet
Co
servlet
—
servlet
Context
对象
servlet
Context
:上下文(官方定义);服务器给每个工程创建一个
对象
即
servlet
Context
对象
,
servlet
Context
对象
全局唯一,工程内所有
servlet
都可以使用这个
对象
。所以
servlet
Context
也被叫做全局应用程序共享
对象
。 作用:获取全局初始化参数;获取资源文件;资源共享(
servlet
通信) 生命周期: 创建:服务器启动时为每个项目创建一个
servlet
C...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章