tomcat是先创建servlet对象还是先创建request和response对象

dagengchun 2014-09-25 11:12:17
在web.xml中没有设置<load-on-startup> 或者设置<load-on-startup>小于0则tomcat启动时不会创建servlet对象,而是有针对这个servlet的请求时候才创建servlet对象 这时tomcat是先创建servlet对象还是先创建request和response对象,能解释下吗?
...全文
833 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
天武我非 2015-11-06
  • 打赏
  • 举报
回复
和<load-on-startup>设置无关,servlet在web容器启动的时候加载servlet,<load-on-startup>只是启动的加载顺序,但无论如何都会加载进来,创建servlet实例。 一个servlet的请求,应用服务器会转发给Servlet容器,容器接着创建两个对象:HttpServletRequest和HttpServletResponse,容器根据请求中的URL找到相应的servlet,为这个请求创建一个线程,并把请求对象HtttpServletRequest和响应对象HttpServletResponse传递给这个servlet线程。servlet如果没有加载过,首次加载会调用init()方法~
记忆不曾留 2014-09-26
  • 打赏
  • 举报
回复
刚才写错了 ,是回送给客户端
记忆不曾留 2014-09-26
  • 打赏
  • 举报
回复
只要客户端一访问服务器,就开始创建servlet对象,通过调用init()方法对其初始化,只创建一次,以后客户端访问就直接从内存里拿这个servlet对象,在这个期间会执行service(httpservletrequest req ,httpservletresponse res)方法,服务器通过 res这个对象向客户端回送数据(一般先得到OutputStream os=res.getOutputStream()对象,在os.write(...)写数据,回送给服务器)。关于servlet对象的销毁,会执行一个destroy()方法,一般是在关闭web应用或关闭服务器的时候会调用这个destroy()方法。
小灰狼 2014-09-26
  • 打赏
  • 举报
回复
servlet first of course Servlet 是单例模式运行的,内存中只有一个 servlet 对象,创建之后就一直用这个对象 request, response 是接收到请求时创建
qq_20610429 2014-09-26
  • 打赏
  • 举报
回复
先创建servlet对象 实例化-初始化-服务-销毁 创建request和response对象属于服务部分

62,615

社区成员

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

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