java struts框架_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 都提供了对应的组件。

0818b9ca8b590ca3270a3433284dd417.png

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

Action,这个类通常由用户提供,该控制器负责接收来自 ActionServlet 的请求,

并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给 JSP 页面显示。

-----------------------------------------------------------------------------------

2.Struts MVC 模块 2.1Model 部分 (ActionForm+JavaBean)  由 ActionForm 和 JavaBean 组成,其中 ActionForm 用于封装用户的请求参数,封装成 ActionForm 对象,该对象被 ActionServlet 转发给 Action , Action 根据 ActionFrom 里面的请求参数处理用户的请求。 JavaBean 则封装了底层的业务逻辑,包括数据库访问等。2.2View 部分 (jsp+other)该部分采用 JSP 实现。Struts 提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与 Model 的有效交互,并增加了现实功能。对应上图的 JSP 部分。2.3Controller 组件 (Action)Controller 组件有两个部分组成——系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的 ActionServlet 。该控制器由 Struts 框架提供,继承 HttpServlet 类,因此可以配置成标注的 Servlet 。该控制器负责拦截所有的 HTTP 请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用 Model 来完成处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值