webwork培训.ppt_第1页
webwork培训.ppt_第2页
webwork培训.ppt_第3页
webwork培训.ppt_第4页
webwork培训.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 WebWork培训 作者 moxie 安子 学员要求 掌握Java Jsp JavaServlet 并有一定的Web编程经验课程目的 理解WebWork的核心原理 掌握WebWork开发的相关知识 并能使用WebWork进行实际开发 2 目录 WebWork入门WebWork原理WebWork标签库和ELWebWork实例 3 WebWork原理 MVC模式MVC最初是在Smalltalk 80中被用来构建用户界面Model实现了应用领域的业务模型View用来展现模型中的数据和内部状态Control也称为Dialog 它协调Model与View 把用户请求翻译成系统识别的事件 4 J2eeWebFramework之现状 WebWork 最灵活 简单的Web框架SpringWebFramework 最全面的Web框架Struts 资源最丰富的Web框架Tapestry 组件化最完美的Web框架JSF 最接近的Web框架Portal 最适合集成的Web框架 5 WebWork概述 XWork1 WebWork1 WebWork2 Web Non web 6 Action 请求的动作都对应于一个相应的Action一个Action是一个独立的工作单元和控制命令它必需要实现XWork里的Action接口 publicinterfaceActionextendsSerializable publicstaticfinalStringSUCCESS success publicstaticfinalStringNONE none publicstaticfinalStringERROR error publicstaticfinalStringINPUT input publicstaticfinalStringLOGIN login publicStringexecute throwsException 7 例子 用户注册 register jsp xwork xml registerSuccess jsp register action 8 ActionSupport 提供Action常用功能的一个基类错误消息的支持actionandfieldspecificerrorsfielderrorsareautomaticallysupportedbyviews国际化支持1resourcebundleperactionpervasiveUIsupportforretrievingmessages 9 ActionContext 一次Action调用都会创建一个ActionContext调用 ActionContextcontext ActionContext getContext 在WebWork中 它通过包装提供了对Servlet的访问 HttpSession context getSession HttpServletRequestparameters context getParameters ServletActionContext 继承ActionContext 可以直接访问servlet相关的API PageContext HttpServletRequest HttpServletResponse ServletConfig ServletContext 10 二 WebWork原理 XWork的层次 ActionProxy ActionInvocation Action ActionProxy 管理Action的生命周期 它是设置和执行Action的起始点 ActionInvocation 在ActionProxy层之下 它表示了Action的执行状态 它持有Action实例和所有的Interceptor 11 WebWork原理 12 Interceptors PracticalAOP verysimple noexternaldependenciesallowsyoutointerceptactioninvocationsHelpdecoupleandcomponentizeyourcodeInterceptorsareorganizedinto stacks listsofinterceptorsappliedinsequence appliedtoanyactionorpackageofactionsWebWorkismostlyimplementedasaseriesofXWorkinterceptors 13 例子 TimerInterceptor publicclassTimerInterceptorimplementsInterceptor publicStringintercept ActionInvocationdispatcher longstartTime System currentTimeMillis Stringresult dispatcher invoke longexTime System currentTimeMillis startTime log info dispatcher getProxy getActionName ranin exTime ms returnresult xwork xml 14 Interceptor的执行顺序 Interceptor截获Action的执行 并在它的之前或之后调用相应的方thisWillRunFirstInterceptorthisWillRunNextInterceptorthisWillRunLastInterceptorMyAction1MyResult result thisWillRunLastInterceptorthisWillRunNextInterceptorthisWillRunFirstInterceptor 15 ValueStack 由OGNL框架实现可以把它简单的看作一个ListStackObject 放入stack中的对象 一般是action StackContext map stack上下文 它包含一些列对象 包括request session attr applicationmap等 EL 存取对象的任意属性 调用对象的方法 遍历整个对象结构图 16 ResultType Result它是Action执行之后返回的一个字符串常量它表示Action执行完成的状态 ResultType它是一个类它在Action执行 并返回result之后调用它用来决定WebWork使用什么方式展现界面 register registerSuccess jsp 17 三 WebWork标签库和EL 取值输出迭代标签 可以输出Collection Iterator Enumeration Map array XMLNode orXMLNodeListstatus 用来取得迭代器的状态 getCount getIndex isFirst isLast isEven isOdd 18 ExpressionLanguage 例子 员工登记 19 四 实例 验证多模块处理一个Action类多方法文件上传防止重复提交进度条显示 20 验证 XWork验证框架验证Action的属性减弱验证与Action之间的耦合验证信息存储在独立的xml文件中验证出错信息放置在Action中可插拔的验证类验证机制有Interceptor实现 21 已提供的验证类 22 例子 注册验证 register jsp xwork xml registerSuccess jsp register action RegisterAction validation xml register jsp 验证出错 23 多模块 Include 使用多个XWork配置文件Package package之间可以继承Namespace 用来区分不同package中的action 24 一个Action类多方法 方法要求 无参数 返回一个字符串类型 抛出Exception 例如 publicStringdoDefault throwsExcetpion returnINPUT 定义方式1 直接访问 actionName methodName action 例如 register doDefault action2 在XWork中定义 使用method属性 例如 25 文件上传 fileUpload jsp xwork xml uploadSuccess jsp fileUpload action 26 防止重复提交 doubleclick 在页面中设置session setAttribute tokenName token 配置拦截器TokenInterceptorTokenSessionStoreI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论