• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

半翻译半整理的一点struts的东东,很浅显的,欢迎指正

发布: 2007-7-01 18:47 | 作者: admin | 来源: | 查看: 12次 | 进入软件测试论坛讨论

领测软件测试网 Struts学习笔记

一、    Controller(控制器)
Struts中的控制器包括三个组件:ActionServlet类、Action类、Plugins以及RequestProcesser。
1.    ActionServlet类:
◆ 处理过程:
org.apache.struts.action.ActionServlet类是Struts应用程序的核心。它是处理客户端请求和决定哪一个Action类来处理每个接收到的请求的最主要的控制器组件。它担当着Action工厂类的角色去创建一个指定的Action类。事实上,它也就是继承于HttpServlet类的一个Servlet类。它实现了HttpServlet生命周期中的所有方法,如:init(),doGet(),doPost(),destroy()。当ActionServlet接收到请求之后,它的执行步骤如下:
① doGet()或者doPost()方法接收请求,然后调用ActionServlet类的process()方法。Process()方法会返回一个当前的RequestProcessor类的实例对象。然后调用RequestProcessor类的process()方法。而实际为当前请求提供处理服务的就是这个process()方法。所有的一切都是在这里完成的。
② RequestProcessor.process()方法会从struts-config.xml文件中将<form-bean>的name属性与<action>中的name属性对应起来,从而找到相关的ActionForm类的类名称
③ 到实例池中找一个ActionForm类的实例。将它的数据成员与请求的值对应起来。
④ 调用ActionForm类的validate()方法,检查提交数据的有效性。
⑤ 从<action>中接收到Action类的类名称。创建一个Action类,然后调用Action类的execute()方法。当Action类返回一个ActionForward类的实例之后,控制权再次交给ActionServlet。
⑥ ActionServlet则forward到指定的target进行处理。至此ActionServlet对request的处理完毕。
◆ 扩展ActionServlet类:
如果想写自己的ActionServlet类,则一定要继承自org.apache.struts.action.ActionServlet类,并且按下面的四个步骤进行:
① 创建一个继承自org.apache.struts.action.ActionServlet类的类。
② 实现自定义的商业逻辑方法。
③ 编译这个类,并且将它放到Web 应用程序的类路径中
④ 修改web.xml文件中的<servlet>元素中的相关设置。
◆ 配置ActionServlet:见“web.xml配置文件”一文。
2.    Action类:
这是Struts控制器的第二个组件,Action类在每一个应用系统中都必须被扩展。下面看一看Action中重要的方法:
① execute()方法:这个方法是必须要重写的方法。Action类中实现了两个execute()方法,一个接受Http请求,一个不是。
◆    扩展Action类
① 创建一个继承于Action的类
② 实现execute()方法和自己的商业逻辑
③ 在struts-config.xml文件中配置<Action-mappings />元素
在struts-config.xml中配置Action类的参数,请参考“struts-config配置文件讲解”。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网