如何理解Struts和Spring单例和多例,以及Action请求的问题
2016-07-18 19:35
495 查看
首先Struts2默认是多例的,即每次请求都会创建新的Action实例;
Spring默认是单例的,可以通过scope="prototype"来设置成多例。
在没有使用成员变量的情况下,推荐使用单例Action;如果有使用,通过request.getParameter();手动取出参数,把它作为局部变量使用,以达到单例的效果。
请求的过程:
1.创建一个新的线程空间;
2.获取Action实例对象(单例和多例);
每个线程自身是安全的,如果是单例,那么要保证变量的安全性(即上述方式),如果是多例,则不存在
Spring默认是单例的,可以通过scope="prototype"来设置成多例。
在没有使用成员变量的情况下,推荐使用单例Action;如果有使用,通过request.getParameter();手动取出参数,把它作为局部变量使用,以达到单例的效果。
请求的过程:
1.创建一个新的线程空间;
2.获取Action实例对象(单例和多例);
每个线程自身是安全的,如果是单例,那么要保证变量的安全性(即上述方式),如果是多例,则不存在
相关文章推荐
- ScheduleThreadPoolExecutor源码分析(二)
- Java在线反编译工具
- 如何调整eclipse字体大小
- java start
- ubuntu16.04安装eclipse
- ubuntu16.04下安装jdk和android studio
- Java 学习计划
- Spring MVC框架原理图
- 问题记录:hadoop集群提交job时出现Exception in thread "main" java.io.IOException: Error opening job jar:
- Java工程师发展之路
- Spring基础—— 在 Spring Config 中使用外部属性文件
- JAVA第三天
- java正则表达式
- java正则表达式
- 获取包下所有类中的注解的值 (java工具类)
- Java学习-jsp内置对象Session
- spring <context:component-scan>使用说明
- dijkstra算法java实现
- java基础知识
- 【java】反射机制