Struts高级部分-Action详解.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Struts高级部分-Action详解.ppt

Struts高级部分-Action详解 中科软培训部 回顾: ActionForm对象的作用; ActionForm对象作用域; ActionForm对象的reset和validate; 动态ActionForm的配置和使用; 重点: Action类的缓存机制; Action类的安全; 其它的Action内置类:ForwardAction,LookUpDispatchAction,DispatchAction等的使用; Action类缓存机制 为了确保线程安全,在一个应用的生命周期中,Struts框架只会为每个Action类创建一个Action实例,所有的用户请求共享同一个Action实例,并且所有的请求线程可以同时执行它的execute方法; 当用户的一个请求执行RequestProcessor类的process方法时.他就调用了RequestProcessor类本身的一个processActionCreate()方法.在这个方法中:首先检查在HashMap中否存在Action的实例,如果存在,就返回这个实例,如果不存在,就创建一个实例,然后在保存到HashMap中; 使用内置的Struts Action类 Struts提供了一些现成的Action类,在Struts应用中直接使用这些Action类可以大大的节省开发时间,其中最常用的有: org.apache.struts.actions.ForwardAction org.apache.struts.actions.DispatchAction org.apache.struts.actions.LookupDispatchAction org.apache.struts.actions.ForwardAction 在Jsp网页中,尽管可以直接通过jsp:forward标签把请求转发给其它Web组件,但Struts框架提倡先把转发发给控制器,再由控制器来负责请求转发; 能过Action来转发,控制器RequestProcessor会做一些预处理操作,这样,我们被跳转的web组件就可以正常的访问ModuleConfig和MessageResources对象了; JSP网页之间直接相互转发违背了MVC的分层原则,按MVC 的设计思想,控制器是用来处理所有请求的,如果直接用jsp相互调用,就失去了流程控制的作用了; org.apache.struts.actions.ForwardAction 作用:将不通过任何处理,直接跳转到下一个Web资源 配置方法和普通的action是一个的,只是type必须为org.apache.struts.actions.ForwardAction; 在action的标签中多加一个parameter的属性,这属性值为跳传的一个URL字符串 如: action path=“/next” parameter=“/next.jsp” type=“org.apache.struts.actions.ForwardAction” scope=“request” name=“infoForm” validate=“true” input=“info.jsp” Org.apache.struts.actions.DispatchAction 作用:通常一个Action类中只能完成一种业务操作,如果一个Action类中完成一组相关的业务操作,可以使用DispatchAction; 用法: 创建一个DispatchAction的子类,不必覆盖execute方法,而是创建一些实现实际业务操作的方法,这些业务方法都应该和execute方法一样具有相同的方法签名,即他们的参数和返回类型都必须跟execute方法相同; 在配置的时候,只需要把parameter属性设置为method就可以了. 如: action path=“/douser” type=“com.action.DoUserAction” scope=“request” input=“douser.jsp” validate=“false” parameter=“method” 访问这个Action的URL: /douser?method=deleteid=2 例:DispathAction的使用 public class DoUserDispatchAction extends DispatchAction { public ActionForward delete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { requ

文档评论(0)

gshbzl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档