struts2和struts1的区别

如题所述

第1个回答  推荐于2018-04-20
Struts2是基于WebWork的一个全新框架.
我以前就是学Struts1.4学了一个多月,好不容易有进展了,却被告知现在流行用Struts2.
不过有了Struts1的基础,学Struts2更方便.

Struts2主要改进是取代了Struts1的Servlet和Action.
Struts2的核心框架是当作一个filter来实现其功能的,而Struts1是ActionServlet.
然后在Action上,Struts1都少不了要传递Request等参数,还要继承Action父类,而Struts2只要实现了一个public String execute()就可以了,这样Action就可以实现脱离Servlet 测试.
Struts2还提供了拦截器(Interceptot)等Struts1所没有的技术.
这一点到网上搜搜有很多文献.

一个简单的配置文件:struts.xml(取代了struts1里面的strut-config.xml)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="false" />
<package name="default" extends="struts-default" namespace="/">
<interceptors>
<interceptor name="interceptor_login_check" class="interceptor.LoginCheck" />
</interceptors>

<default-interceptor-ref name="completeStatck"></default-interceptor-ref>

<action name="login" class="action.LoginAction">
<result name="success" >login_success.jsp</result>
<result name="input">login.jsp</result>

<interceptor-ref name="completeStack"></interceptor-ref>
<interceptor-ref name="interceptor_login_check"></interceptor-ref>

</action>

</package>

</struts>本回答被提问者和网友采纳
第2个回答  2018-04-20

你可以去看一下  写得不错

struts1和struts2的区别??
一、主体不同 1、struts1:是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。2、struts2:Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。二、框架不同 1、struts1:通过采...

struts1和struts2的区别,要具体点的,谢谢
1、配置文件格式不同 2、struts1有from类和action类,属性封装from类里,在struts2里只有action类,属性封装action类里 3、页面调用是struts1 是*.do struts2 是*.action 我认为struts2要比struts1,简单、方便、快捷。就是用着比struts1好 以上是我开发的体会,下面是我找的资料 主要表现在如下几...

Struts1和Struts2的区别和对比
Struts1要求Action类继承一个抽象基类;Struts1的一个具体问题是使用抽象类编程 而不是接口。Struts2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制服务成为可能。Struts2 提供一个ActionSupport基类 去实现常用的接口。即使Action接口不是必须实现的,只有一个包含 execute方法的POJO类都...

struts和struts2的区别
• Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口,而struts2的Action是接口。• Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去 实现 常用的接口。Action接口不是必须...

struts2和struts1的区别
不过,Struts1.x与Struts2的Action模型很大的区别。Struts2和Struts1.x的差别,最明显的 就是Struts2是一个pull-MVC架构。这是什么意思呢?从开发者角度看,就是说需要显示给用户的数据可以直接从Action中获取,而不像 Struts1.x那样,必须把相应的Bean存到Page、Request或者Session中才能获取。Struts1.x 必须继承org....

struts2和struts1的区别
Struts2与struts的不同主要体现在以下几个方面。(1) Action类 1》在struts中都是使用抽象类编程而不是接口,因此他要求开发Action类继承一个抽象的基类,如DispatchAction等。2》Struts2则基于接口编程,我们的Action类可以实现一个Action接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport...

struts1和struts2的区别?
1.struts1是单实例多线程编程模式,有安全问题;struts2是多实例单线程。2.struts1是侵入式的即依赖框架,使用了框架大量的API,struts2是非侵入式的。3.struts1的action类必须直接或间接继承Action接口,struts2的action类可以是普通的JavaBean。4.struts1中使用actionForm不能直接传递给DaO层,必须进行相应...

struts1和struts2的区别
Struts1的ActionForm通常都是String类型。Struts1通过Commons-Beanutils实现类型转换。Struts2使用OGNL实现类型转换,框架包含了对基础和公共类型的转换器。9.验证 Struts1支持通过ActionForm中的validate方法实现手工验证。也可以通过扩展通用的验证框架进行验证。对于同一个类可以有不同的验证,但是不能关联到子...

Struts 2Struts2和Struts1的对比
在类型转换方面,Struts1的ActionForm默认使用String类型,而Struts2利用OGNL进行更智能的类型转换,方便了开发者的工作。最后,关于数据校验,Struts1允许覆盖validate方法或利用Validator框架,而Struts2则支持重写validate方法,同时提供了XWork验证框架,提供了更丰富的验证手段。在Action执行控制上,Struts1每个...

struts1和struts2的区别,面试题!!!
只讲区别:1,struts2是在webwork2的基础上发展而来的 2,struts2的耦合度很小 ,不依赖servletAPI 属于无侵入式设计

相似回答