快速业务通道

将Struts应用迁移到Struts 2(一) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
Action方法之后的返回值,获取相应Result类,生成并调用它的实例。处理Result可能产生的结果之一就是对UI模板(但并非只有一个)进行渲染,来产生HTML。如果是这种情况的话,模板中的Struts 2 tags可以直接从Action中获取要被要被渲染的值。

请求再次经过一系列拦截器处理后返回 - Request以和进入时相反的方向通过拦截器组,当然,你可以在这个过程中进行回收整理或者额外的处理工作。

响应被返回给用户 - 最后一步是将控制权交还给Servlet引擎。最常见的结果是把渲染后的HTML返回给用户,但返回的也可能是指定的HTTP头或者进行HTTP重定向。

你应该已经注意到Struts 2和Struts的差别了。最明显的就是Struts 2是一个pull-MVC架构。这是什么意思呢?从开发者角度看,就是说需要显示给用户的数据可以直接从Action中获取,而不像Struts那样必须把相应的Bean存到Page、Request或者Session中才能获取。

配置框架

首先最重要的是,通过配置web.xml文件让框架能在Servlet容器里运行。

下面这个就是大家都熟悉的Struts在web.xml里的配置方法:

action    org.apache.struts.action.ActionServlet      config      /WEB-INF/struts-config.xml    2    action    *.do

在Struts 2中,配置有少许改变,最明显的是分发器(dispatcher)已由Servlet转为Servlet Filter, 其配置和Servlet一样简单,如下:

webwork      org.apache.struts.action2.dispatcher.FilterDispatcher    webwork    /*

和Servlet配置一样,Filter配置中定义了Filter的名称(作为引用)和类名。Filter Mapping通过URI和名称匹配来调用相应的Filter。默认情况下,扩展名为“.action”,这是在default.properties文件(在Struts 2 JAR文件里)的“struts.action.extension”属性定义的。

工具箱:“default.properties”是默认配置选项定义文件。你可以通过在classpath中包含一个叫“struts.properties”的文件,设置不同的属性值,来覆盖默认配置的值,实现自己的配置。

对于Struts来说, Servlet配置提供了一个用于定义文件名的init-param tag来配置Struts,而Struts 2没有这样的配置参数,取而代之的是在classpath下的默认配置文件“struts.xml”。

工具箱/提示:因为Struts Actions(扩展名“.do”)和Struts 2 Actions(扩展名“.action”)两者的扩展名命名空间不一样,所以Struts和Struts 2可以在同一个Web应用系统中无碍地共存。所以这就为迁移提供了很好的条件,加入适当的配置,新功能的开发都用Struts 2。保持原有的遗留功能,如果时间和资源允许的情况下再逐步迁移。另一种方法是,只把Struts 2的扩展名改为“.do”,这样就可使得以前的JSP页面可重用。

将Struts应用迁移到Struts 2(一)(3)

时间:2011-03-24

解剖Actions

在上面介绍的请求运作流程中,我们从高层次上谈及了一些Struts和Struts 2的不同点。现在我们将较深入地探讨这两个框架中Action结构的具体差别。

让我们来回顾一下Struts的Action的主要结构。Struts Action的主要形式如下:

public class MyAction extends Action {    public ActionForward execute(ActionMapping mapping,                  ActionForm form,                  HttpServletRequest request,                  HttpServletResponse response)        throws Exception {      // do the work      return (mapping.findForward("success"));    } }

当你实现一个Struts Action时, 需要注意以下问题:

所有的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号