struts1和struts2安全性比较
来源:互联网 发布:绘制平面图的软件 编辑:程序博客网 时间:2024/05/16 12:04
1.struts 1
struts1 本身是线程安全的,这是因为我们在Action中使用的基本都是局部变量,而“局部变量是线程安全的。因为每执行一个方法,都会在独立的空间创建局部变量,它不是共享的资源。所有的变量都是定义在Action中我们要执行的方法里的(Action中的execute方法或DispatchAction中指定要执行的方法),我们用于封装客户端请求参数的ActionForm,也是作为一个参数传入,也属于局部变量,因此,不存在线程安全问题。但如果在action中定义全局变量,多个线程共享这个全局变量(共享资源),这时就线程不安全了。 解决方案:1不要定义全局变量2使用synchronized
2.struts 2
struts2 默认是不安全的,因为是实例多线程。又有全局变量。 但在配置文件中设置scope="prototype"(原型模式)这是每次请求会新生成一个action实例。就成了多实例多线程,Struts2框架在处理每一个用户请求的时候,都建立一个单独的线程进行处理,值栈ValueStack也是伴随着局部线程而存在的。在该线程存在过程中,可以随意访问值栈,这就保证了值栈的安全性,这样每个实例单独起来,所以线程安全了。
- struts1和struts2安全性比较
- struts1和struts2比较
- Struts1和Struts2比较
- Struts1 和 Struts2 比较
- struts1和struts2比较
- Struts1 和 Struts2 比较
- struts1和struts2的比较
- struts1和struts2的比较
- struts1和struts2的比较
- struts1和struts2的比较
- Struts------Struts1和Struts2 比较
- Struts1和Struts2比较异同
- struts1和struts2优缺点比较
- Struts1和Struts2的比较
- struts1.2 和 struts2 比较
- Struts2和struts1的比较
- Struts1和Struts2的区别比较
- Struts2 和 Struts1.x 的全面比较
- VisualVM远程监控
- NSBundle、[NSBundle mainBundle] 详解
- 学习rabbitMQ心得
- ubuntu12.04 PPA 安装 java7
- Struts2基础学习(3)-结果集
- struts1和struts2安全性比较
- README.TXT
- C可变参数函数 实现
- 如何使图片在DIV 中水平垂直居中
- LVS环境搭建及图形化管理(Pacemaker管理+heartbeat心跳+ipvs(DR)+ldirector健康检查及转发)
- hdu-4615 Partition
- 模式识别绪论1:基本概念
- sqlplus命令行工具格式化命令
- 错误argument of type "char *" is incompatible with parameter of type "LPCWSTR"的解决方法