Struts学习笔记一

根据《Java高手真经》整理的学习笔记

Struts是一种基于MVC(Model,View,Controller)模式的软件框架。

一、Struts体系结构

Struts是一种开源代码的应用框架,也就是把Servlet,JSP,JavaBean,自定义标签和信息资源整合到一个统一的框架中,为Web开发提供可配置型的MVC开发模式。



具体过程为:

  • 当用户提出Request请求,被ActionServlet接受,依据struts-config.xml的配置文件来决定将用户的请求发给具体哪个Action对象。在struts-config.xml中每个action映射信息都通过一个action元素配置,这些配置信息在系统启动的时候被读入内存,每个action元素都对应一个actionMapping实例
  • Model模型通过Action更新系统的状态,调用业务逻辑
  • View主要由Jsp建立,并且struts自己本省有自定义标签库可以用来创建用户界面

二、关于Struts的核心组件和相关配置文件

ActionServlet:核心组件,接受用户请求和状态改变,发出视图的选择——Controller

ActionMapping:状态改变事件

Action:用于模型交互、执行状态改变或状态查询告诉ActionServlet下一个选择的视图

ActionForward:用户指向或视图的选择

ActionForm:状态改变的数据

ApplicationResources.properties:存储本地化信息和标签

struts-config.xml:包含用户请求路径和Action映射关系的配置信息

 

struts-html.tld:创建struts输入表达的tag和html相关的tag

struts-bean.tld:访问bean和bean属性时使用的tag

struts-logic.tld:生成输出文本和其他一些控制信息

struts-tiles.tld:进行站点也没布局

struts-nested.tld:增强struts标签嵌套使用的能力

三、Struts请求处理流程

  1. 检索和用户请求相匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效。
  2. 如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。
  3. 根据配置信息决定是否需要表单验证,如果需要验证,就调用ActionForm的Validate()方法
  4. 如果ActionForm的Validate()方法返回null或返回一个ActionErrors对象,就表示表单验证成功
  5. ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action,如果不存在,就先创建这个实例,然后调用Action的execute()方法
  6. Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件
  7. ActionForward对象指向的JSP组件生产动态网页,返回给客户。
posted @ 2012-07-20 21:00  double_song  阅读(245)  评论(0编辑  收藏  举报