问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样使用ServletContextListener接口

发布网友 发布时间:2022-05-01 20:49

我来回答

3个回答

懂视网 时间:2022-05-02 01:10

logInfoServiceProxy;

@Override
public void contextInitialized(ServletContextEvent event) {

  WebApplicationContext context = WebApplicationContextUtils
  .getRequiredWebApplicationContext(event.getServletContext());
  logInfoServiceProxy = (LogInfoServiceIFC) context.getBean("logInfoService");

}

 

2、SpringMVC项目可直接在类中加入下面这句话:

SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);

 

被坑了好几次

 

Java在项目启动时访问数据库,在ServletContextListener解决对象无法注入问题

标签:util   ext   web   解决   init   roc   require   lis   nba   

热心网友 时间:2022-05-01 22:18

ServletContext : 每一个web应用都有一个 ServletContext与之相关联。 ServletContext对象在应用启动的被创建,在应用关闭的时候被销毁。 ServletContext在全局范围内有效,类似于应用中的一个全局变量。
ServletContextListener: 使用listener接口,开发者能够在为客户端请求提供服务之前向ServletContext中添加任意的对象。这个对象在ServletContext启动的时候被初始化,然后在ServletContext整个运行期间都是可见的。该接口拥有两个方法如下所示:
Servletcontextlistener代码
void contextDestoryd(ServletContextEvent sce);
void contextInitialized(ServletContextEvent sce);
用户需要创建一个java类实现 javax.servlet.ServletContextListener接口并提供上面两个方法的实现。
示例: 当你需要在处理任何客户端请求之前创建一个数据库连接,并且希望在整个应用过程中该连接都是可用的,这个时候ServletContextListener接口就会十分有用了。
Java代码
package com.database;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributesListener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import com.database.DbConnection;
public class DatabaseContextListener implements ServletContextListener {
private ServletContext context = null;
private Connection conn = null;
public DatabaseContextListener() {
}
//该方法在ServletContext启动之后被调用,并准备好处理客户端请求
public void contextInitialized(ServletContextEvent event) {
this.context = event.getServletContext();
conn = DbConnection.getConnection;
// 这里DbConnection是一个定制好的类用以创建一个数据库连接
context = setAttribute(地dbConn地,conn);
}
//这个方法在ServletContext 将要关闭的时候调用
public void contextDestroyed(ServletContextEvent event){
this.context = null;
this.conn = null;
}
}
然后部署该类,并在web.xml文件中添加
Xml代码
<listener>
com.database.DatabaseContextListener
</listener>
一旦web应用启动的时候,我们就能在任意的servlet或者jsp中通过下面的方式获取数据库连接:
Connection conn = (Connection) getServletContext().getAttribute(地dbConn地);

热心网友 时间:2022-05-01 23:36

ServletContext : 每一个web应用都有一个 ServletContext与之相关联。 ServletContext对象在应用启动的被创建,在应用关闭的时候被销毁。 ServletContext在全局范围内有效,类似于应用中的一个全局变量。
ServletContextListener: 使用listener接口,开发者能够在为客户端请求提供服务之前向ServletContext中添加任意的对象。这个对象在ServletContext启动的时候被初始化,然后在ServletContext整个运行期间都是可见的。该接口拥有两个方法如下所示:
1 void contextDestoryd(ServletContextEvent sce);
2 void contextInitialized(ServletContextEvent sce);

用户需要创建一个java类实现 javax.servlet.ServletContextListener接口并提供上面两个方法的实现。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
若cpu一秒执行n次运算需耗能5w,那执行2n次运算要耗能是大于小于还是等于... 大神们,N5G跟N5W哪里不一样? 刚出生的婴儿会感冒吗 刚出生宝宝感冒的症状 怀庄永佳福代理,什么品牌白酒好呢? 做白酒品牌代理,有怀庄永佳福牌子怎么样? 怀庄永佳福白酒喝得人多吗?代理怎么样? 为什么很多女性都把男闺密当作结婚对象? 关于电影“罗生门”的问题 实际利率法是指什么 大片来袭是什么意思 模特拍大片什么意思 微信里发疫情真的要封群吗? 大片什么意思? 用语“大片”是什么意思? 电影分类中的大片是什么意思 大片是什么意思呀? 电影里说的“大片”是什么意思 大片,什么意思?都喜欢大片吗? 梦幻西游多少级去花果山满经验 有截图最好 花果山的小泼猴什么意思- 问一问 连云港花果山游玩要多少时间 描绘“花果山”的诗句有哪些? 如果一个女生不喜欢你,通常会有哪些表现? 当一个女生真不喜欢你时,她会有什么表现? 女生不喜欢一个人,一般都会做出哪些表现? 女孩不喜欢你的表现 女朋友不喜欢你的几个表现 一个女生不喜欢你时,她都会有哪些表现? 15款新捷达空调压缩机工作风扇不转 中国的“一条线 一大片”是什么意思? 开房 怎么在YY开房 qq女生蹲着的头像、高手入 求QQ美女找茬中的美女图片 在QQ空间看到的美女图片,请问这个美女叫什么名字 QQ空间都是奶茶,美女图的究竟是怎样的人? 带字美女图,在QQ上 QQ表情里我存入了很多美女图。她们的默认文件地址在哪儿?我想把她们这些文件转入空间但找不着她们的地址 为什么我的QQ相册里会出现美女图片? 求你刚才发的1000张美女图~ 1368147882@qq.com 怎样才能把系统里的美女图设置到qq头像 美女图全本TXT 349028041@qq.com 最近的。。 基础货币在金融学哪一章 海伦市的邮政编码是多少? struts2 框架写的代码中,有个监听继承ServletContextListener 海伦市爱民乡属于哪个县? 我姓关。出生在黑龙江省绥化地区海伦市 请问一下我的满族姓氏市什么 属于那个旗。谢谢 海伦市是粉耗子的发源地吗? 从黑龙江海伦市人口外出健康码是绿码还是黄码? 黑龙江省海伦市以前的恭字十三井现在叫什么名