2011-07-20 59 views
-1

我只是想知道为什么只创建一个servlet的副本。如果浏览器第一次请求一个servlet。 servlet如何处理这个问题。我知道java在运行之前会编译代码。 servlet怎么样?最后,信息如何存储在会话对象中? 我是新来的java servlet,请帮帮我。 谢谢!java servlet问题

+0

它在哪里说只有一个副本被创建?你的第二句话是什么意思?问题无法以其当前形式回答。 – EJP

+0

1.按规范只创建一个实例。 2.他们可以;) – Bozho

回答

3
  • 创建一个servlet实例,因为不再需要其他实例。每个请求通过service(..)方法在一个单独的线程启动服务器时
  • 的servlet已经编译通过 - 他们是.class文件
  • 有一个<load-on-startup>配置,让您指定何时容器实例化的servlet
  • 会话由会话cookie标识,随每个请求一起发送。当客户端发送会话ID时,会在表中查找它,并返回适当的Session对象。
1

是的,当用户点击映射到它的URL时,第一次创建的servlet只有一个实例。并留在内存中,直到被类加载器卸载。

每个请求在单独的线程中服务。

会话是一个范围,每个用户具有相关的会话ID,通常它是从请求头中的cookie映射和服务器识别该用户从该会话


参见

未来