struts2的简介_小记

来源:互联网 发布:三网通彩信软件 编辑:程序博客网 时间:2024/05/21 09:48

struts2的由来:利用WebWork2的核心+struts1的名气,由此可见,struts2与struts1的编程风格差别很大。struts2与struts1的区别:1、struts2是无侵入式设计,而struts1是侵入式设计(struts1中的所有action都要继承一个Action类,并覆写其中的execute(abstract)方法,这里引入一个老生常谈的类:  
<span style="white-space:pre"></span>public ActionForward execute(ActionMapping mapping,                     ActionForm form,                      javax.servlet.ServletRequest request,                     javax.servlet.ServletResponse response)                    throws java.lang.Exception
这里的javax.servlet.ServletRequest request还有response都是当作参数传进来,如果没有这两个参数,,则使用不了struts1的框架,这里的框架与API的耦合度高。 但是在struts2种的execute方法,变成了这样:

   String execute()throws Exception
</pre><pre name="code" class="java">    这里是空参,这意味着,struts2实现了与servletAPI和strutsAPI的解耦。判断是否为侵入式设计,网上说这个是相对的,struts2相对于struts1来说,没有那么依赖servletAPI和strutsAPI,但是这个框架还是要运行在servlet容器(或者说引擎)里)
 2、struts1对于用户输入的数据要进行数据的转换时,要通过底层调用BeanUtils来进行数据转换器的注册,而struts2把这些步骤都写到框架里面了。

      3、struts2提供了拦截器(过滤器又名拦截器,俗名:保安),利用拦截器可以实现AOP编程(面向方面编程),在struts1中,Mvc的C是servlet,

           在struts2是filter。

     4、struts1中对于用户输入的信息进行验证时,必须对所有的字段进行验证,而struts2中,可以对指定的字段进行验证。

    5、struts1的显示层只支持jsp,但struts2支持jsp、 velocity(myEclipse的jsp模版就是使用它写的)等。

    6、struts2提供了全局范围、包范围、action范围的国际化资源文件的管理(其中国际化资源文件的扩展名为:*.properties)


以上,欢迎纠错


0 0
原创粉丝点击