webwork培训.ppt

上传人:xt****7 文档编号:3763394 上传时间:2019-12-23 格式:PPT 页数:29 大小:141.50KB
返回 下载 相关 举报
webwork培训.ppt_第1页
第1页 / 共29页
webwork培训.ppt_第2页
第2页 / 共29页
webwork培训.ppt_第3页
第3页 / 共29页
点击查看更多>>
资源描述
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接口,publicinterfaceActionextendsSerializablepublicstaticfinalStringSUCCESS=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的访问:HttpSessioncontext.getSession()HttpServletRequestparameterscontext.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,PracticalAOPverysimple,noexternaldependenciesallowsyoutointerceptactioninvocationsHelpdecoupleandcomponentizeyourcodeInterceptorsareorganizedintostackslistsofinterceptorsappliedinsequence.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()throwsExcetpionreturnINPUT;定义方式1、直接访问,actionName!methodName.action。例如:register!doDefault.action2、在XWork中定义,使用method属性。例如:,25,文件上传,fileUpload.jsp,xwork.xml,uploadSuccess.jsp,fileUpload.action,26,防止重复提交(doubleclick),在页面中设置session.setAttribute(tokenName,token);配置拦截器TokenInterceptorTokenSessionStoreInterceptor:保存了上次操作的Invocation,27,进度条显示,waitInput,xwork.xml,waitSuccess.jsp,wait.action,wait.jsp,28,总结,重用(松耦合/无侵入):Action接口、Action与Web无关、Interceptor功能强大:EL、验证框架灵活:FormBean/数据Model、多视图支持,29,结束,谢谢各位!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!