Java框架中Struts和Struts2框架的区别
struts1 与 struts2 的区别:
1.都是 MVC 的 WEB 框架,
2 struts1的老牌框架,应用很广泛,有很好的群众基础,使用它开发风险很小,成本更低!
struts2虽然基于这个框架,但是应用群众并多,相对不成熟,未知的风险和变化很多,开发
人员相对不好招,使用它开发项目的风险系数更大,用人成本更高!
3.struts2毕竟是站在前辈的基础设计出来,它会改善和完善 struts1中的一些缺陷, struts1
中一些悬而未决问题在 struts2得到了解决。
4.struts1的前端控制器是一个 Servlet,名称为 ActionServlet, struts2的前端控制器是一个
filter,在 struts2.0中叫 FilterDispatcher,在 struts2.1中叫 StrutsPrepareAndExecuteFilter。
5.struts1的 action 需要继承 Action 类, struts2的 action 可以不继承任何类; struts1对同一
个路径的所有请求共享一个 Action 实例, struts2对同一个路径的每个请求分别使用一个独
立 Action 实例对象,所有对于 struts2的 Action 不用考虑线程安全问题。
6.在 struts1中使用 formbean 封装请求参数,在 struts2中直接使用 action 的属性来封装请
求参数。
7.struts1中的多个业务方法放在一个 Action 中时(即继承 DispatchAction 时),要么都校验,
要么都不校验;对于 struts2,可以指定只对某个方法进行校验,当一个 Action 继承了
ActionSupport 且在这个类中只编写了 validateXxx()方法,那么则只对 Xxx()方法进行校验。
(一个请求来了的执行流程进行分析, struts2是自动支持分模块开发,并可以不同模块设置
不同的 url 前缀,这是通过 package 的 namespace 来实现的; struts2是支持多种类型的视
图; struts2的视图地址可以是动态的,即视图的名称是支持变量方式的,举例,论坛发帖失
败后回来还要传递 boardid。视图内容显示方面:它的标签用 ognl,要 el 强大很多,在国际
化方面支持分模块管理,两个模块用到同样的 key,对应不同的消息;)
与 Struts1不同, Struts2对用户的每一次请求都会创建一个 Action,所以 Struts2中的 Action
是线程安全的。
给我印象最深刻的是: struts 配置文件中的 redirect 视图的 url 不能接受参数,而 struts2配
置文件中的 redirect 视图可以接受参数。
Java框架中Struts和Struts2框架的区别的更多相关文章
- Spring框架中ModelAndView、Model、ModelMap区别
原文地址:http://www.cnblogs.com/google4y/p/3421017.html SPRING框架中ModelAndView.Model.ModelMap区别 注意:如果方法 ...
- Spring框架中ModelAndView、Model、ModelMap区别 (转)
原文地址:http://www.cnblogs.com/google4y/p/3421017.html SPRING框架中ModelAndView.Model.ModelMap区别 注意:如果方法 ...
- C#开发微信门户及应用(48) - 在微信框架中整合CacheManager 缓存框架
在我们的很多框架或者项目应用中,缓存在一定程度上可以提高程序的响应速度,以及减轻服务器的承载压力,因此在一些地方我们都考虑引入缓存模块,这篇随笔介绍使用开源缓存框架CacheManager来实现数据的 ...
- java开发中经典的三大框架SSH
首先我们要明白什么是框架为什么用?相信一开始学习编程的时候都会听到什么.什么框架之类的:首先框架是一个软件半成品,都会预先实现一些通用功能,使用框架直接应用这些通用功能而不用重新实现,所以大多数企业都 ...
- 笨鸟先飞之Java(一)--使用struts2框架实现文件上传
无论是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个经常使用功能会有非常多种解决方案,可是struts2的框架却能给我们一个比較简单的方式,以下就一起来看吧: ...
- Java Web 中 过滤器与拦截器的区别
过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法u ...
- Java线程中yield与join方法的区别
长期以来,多线程问题颇为受到面试官的青睐.虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用.之前,我讨论了一个w ...
- Java线程中run和start方法的区别
http://bbs.csdn.net/topics/350206340 Thread类中run()和start()方法的区别如下:run()方法:在本线程内调用该Runnable对象的run()方法 ...
- Java框架中Struts框架的优缺点
Struts 优缺点优点:1. 实现 MVC 模式,结构清晰,使开发者只关注业务逻辑的实现.2.有丰富的 tag 可以用 ,Struts 的标记库(Taglib),如能灵活动用,则能大大提高开发效率3 ...
随机推荐
- MySQL数据类型的选择
+++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据类型的选择时间:2019年2月22日内容:MySQL数据类型的选择范式参考重点:主要讲述MyS ...
- 虚拟机系统安装Messenger和Server
YCD对支持虚拟机运行Messenger和Server, 不论用哪种虚拟机安装, 请保证: 确认DirectX和Direct 3D组件已经开启 为虚拟机分配显卡计算资源 如果不满足以上条件, 虚拟机上 ...
- vue脚手架搭建项目引用百度地图--出坑
这是官网地址 https://dafrok.github.io/vue-baidu-map/#/zh/start/installation 需要声明注意的是 BaiduMap 组件容器本身是一个空的块 ...
- Linux下用户和raid练习题
1. 公司一开发人员申请对服务器10天的oldboy普通用户权限,如何操作? useradd oldboy passwd oldboy usermod -e `date -d "10day& ...
- 酷炫的loading
今天分享一下,怎么通过用css写出一个酷炫的loading. meta: <meta name="viewport" content="width=device-w ...
- CentOS修改SSH端口号和禁止root用户直接登录
linux安装ssh远程登录后,为了安全起见,修改默认的22端口号并禁止root用户直接通过ssh登录. 配置方法如下: 1.使用vi编辑器打开ssh配置文件 /etc/ssh/sshd_config ...
- [模板] 区间mex && 区间元素种数
区间mex 问题 给定序列\({a_i}\), 每次询问给出\(l\), \(r\), 询问 \(\text{mex} \{a_i\}, i \in \{l, l+1, \cdots r\}\) 解法 ...
- [FJOI2016]建筑师
题目描述 小 Z 是一个很有名的建筑师,有一天他接到了一个很奇怪的任务:在数轴上建 n 个建筑,每个建筑的高度是 1 到 n 之间的一个整数. 小 Z 有很严重的强迫症,他不喜欢有两个建筑的高度相同. ...
- BZOJ4552 HEOI2016/TJOI2016排序(线段树合并+线段树分裂)
很久以前写过二分答案离线的做法,比较好理解.事实上这还是一个线段树合并+分裂的板子题,相比离线做法以更优的复杂度做了更多的事情.具体不说了.怎么交了一遍luogu上就跑第一了啊 #include< ...
- centos7下tomcat8.5安装部署与优化
转自:https://www.cnblogs.com/busigulang/articles/8529719.html centos 7 Tomcat 8.5 的安装及生产环境的搭建调优 一 安装to ...