[工学]第四讲 Struts2X基础.ppt

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

Struts2执行Hello World程序的过程简析 用户发出URL为http://localhost:port/..Helloworld.action后,Struts2对此请求的处理流程为: 首先是web.xml中配置的过滤器-FilterDispatcher开始工作; 依据配置文件struts.xml找到响应请求的action——HelloworldAction 执行HelloworldAction中的处理方法-excute(); 返回struts.xml中action元素中配置的返回页面—HelloWorld.jsp HelloWorld程序工作原理 Struts处理用户请求的流程 Servlet 过滤器 ActionContextCleanup过滤器在使用SiteMesh时采用。 用户的请求一般由FilterDispatcher进行响应和处理。 FilterDispatcher处理时调用ActionMapper和ActionProxy组件。 Struts处理用户请求的流程 Action映射解析器-ActionMapper ActionMapper接口定义HTTP请求与Action请求调用之间的映射机制。 FilterDispatcher拦截到用户发出的HTTP请求时,调用ActionMapper接口中提供的方法判断请求是否与自己要处理的用户请求相匹配(不是靠配置文件,而是其它规则),若是,则调用ActionProxy进一步处理。 ActionMapper的另一作用是根据用户请求生成向ActionProxy请求Action调用的URI. Struts处理用户请求的流程 Action代理—ActionProxy 至此,需用一个Action来处理用户的请求,那么FilterDispatcher将控制权交给ActionProxy。 ActionProxy根据ActionMapper生成的URI以及配置管理器来找相应的Action对象。 然后ActionProxy创建代表被执行Action的ActionInvocation对象,并通过ActionInvocation来执行相应Action的处理方法。 Struts处理用户请求的流程 ActionInvocation的作用 实现对Action方法的调用; 在调用Action的前后,加入对各种拦截器的调用。 根据Action处理的结果查找Result对象。 Struts处理用户请求的流程 Reslt-处理结果 在Struts.xml中配置的相匹配的处理结果。 FilterDispatcher-Servlet过滤器 是Struts的核心控制器 FilterDispatcher的作用 执行Action 实际上是判别当前请求是否要调用Action. 清出ActionContext(以免内存信息泄露,如果配置) 提供精通资源(根据URL判别是否要调用JavaScript、CSS等静态资源) 启动处理用户请求的过滤器链 交由ActionProxy. 用户登录处理流程图 * 1.编写业务控制器(action:LoginAction) public String execute() throws Exception { if (getUsername().equals(scott) getPassword().equals(tiger) ) { ActionContext.getContext().getSession().put(user , getUsername()); return SUCCESS; } else { return ERROR; } } } * Struts2的实现 Action接口访问ActionContext Struts 2框架的Action强调的是与Servlet API完全分离。 但是,Struts 2的Action不访问Servlet API是不能实现业务逻辑的。例如访问Request、Session、Application状态等。 一般Web应用中,需要访问的Servlet API就是HttpServlet、HttpSession和ServletContext,这3个类就包含了JSP内置对象中所对应的Request、Session和Application。 Struts 2试图给开发者一个优雅宽松的开发结构,提供了一个很简洁的方式来访问Servlet API。 * Struts2的实现 Action接口访问ActionContext

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档