对java servlet 单例模式的理解

转载 2015年11月17日 22:25:58

理解两个问题足以,问题如下:

1、如果不同的2个用户同时对这个网站的不同业务同时发出请求(如注册和登陆),那容器里有几个servlet呢??

2、不同的用户同时对同一个业务(如注册)发出请求,那这个时候容器里产生的有是几个servlet实例呢?

答案:

引子:一个web容器,可以有多个servlet。 对提交到同一个servlet类的多个业务请求,共享一个servlet对象(即这个servlet类只被实例化一次)

但别忘了,请求还可以从一个servlet forward到另一个servlet,因此一个请求是可以产生多个servlet的,但是由不同的servlet类实例化的,每个servlet类都只被实例化一次,直到应用程序终止或服务器shutdown

问题1的答案:容器里有2个servlet(当然,这是在“一个servlet对应一种业务请求”的前提下,如果你要把两个业务逻辑写在同一个servlet内另当别论了)

问题2的答案:只有一个servlet实例。一个servlet是在第一次被访问时加载到内存并实例化的。同样的业务请求共享一个servlet实例。不同的业务请求一般对应不同的servlet. 想也知道拉,如果一个网站要被几千万人同时登录,如果创建几千万个实例的话服务器还怎么跑得动?


Java单例模式深入理解

  • 2015年04月15日 19:43
  • 9KB
  • 下载

java中的单例模式

  • 2017年05月21日 22:02
  • 5KB
  • 下载

关于的servlet的单例模式解释

Servlet如何处理多个请求访问? Servlet容器默认是采用单实例多线程的方式处理多个请求的: 1.当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在...

java单例模式

  • 2015年08月10日 17:04
  • 23KB
  • 下载

Java单例模式应用研究.pdf

  • 2010年05月27日 13:50
  • 187KB
  • 下载

Servlet多线程单例模式

前言:Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题...
  • sn_gis
  • sn_gis
  • 2014年11月09日 17:10
  • 410

java 单例模式

  • 2017年02月03日 16:02
  • 5KB
  • 下载

JAVA单例模式

  • 2012年07月25日 10:18
  • 13KB
  • 下载

关于的servlet的单例模式解释

首先明确:Servlet是单实例的,即对于同一种业务请求只有一个是实例。不同的业务请求可以通过分发来产生多个实例。 其次:单实例的原因我想是因为单实例足可以处理某一个请求,就像ibatis的Query...
  • wgyscsf
  • wgyscsf
  • 2015年12月01日 14:48
  • 2324

单例模式java代码

  • 2017年12月04日 19:46
  • 32KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对java servlet 单例模式的理解
举报原因:
原因补充:

(最多只允许输入30个字)