一、总体介绍:
Struts 是由 Apache 开源联盟(www.apache.org)提供的一套用于构建 Java
Web 应用程序的框架。它的目标是希望分离 Web 程序的表示层、控制层和模型
层,即 MVC 模式,使程序员将更多的精力投入后台的业务逻辑设计,而不是
底层的 Web 基础框架。
Struts 的所有功能都是建立在已有的 Java Web 组件上,如 Servlet、JSP 或是
JavaBean,它只是利用一种方式将这些元素组织起来,使他们协同工作。
总之,Struts 只是一个 MVC 框架(Framework),用于快速开发 Java Web
应用。Struts 实现的重点在 C(Controller),包括 ActionServlet / RequestProcessor
和 我 们 定 制 的 Action, 也 为 V(View) 提 供 了 一 系 列 定 制 标 签 ( Custom
Tag)。 Struts 几乎没有涉及 M(Model),所以 Struts 可以采用 Java 实现的任何
形式的商业逻辑。
Struts 基本模型: Action Service Dao DB
org.apache.struts.ActionServlet
说明:该类继承了标准的javax.servlet.http.HttpServlet 类,在处理请求时控制
器将完成如下任务:
1、为到来的请求找到URL
2、把URL 映射到适当的ActionMapping
3、创建或找到封装相关的ActionMapping 实例
4、如果找到了ActionForm 的声明,就根据声明创建或找到ActionForm
bean 的实例,并且用request 参数去产生一个ActionForm bean 的属性。
5、对于在ActionMapping 中声明的Action 类实例,调用适当的execute
方法,并为之传递ActionMapping 对象,ActionForm 对象,request
对象,response 对象4 个参数。
6、接受execute 方法返回的ActionForward,转发响应到源(该源由
ActionForward 指定)
注:以上任务都被定义在struts-config.xml 中,ActionServlet 会读取strutsconfig.
xml 的相关信息然后完成任务。ActionServlet 的声明是在web.xml 中完成的,配
置ActionServlet 和配置其他Servlet 没有区别。
org.apache.struts.action.ActionMapping:
1
客
户
端
浏
览
器
Struts-config.xml
ActionServlet
JSP
DB
模型
组件
Action
Action