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

kahnnash 2010-10-20 08:46:19
是不是是不是是不是是不是?
...全文
104 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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方法应该是监听之前执行的。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