您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > Struts-2期末考试
1、MVC模式(View-model-controller)2、MVC模式的优点:(1)低耦合性。视图层、模型层和控制层分离,很容易改变应用程序的数据层和业务规则,只需改变MVC的模型层就可以了。(2)高重用性。多个视图可以对应一个模型,这样减少了代码的重复性及维护量,一旦模型发生改变,也易于维护。(3)可实用性。MVC允许使用各种不同的表现层技术来访问同一个服务器端的代码。如jsp、velocity等。(4)可维护性。3个模块层相分离,是的web应用更易维护和修改。3、model2模式下,模型用javaBean充当,视图有jsp页面充当,控制器由servlet充当。4.struts2是在struts1的基础上发展起来的,以webwork为核心,采用webwork的设计理念。Struts2是webwork的升级。5、webwork是基于MVC架构模式的J2EEWeb框架,现在的最新版本被拆分为XWork和WebWork2两个项目。WebWork的优点:(1)action不需要与WebWork耦合,提高了代码的重用率。(2)支持更多表现层技术,从而有更好的适用性。Webwork的特征:(1)灵活的validation框架。运行开发者在XML文件中定义验证内容,在运行时通过interceptor自动应用,这样可以脱离Action类。(2)Interceptor。在action处理的前后实现动态拦截,简化action代码。(3)支持I18N(4)支持OGNL表达式语言(5)TypeConversion.允许类之间很容易实现对象的转换。(6)允许动态对象图表遍历和方法执行,使用valuestack透明访问多beans的属性。(7)Ioc容器。管理组件的生命周期,使客户不需要通过创建注册类获得组件实例。(8)velocitytemplates.使UI组件可重用,从而允许开发者很容易地定制Web页面的look&feel。(9)容易和第三方软件集成。例如hibernate、spring和sitemesh。(10)支持多种视图技术。如jsp、velosity、freemarker和xml等。6、struts2框架的大致处理流程:(1)客户端浏览器发送一个请求。(2)核心控制器filterdispatcher根据请求决定调用合适的action。(3)webwork的拦截器链自动对请求应用通过功能,如验证。(4)回调action的execute()方法,该方法根据请求的参数来执行一定的操作。(5)execute()方法的处理结果信息将被输出到浏览器中,struts2支持多种形式的视图。如jsp、html。7、web.xml?xmlversion=1.0encoding=UTF-8?web-appversion=2.5xmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/javaee/web-app_2_5.xsdfilterfilter-namestruts2/filter-namefilter-classorg.apache.struts2.dispatcher.FilterDispatcher/filter-class/filterfilter-mappingfilter-namestruts2/filter-nameurl-pattern/*/url-pattern/filter-mappingwelcome-file-list/web-app(2)ShowWords.javapackageaction;importcom.opensymphony.xwork2.ActionSupport;@SuppressWarnings(serial)publicclassShowWordsextendsActionSupport{privateStringname;privateStringwords;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringgetWords(){returnwords;}publicvoidsetWords(Stringwords){this.words=words;}publicStringexecute(){returnINPUT;}else{words=欢迎您:+name;returnSUCCESS;}}}(3)Struts.Xml!DOCTYPEstrutsPUBLIC-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN=struts.i18n.encodingvalue=gb2312/packagename=defaultextends=struts-defaultactionname=showWordsclass=action.ShowWordsresultname=success/showWords.jsp/resultresultname=input/inputWords.jsp/result/action/package/struts8、核心控制器FilterDispatcher:核心控制器是struts2框架的基础,它包含了框架内部的控制流程和处理机制。在web应用中,FilterDispatcher作为一个filter运行,负责拦截所有的用户请求。如果用户请求以.action结尾,则该请求被转入Struts框架处理。Struts2框架按模块可以分为ServletFilters、struts核心模块、拦截器和用户实现模块。P33Srtuts2框架处理一个请求的步骤:(1)客户端提交一个请求(HttpServletRequest).(2)请求被提交到一系列的过滤器(filter),首先提交ActionContextCleanUp然后提交到其他过滤器(SiteMesh等)最后提交到FilterDispatcher。(3)FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个请求。如果ActionMapper决定需要调用某个Action,则FilterDispatcher把请求的处理交给ActionProxy。(4)ActionProxy通过ConfigurationManager(struts.xml)询问框架的配置文件,找到需要调用的Action类。(5)ActionProxy创建一个ActionInvocation实例,同时ActionInvocation通过代理模式调用Action,在调用之前,ActionInvocation会根据配置加载Action相关的所有拦截器。(6)一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。9、使用package元素配置包时可以指定4个属性。属性名name,必选,指定包的名称,该名称是该包被其他包引用的key值。属性名extends,可选,指明该包继承的其他包。用extends继承包,父包在子包前定义。Struts.xml!DOCTYPEstrutsPUBLIC-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN=struts.i18n.encodingvalue=gb2312/packagename=defaultextends=struts-defaultinterceptor-refname=myInterceptor//interceptor-stack/interceptorsactionname=action1class=ActionClass1resultname=success/success.jsp/result/action/packagepackagename=myPackageextends=defaultnamespace=/skilldefault-interceptor-refname=myStack/actionname=action2class=ActionClass2resultname=success/success.jsp/resultinterceptor-refname=defaultStack/interceptor-refname=myInterceptor//action/package/struts结果类型(1)dispatcher结果类型用来表示“转发”到指定结果类型,它是Struts2的默认结果类型。(2)redirect结果类型用来“重定向”到指定的结果资源,该资源可以是JSP文件,也可以是Action类。(3)redirectAction结果类型也是重定向到其他资源,重新生成一个新的请求。(4)其他结果类型1、简述使用拦截的意义。(1)通过拦截形式拦截器模块,极大地提高了系统开发的灵活性和复用性,AOP使用代理的方式,将多个拦截器和核心业务逻辑组合在一起,满业务需求。(2)通过使用拦截器,可以使核心框架代码比以前更加简洁,使开发人员更加快捷地使用框架的特性。2、简述输入校验流程。(1)客户端校验。(2)对请求的字符串参数进行类型转换,并设置为对应的Action属性值。(3)如果类型转换出现异常,将异常信息封装到filedError中。(4)调用Action的validateXxx()校验方法,其中xxx()方法是Action中对应的处理逻辑方法。(5)调用Action类的validate()校验方法。(6)完成上面的步骤后,框架开始检查在以上过程中是否产生了filedError,如果产生了,则返回逻辑视图Input;反之,则返回处理方法中的逻辑视图。(7)系统根据上一步骤返回的逻辑视图,结合struts.Xml文件的配置内容。呈现相应的视图页面。
本文标题:Struts-2期末考试
链接地址:https://www.777doc.com/doc-5245376 .html