struts2struts2是什么?

struts2  时间:2021-08-14  阅读:()

struts2 作用

作为web层框架应该大体实现以下功能: 1.获取表单内容,并组织生成参数对象 2.根据请求的参数转发请求给适当的控制器 3.在控制器中调用业务接口 4.将业务接口返回的结果包装起来发送给指定的视图,并由视图完成处理结果的展现 5.做一些简单的校验或是国际化工作 无论是登录还是上传什么,没有其他层的协助是无法实现的,当然你也可以硬编码的来实现业务逻辑或数据库操作,这样的做法扩展性和可维护性极差 hibernate是操作数据库的一种框架,它简化了直接使用jdbc api的代码操作数据库的复杂性和冗余性 spring则完全是一种架构型的框架了,它不属于J2EE应用中的任何一个层,但它提供了对象依赖注入的思想,并且为每个层中遇到的实际问题提供了大量现成的模板类,使用这些模板类的方法很easy,大多数情况下只需要你在配置文件里配置一下就可以实现诸如事务管理或安全性控制这样的复杂问题.使用spring你的代码不依赖于框架,不依赖于具体实现,而依赖于接口,这对于实现松散耦合的架构来说是大有裨益的.spring不仅仅可以用于web应用,在普通的java应用中也可以使用spring.spring不是个复杂的框架,它的核心包很小并且具有轻量级的架构,基本上spring的核心只有2个东西:Ioc & AOP,Ioc其实就是工厂模式的一种体现,而AOP则来源AOP联盟,使用了拦截的思想...学了spring,现在写起代码觉得自己就像个白痴,有什么问题直接在配置文件里配置一下相关的模板类就OK了,它是真正为程序员减轻工作负担的框架.

为什么要用到struts2

展开全部 Apache Struts在2000年5月由 Craig McClanahan 发起,并于2001年7月发布了1.0版本。

从技术的角度上讲,它是在开发Web程序上的一次跨越性的进步,但更重要的是,它是在最恰当的时候出现在了人们的眼前。

Struts 一出现便大受欢迎,更成为了以后几年内web开发的实际标准。

Struts2是Struts的下一代产品。

最初提案Struts Ti所设想的发展方向,在Struts的现有代码的基础上是很难完成的。

在发起提案的时候,Patrick Lightbody 把多个不同的Web框架的领导者邀请到了一起,希望大家能够协力完成一个通用的框架。

但因种种原因,只有WebWork和Struts走到了一起。

Struts2吸取了Struts1.x和WebWork的各种优点,更改了一些不足的地方,比如移走了原来WebWork中的IOC实现,引入Spring的IOC实现等。

Struts2的目标就是----使Web开发更加容易。

今天摆在web开发人员面前的是众多的web开发框架,有些来自开源社区,有些来自商业公司,以满足各种web开发需要,到目前为止,有最少超过40种的web开发框架,那我们为什么要选择Struts2呢?下面列出一些Struts2的特性。

基于pojo易于测试 在Struts1.x中我需要Mock出这两个Http对象,使我们很难编写Action的单元测试,与Struts1.x相比,Struts2的Action 不再依赖于HttpServletRequest和HttpServletResponse对象,使我们能够更方便的针对Action编写单元测试。

Struts2的单元测试看起来就像这样: public void testEnrol(){ userinfoAction.setUsername("wangwu"); userinfoAction.setUserPassword("123456"); userinfoAction.setMail(""); String result = userinfoAction.enrol(); assertEquals("ess",result); } 与Spring的集成 与Struts1.x相比,Struts2不必再自己编写singleton,进一步的降低了程序间的耦合性,就Struts2内部本身而言,降低了框架本身的偶合性。

更加的模块化 与Struts1.X 相比,Struts2更加的模块化,可以轻松将配置信息按功能界限拆分成多个文件,便于管理和团队协作开发。

基于插件的框架 Struts2是一个基于插件的框架,社区中提供了很多实用的插件,比如jfreechat/json等等,使用这些插件可以简化我们的开发,加快开发进度。

大量的拦截器 Struts2本身提供了大量的可重用的拦截器,比如类型转换拦截器,很多时候我们从页面取得参数,这个时候它是String类型的,我们需要手动的把它转成Long型的或是Integer型的再使用,在Struts2中你不必这样做,Struts2中已经帮你做了这些事情了。

当然我们也可以实现自定义的拦截器,比如:权限检查拦截器来做访问控制。

