java Struts框架原理

Struts 框架原理


1.Struts 的流程
服务器启动后,根据 web.xml 加载 ActionServlet 读取 struts-config.xml 文件内容到内存。
以登陆为例 :
第一次进 login.jsp 会先实例化 Form 、把默认值赋给表单元素。
输入用户名密码提交表单、提交到 action 属性的 login.do,
通过 ActionServlet 读 struts-config.xml 文件找到 action 下的 path 属性找到 .do,
通过 name 属性找 form-beans 中的 form-bean 的 name 属性得到 ActionForm 的包名类名 ,
先实例化 form ,把表单的值填充给 form ,调用 form 的 validate 方法验证、
ActionErrors 返回 null 表示验证通过,否则失败返回 input 指定的页面 .
验证通过会实例化 Action ,执行 Action 的 excute 方法。
Struts 对 Model , View 和 Controller 都提供了对应的组件。


在上图中, ActionServlet ,这个类是 Struts 的核心控制器,负责拦截来自用户的请求。

Action,这个类通常由用户提供,该控制器负责接收来自 ActionServlet 的请求,
并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给 JSP 页面显示。

-----------------------------------------------------------------------------------
2.Struts MVC 模块
2.1Model 部分 (ActionForm+JavaBean)

  由 ActionForm 和 JavaBean 组成,其中 ActionForm 用于封装用户的请求参数,
封装成 ActionForm 对象,该对象被 ActionServlet 转发给 Action ,
Action 根据 ActionFrom 里面的请求参数处理用户的请求。 J
avaBean 则封装了底层的业务逻辑,包括数据库访问等。

2.2View 部分 (jsp+other)
该部分采用 JSP 实现。Struts 提供了丰富的标签库,通过标签库可以减少脚本的使用,
自定义的标签库可以实现与 Model 的有效交互,并增加了现实功能。对应上图的 JSP 部分。

2.3Controller 组件 (Action)

Controller 组件有两个部分组成——系统核心控制器,业务逻辑控制器。
系统核心控制器,对应上图的 ActionServlet 。
该控制器由 Struts 框架提供,继承 HttpServlet 类,因此可以配置成标注的 Servlet 。
该控制器负责拦截所有的 HTTP 请求,然后根据用户请求决定是否要转给业务逻辑控制器。
业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用 Model 来完成处理。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值