我们爱分享————J2EE常见面试题分享(夕水溪下版) 本帖最后由 xishuixixia 于 2011-09-22 11:00:33 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 感觉挺有用的一个知识点:(1)Filter和Listener的生命周期,何时初始化,何时销毁,收到请求如何处理?(2)如果同时配置了RequestListener和Filter,那么请求是先被过滤器接收到,还是先被Listener接收到? Listener的初始化最早,Filter次之。他俩的初始化都是在容器启动完成之前初始化的。Servlet是不会自动初始化的,在请求进来的时候才会初始化。如果想要servlet自动初始化,需要在指定的servlet中配置<load-on-startup>参数,没有此标签,默认启动时servlet不进行初始化。Filter生命周期1、启动服务器时加载过滤器的实例,并调用init()方法来初始化实例;2、每一次请求时都只调用方法doFilter()进行处理;3、停止服务器时调用destroy()方法,销毁实例。关于listener 我想生命周期应该同Filter servlet应该是启动服务就初始化了吧!servlet生命周期就是当服务启动之后,初始化servlet,然后根据客户端请求,service方法 最后销毁。 不。。Servlet只有当有请求过来的时候才会初始化。 第一次请求的时候会初始化,以后就直接调用了,因为在整个生命周期中,只有一个实例。呵呵 想一开始就实例化的话,可以配置load-on-startup 0 (1)Servlet默认是不会自动初始化的,在请求进来的时候才会初始化。(2)如果想要servlet自动初始化,需要在指定的servlet中配置<load-on-startup>参数,没有此标签,默认启动时servlet不进行初始化。(3)<load-on-startup>的值越小,就越早进行初始化,也越早进行卸载。(4)初始化的顺序是:Listener,Filter,Servlet 卸载的顺序是:Servlet,Filter,Listener。 上面的结论是在tomcat7里面得出的,不知道servlet规范是不是这样的?有待考证! 初始化顺序是没错的,至于destory就不太清楚了 初始化的顺序是那样的,而且他的顺序跟在web.xml中的顺序还无关,但如果web.xml中配置了<context-param>,貌似初始化顺序是:context-param > Listener > Filter > Servlet ,销毁就不了解了 恩,上面也解释了。我再次强调一下,如果再servlet中不做特殊配置,那么servlet不会在容器初始化的时候加载的。 还有就是补充一个知识点:很多朋友都问过我如何在filter中调spring容器管理的对象,我这里给出方法:WebApplicationContext webApplicationContext = WebApplicationContextUtils .getWebApplicationContext(request.getSession().getServletContext()); dbinitDao=(DbinitDao)webApplicationContext.getBean("dbinitDao"); 好东西,尤其是我不懂ssh,lz上传csdn资源,发链接吧。 已经推荐,已经整理到分享贴中。 最常见的SSH面试〈三〉 想起来了 ,确实servlet是在请求的时候实例化的,而且每个请求有且只有一个servlet实例!谢谢大胡子 hiberante 二级缓存好像是在 Sessionfactory中! -----------------------------老虎插件↓快速添加:http://malaohu-project.googlecode.com/files/Plugin_v1.5.1.js 求教maven打包问题 struts html标签 tomcat 6.0 问题 javabean问题,急急急急急!!! 每小时访问量10万的系统 java新人,请帮我解释下如下的代码程序 web services 入门:献给所有好学的新手 Axis修改Element前缀的问题? ejb问题 Tomcat5.0 启动不了,在线求解~~~ 高手求助啊!!statement.registerOutParameter lucene 报错
Listener的初始化最早,Filter次之。他俩的初始化都是在容器启动完成之前初始化的。Servlet是不会自动初始化的,在请求进来的时候才会初始化。如果想要servlet自动初始化,需要在指定的servlet中配置<load-on-startup>参数,没有此标签,默认启动时servlet不进行初始化。
Filter生命周期1、启动服务器时加载过滤器的实例,并调用init()方法来初始化实例;
2、每一次请求时都只调用方法doFilter()进行处理;
3、停止服务器时调用destroy()方法,销毁实例。关于listener 我想生命周期应该同Filter
servlet应该是启动服务就初始化了吧!
servlet生命周期就是
当服务启动之后,初始化servlet,然后根据客户端请求,service方法 最后销毁。
(1)Servlet默认是不会自动初始化的,在请求进来的时候才会初始化。
(2)如果想要servlet自动初始化,需要在指定的servlet中配置<load-on-startup>参数,没有此标签,默认启动时servlet不进行初始化。
(3)<load-on-startup>的值越小,就越早进行初始化,也越早进行卸载。
(4)初始化的顺序是:Listener,Filter,Servlet
卸载的顺序是:Servlet,Filter,Listener。
上面的结论是在tomcat7里面得出的,不知道servlet规范是不是这样的?有待考证!
,销毁就不了解了
.getWebApplicationContext(request.getSession().getServletContext());
dbinitDao=(DbinitDao)webApplicationContext.getBean("dbinitDao");
想起来了 ,确实servlet是在请求的时候实例化的,而且每个请求有且只有一个servlet实例!谢谢大胡子
-----------------------------老虎插件↓
快速添加:http://malaohu-project.googlecode.com/files/Plugin_v1.5.1.js