惯例大于配置 惯例大于配置是Struts2的架构目标,比如我们需要对页面输入的数据进行验证,只需取一个跟Action同名的xxAction-validation.xml文件,Struts2就会自动的进行验证。

还有很多,比如国际化资源文件等。

多种视图的支持 多种视图的支持:jsp,freemarker,Veloctiy,只要你愿意,你甚至可以通过轻松的改造让它支持pdf,同一个项目中你可以支持多种视图。

申明式的异常处理 Struts2提供了方便的申明式异常处理,它看起来像这样: /WEB-INF/pages/client/licenceException.jsp /WEB-INF/pages/client/unPay.jsp /WEB-INF/pages/client/essDeny.jsp 如果你以前是WebWork的用户,那么你会觉得Struts2和WebWork实在是太像了,当然如果你以前是Struts1.x的忠实用户,也能够快速的过渡到Struts2的开发中来,如果你重来没有用过任何框架,你也可以通过快速的学习,加入到Struts2的应用开发中来,因为它足够的简单。

struts2是什么?

曾经有人发明了servlet,jsp, 一群人欢欣鼓舞,开始投入jsp的怀抱, 可以慢慢的发现获取参数好麻烦,跳转个页面也难,调试也难, 最重要的随时都有乱码可能 于是有几个自认为很NB的人就搞出一个struts1, 自动封装参数, 优雅的跳转, 前后台分离,MVC概念应用, 出乎意料的火了 后来他们就有钱了, 把xwork忽悠过来一起搞出来一个struts2, 国际化啊, 低耦合啊, 各种第三方框架支持啊, 反正很臃肿后就看上去高大上了 上面说的这个很久远的故事一直发展到今天, struts2已经融入了各种培训机构, 企业单位个人都在很爽快的使用

CYUN(29元/月)美国、香港、台湾、日本、韩国CN2,续费原价

关于CYUN商家在之前有介绍过一次,CYUN是香港蓝米数据有限公司旗下的云计算服务品牌,和蓝米云、蓝米主机等同属该公司。商家主要是为个人开发者用户、中小型、大型企业用户提供一站式核心网络云端部署服务,促使用户云端部署化简为零,轻松快捷运用云计算。目前,CYUN主要运营美国、香港、台湾、日本、韩国CN2线路产品,包括云服务器、站群服务器和独立服务器等。这次看到CYUN夏季优惠活动发布了,依然是熟悉的...

HostYun(月18元),CN2直连香港大带宽VPS 50M带宽起

对于如今的云服务商的竞争着实很激烈,我们可以看到国内国外服务商的各种内卷,使得我们很多个人服务商压力还是比较大的。我们看到这几年的服务商变动还是比较大的,很多新服务商坚持不超过三个月,有的是多个品牌同步进行然后分别的跑路赚一波走人。对于我们用户来说,便宜的服务商固然可以试试,但是如果是不确定的,建议月付或者主力业务尽量的还是注意备份。HostYun 最近几个月还是比较活跃的,在前面也有多次介绍到商...

80VPS:香港服务器月付420元;美国CN2 GIA独服月付650元;香港/日本/韩国/美国多IP站群服务器750元/月

80vps怎么样?80vps最近新上了香港服务器、美国cn2服务器,以及香港/日本/韩国/美国多ip站群服务器。80vps之前推荐的都是VPS主机内容,其实80VPS也有独立服务器业务,分布在中国香港、欧美、韩国、日本、美国等地区,可选CN2或直连优化线路。如80VPS香港独立服务器最低月付420元,美国CN2 GIA独服月付650元起,中国香港、日本、韩国、美国洛杉矶多IP站群服务器750元/月...

struts2为你推荐
密码设置怎样登录怎样设置密码实数的定义实数的概念是什么,实数包括0吗?蓝牙开发开发者选项里的蓝牙设置如何设置最好?印度it印度IT业与中国IT业的差异?深度剖析!空间图片从哪里能找到更好的空间图片廖华如何构思作文课教案 南京廖华移动硬盘提示格式化移动硬盘显示需要格式化怎么修复3d规则福彩3d有几种玩法 详细介绍一下微信备份通讯录在哪微信6.3.6通讯录备份在哪delphi2007delphi 7和delphi 2007中查找哪些地方调用了某个函数
域名网 域名转让 服务器配置技术网 瓦工 idc评测网 密码泄露 服务器怎么绑定域名 免费网络电视 服务器架设 eq2 空间服务商 最好看的qq空间 卡巴斯基永久免费版 骨干网络 193邮箱 老左来了 免费防火墙 我的世界服务器ip 免备案cdn加速 七十九刀 更多