`
zljpp
  • 浏览: 255557 次
社区版块
存档分类
最新评论

Struts功能详解——Struts控制流

 
阅读更多

Struts框架是基于控制层的一个MVC框架,所以对于Struts框架来说,最核心的东西就是控制。这次毕业论文答辩的时候,老师问了“什么叫控制”。当时听起来有点雷人。但是事后一想,确实是这样,Struts就是控制。我毕业论文是采用Struts框架实现的。当然里面少不了关于控制的理论。我当时回答他的是关于web应用上,控制代表的操作。比如对页面传递过来的信息进行校验,分发等。但是老师对我的答案不是认同,他说我这个是纯工程上的说法,我们要求从理论上说,他从控制论的角度去解释了一下控制。他说的虽然有点空,但是也不是不对,可能这也是我们这些工程人员所欠缺的吧。

既然Struts最核心的就是控制,那么下面就解释一下Struts的控制流。首先看一张时序图。




说明:

  • 客户端请求匹配Action URI 样式的路径
  • 讲客户端请求传递给ActionServlet ,服务器容器执行。
  • 如果这个是模块化的,将选择相应的模块。
  • ActionServlet查询路径的映射,在struts-config.xml文件中。
  • 如果映射标明了一个form bean ,ActionServlet判断它是否存在。
  • 如果mappingvalidate字段为true,则调用validate方法。
  • 如果失败,ActionServlet转发给input对应的页面。
  • 如果mapping标明一个Action,如果它已经存在或实例化,则他被重用。
  • 执行Actionexecute方法。调用用户自定义bean
  • Action 返回一个ActionForwardActionServlet
  • ActionForward指定一个URI,返回用户视图。

其实Struts控制是一个比较简单的过程,他主要是控制数据有效性,还有控制数据传递路径有效。还定义了一些如果出错会采取那些办法。这里面用到了很多很好的面向对象的思想。值得去借鉴。在接下来会研究一下。


分享到:
评论

相关推荐

    低清版 大型门户网站是这样炼成的.pdf

    3.2 struts 2控制标签详解 105 3.2.1 if/elseif/else标签详解 105 3.2.2 iterator标签详解 106 3.2.3 append标签详解 108 3.2.4 generator标签详解 110 3.2.5 merge标签详解 112 3.2.6 subset标签详解 113 ...

    Java Web程序设计教程

    5.3.1action详解 88 5.3.2结果与视图 91 5.3.3struts.xml的配置 94 5.4值栈与ognl表达式 100 5.5struts2的标签库 103 5.5.1控制标签 103 5.5.2数据标签 104 5.5.3表单标签 105 5.5.4非表单ui标签 107 本章...

    Struts in Action中文版

    2.2.3. Struts控制器组件................................................................................................39 2.2.4. 用 Struts 开发Web 应用...................................................

    struts in Action

    2.5. Struts 控制流......................................................................................................50 2.5.1. 总图.....................................................................

    Myeclipse全面详解

    第 2 部分是开发篇,讲解了目前最主流的 Java 项目开发所使用的框架,包括 Struts、 Hibernate、Spring 和 Struts 2 框架,在其中主要讲解了 MyEclipse 中对这些框架集成的开发 功能。 第 3 部分是应用篇,讲解了 ...

    高级Java软件架构师学习计划

    Java流操作和文件系统 Java图形用户界面编程 异常处理与事件响应 Java基础类库与中期项目实战 Java多线程编程、网络编程 项目实战 J2EE中级 数据库基础与linux操作系统 JDBC程序开发 JavaEE基础 JSP、SERVLET、JSTL ...

    IT开发方面的视频教程以及案例视频

    专题:Excel 数据导出导入功能详解 专题:ExtJs 的图表高级应用 专题:log4Net 开发详解 专题:深入讲解 WebService 在实战开发中的应用 专题:水晶报表使用入门及实战 BF-TECH4.0.NET 第二季开学典礼 ASP.NET 之 ...

    delphi7编程百例

    ToolBar工具栏控件的使用 动态建立主菜单选项 窗口界面的动态...详解Canvas生成渐变色窗口背景 WINAPM风格磁化窗口 软件封面的图片显示制作 实现图片的任意角度旋转 奇妙的拼图游戏 ...

    整理后java开发全套达内学习笔记(含练习)

    abstract (关键字) 抽象 ['æbstrækt] access vt....输出格式控制: 转义符: \ddd 1到3位8进制数指定Unicode字符输出(ddd) \uxxxx 1到4位16进制数指定Unicode字符输出(xxxx) \\ \ \' ' \" ...

Global site tag (gtag.js) - Google Analytics