`
dq1618
  • 浏览: 57078 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Struts工作流程

阅读更多
一个用户的请求是通ActionServlet来处理和转发的。那么,ActionServlet如何决定把用户请求转发给哪个Action对象呢?这就需要一些描述用户请求路径和Action衍射关系的配置信息了。在Struts中,这些配置映射信息都存储在特定的XML文件Struts- config.xml中。在该配置文件中,每一个Action的映射信息都通过一个<Action>元素来配置。

这些配置信息在系统启动的时候被读入内存,供Struts在运行期间使用。在内存中,每一个<action>元素都对应一个org.apache.struts.action.ActionMapping类的实例。

对于采用Struts框架的web应用,在web应用启动时就会加载并初始化ActionServlet,ActionServlet从struts- config.xml文件中读取配置信息,把它们存放到各个配置对象中,例如Action的映射信息存放在ActionMapping对象中。

当ActionServlet接收到一个客户请求时,将执行如下流程:

1.检索和用户请求相匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效信息。

2.如ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。

3.根据配置信息决定是否需要表单验证。如果需要验证,就调用ActionForm的Validate()方法。

4.如果ActionForm的Validate()方法返回null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功。

5.ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法。

6.Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件。

7.ActionForward对象指向的JSP组件生成动态网页,返回给客户。


Trackback: http://tb.donews.net/TrackBack.aspx?PostId=1074987
8
0
分享到:
评论
2 楼 dq1618 2008-04-02  
看哈源码 收获不少哟
1 楼 beyondqinghua 2008-03-25  
STRUTS1.X的开发效率比较复杂,现在转上STRUTS2了!

相关推荐

    最详细的Struts工作流程图

    这是一个详细的Struts工作流程图,里面包含JSP、java(Action、ActionForm等)类

    struts工作流程.doc

    1. 客户端发送一个请求,...2. ActionSevlet首先调用struts配置文件(struts-config.xml),如果有表单提交,需要自动填充ActionForm Bean(找struts配置文件的),根据请求分派给相应的Action(找struts配置文件的)。

    Struts2工作流程图

    虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度...

    Struts工作流程.ppt

    掌握MyEclipse开发工具的使用方法和技巧,掌握Struts框架开发的一般步骤,理解Struts框架的工作流程,加深理解Struts的MVC模型。

    struts2工作流程

    NULL 博文链接:https://ollevere.iteye.com/blog/1150639

    STRUTS工作流程图

    学习STRUTS的好东西

    jsp项目开发实录 Struts 实现 程序完整Struts 实现 程序完整

    jsp项目开发实录 jsp项目开发实录 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整...

    Struts2工作流程

    Struts2的工作流程及struts2配置文件中各属性的含义

    struts工作流程

    java开发简单易懂的struts理论,适合初学者

    超详细struts2执行流程图

    这张流程图 深刻的描述了 struts2的执行流程 帮助了解Struts2

    Struts的工作流程

    Struts的工作流程 DOC

    struts.hibernate工作流程

    struts和hibernate的工作流程详细

    struts1的工作流程

    struts1的工作流程,初学者不错的资源

    struts工作原理和开发流程

    struts工作原理和开发流程,struts工作原理和开发流程,struts工作原理和开发流程

    Struts开发指南之工作流程

    Struts开发指南之工作流程下图是Struts的工作流程,前边我们提到,所有的请求都提交给ActionServlet来处理。 ActionServlet是一个FrontController,它是一个标准的Servlet,它将request转发给RequestProcessor来...

    Struts运行流程图(详细)

    底层,详细. Struts运行流程图(详细) Struts运行流程图(详细) Struts运行流程图(详细)

Global site tag (gtag.js) - Google Analytics