struts1.2源码分析记录

struts思路:
1.struts使用的三板斧ActionForm、DispatchAction、ActionMapping
2.主要关注点:Form、Action、Forward
3.页面如何发送请求参数,后台如何截取.do请求,如何将参数组装成Form,在Action中如何操作Form,如何查找目标页面,如何将Form返回到页面,页面如何通过标签读取Form属性

框架主流程:
Struts所有的请求都要走DispatchAction类的public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse res)方法
可以重载execute方法(完成用户校验,数据库连接初始化),并可以根据method参数将操作转向处理方法。

框架细节:
1.接收.do请求
2.将参数转化成ActionForm
3.找到对应DispatchAction并将ActionForm传递给该DispatchAction的对应方法
4.从mapping中找到目标页面,将ActionForm进行序列化,发送到页面
5.页面通过标签对Form进行解析
框架细节代码(处理http请求并返回):
1.ActionMapping mapping = processMapping(request, response, path);
2.ActionForm form = processActionForm(request, response, mapping);
3.processPopulate(request, response, form, mapping);
4. ActionForward forward =processActionPerform(request, response,action, form, mapping);
5.processForwardConfig(request, response, forward);
6.response.sendRedirect(response.encodeRedirectURL(uri));
7.RequestDispatcher rd = getServletContext().getRequestDispatcher(uri); rd.forward(request, response);


从配置文件和解析配置文件入手
1.struts-config.xml的结构
a.主要元素:data-sources、form-beans、action-mappings、global-forwards、global-exceptions、message-resources、plug-in
b.通过common-digester工具包结合dtd进行xml的自动解析和加载
2.解析struts-config.xml的过程
a.ModuleConfig是与struts-config.xml配对的java对象
b.将xml配置信息加载到内存后,会将资源分配给各个需要的模块并进行初始化


 

转载于:https://my.oschina.net/u/1458864/blog/294242

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值