Servlet 单例吗?action单例吗?
Servlet
- 单单看servlet的源码,不是单例的实现
- 但是web容器会只实例化一个对象,然后不停多线程调用其中的方法
- 如何多个实例servlet呢
- 如下代码
<servlet>
<servlet-name>CompressionFilterTestServlet1</servlet-name>
<servlet-class>compressionFilters.CompressionFilterTestServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>CompressionFilterTestServlet2</servlet-name>
<servlet-class>compressionFilters.CompressionFilterTestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CompressionFilterTestServlet1</servlet-name>
<url-pattern>/CompressionTest1</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CompressionFilterTestServlet2</servlet-name>
<url-pattern>/CompressionTest2</url-pattern>
</servlet-mapping>
Action
- 肯定是多例,因为action有属性要接受每个请求的属性值
- 可以通过spring标记为单例
- 但是这样就出现BUG了
- 上个用户提交的信息,如果下个用户没填,居然跑到上个用户输入的信息去了。

本文探讨了Servlet和Action在Web应用中的实例模式。Servlet通常由容器管理为单例,并通过多线程处理请求;而Action默认为多例,适用于处理每个请求的不同属性值。文章还介绍了如何通过配置实现Servlet的多实例以及Action的单例模式。
9714

被折叠的 条评论
为什么被折叠?



