servlet是不是只要getSession()了就先加载listener 然后再执行init()?

kahnnash 2010-10-20 08:46:19
是不是是不是是不是是不是?
...全文
75 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jumpheightway 2010-10-23
lisner load first
回复
kahnnash 2010-10-23
奇怪 今天写了一个servlet 和一个listener 是按正常顺序执行的。。


前几天的为什么上来就执行listener里面的sessionCreated方法,加了两个过滤器也没有获取session啊。
回复
magong 2010-10-23
[Quote=引用 6 楼 kahnnash 的回复:]

是SessionListener

我发现浏览器第一次访问时 首先是Listener中的打印语句先输出,然后才是servlet中的init()
[/Quote]
如果是sessionCreated方法中的打印语句先输出,
那只能说明,
在该Servlet前就有其他filter/servlet或JSP已经获取了session
回复
magong 2010-10-23
第一系列的次序是:
启动webapp时,new listener(加载)。

第二系列的次序是:
用户发出一个请求,Tomcat收到后new servlet,调用servlet init方法,执行service/doget/dopost方法。

第三:
不同的Listener在自己定义的时机被触发。这得具体而定。
回复
kahnnash 2010-10-23
是SessionListener

我发现浏览器第一次访问时 首先是Listener中的打印语句先输出,然后才是servlet中的init()
回复
ChDw 2010-10-20
要看是什么样的Listener,如果是SessionListener则在IE第一个请求中,调用getSession()触发,如果是jsp并且没有设置为session="false",JSP也会自动创建会话导致SessionListner触发。
回复
NewMoons 2010-10-20
[Quote=引用 3 楼 huangqibing0626 的回复:]
listener 只要tomcat已启动,就会加载
[/Quote]

对头
回复
huangqibing0626 2010-10-20
listener 只要tomcat已启动,就会加载
回复
happysmhzp 2010-10-20
不是不是不是不是不是不是
回复
gularess 2010-10-20
你的listener是不是指对于一个url action的监听。我觉得一个servlet的init方法应该是监听之前执行的。
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-20 08:46
社区公告
暂无公告