书签 分享 收藏 举报 版权申诉 / 13
上传文档赚钱

类型Struts2知识点总结报告(DOC 11页).doc

  • 上传人(卖家):2023DOC
  • 文档编号:5691361
  • 上传时间:2023-05-03
  • 格式:DOC
  • 页数:13
  • 大小:62.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Struts2知识点总结报告(DOC 11页).doc》由用户(2023DOC)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Struts2知识点总结报告DOC 11页 Struts2 知识点 总结报告 DOC 11
    资源描述:

    1、1.简介Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,2.Struts2处理流程用户请求根据请求的url找到actionAction业务处理,处理请求,返回处理结果前端控制器StrutsPreparedAndExecuteFilter拦截用户请求响应用户处理后的html结果数据传递给jspJsp页面渲染结果返回处理结果3.Struts2基础可以把struts配置分

    2、为相应的struts.xml文件中的属性namespace可以把action分包,用来解决不同项目的同名action中的method属性决定action调用action业务类的那个方法,根据方法的返回值跳到名字队对应的result结果集中除了Metnod调用指定的方法为还有一种动态调用1.在请求的页面就指定调用的action名称及方法,语法:actionName!methodName.action,action可以省略,2.在使用通配符, .其名字可以自行定义,根据业务类返回的值,对应相应的result官方定义的有success,login,error,input等其中的type属性可以决定转

    3、向类型,默认的是dispatcher(转发)其他的是redirect,请求重定向的指定的URL,redirectAction重定向到指定的Action,chain:将请求转发到指定的Action,json返回JSON对象如果result的内容不是一个具体的jsp页面而是$形式的这就是动态结果的配置,就是结果页面在配置是不能确定,需要在运行时才能确定,比如管理员和普通用户登录,详细的动态结果配置详见资料Action类实现的方法有三种1. 继承ActionSupport (常用)2.实现Action接口3.自己编写方法Action接收参数1属性方式接收参数,2Javabean方式接收参数(常用)3

    4、.moderlDriven方式接收参数Struts2访问servletAPI的方法在jsp课程中,服务器保存数据的作用域通常有request,session,application,他们对应的servletAPI 分别是HttpServletRequest,HttpSession,servletContext,同样在struts2控制器(action)中也需要访问这些作用域,有三种方法1.使用ActionContext类提供的方法2. 以依然注入(IoC)方式访问,实现响应的接口即可3. 使用以耦合方式使用ServletActionContext类访问OGNL与struts标签引入的标签指令理

    5、解值栈(存储属性的地方)和(存储,的地方)概念,并且使用:查看值栈访问的值访问集合知识点,不常用字符串转换OGNL表达式用户%相反的加单引号2标签可分为通用标签,控制标签,标签通用标签又分为数据标签和控制标签数据标签:和:控制标签:,:标签理解模板与主题,模板用于生成HTML代码,共同风格和观感的模板组织到一起就成了一个主题,内建的主题有simple,xhtml,css_xhtml(默认),css_xhtml,ajax主题的更改用标签属性theme=”simple”标签:下拉列框和联动列框属性及实现参观相关代码Ajax标签Datetimepicker是一个日历控件导入相应的包 引入指令在中添加

    6、添加标签4.数据校验数据校验分为客户端验证和服务器端验证,sruts2对服务器端的验证有两种,1.使用actionsupport编码实现验证2.使用验证框架实现验证,使用actionsupport编码进行验证的方法有三种,1.直接在action类业务方法中验证,2.重写validate()方法实现验证,3.使用validateXXX()方法实现验证验证的关键点在于当用户名或密码没填写时添加addFieldError()方法,此方法处理与字段相关的错误,比如输入的年龄不合理,响应的jsp输出错误的标签是, addActionError()方法是用来添加与action所处理的业务相关的错误信息,在

    7、JSP输出错误的标签是如果两种情况有任何一种错误(hasErrors()就return到INPUT结果集中(事先已经配置好)使用验证框架使用特定的配置框架即可,命名的前半部分是action 的名字,可对全局和局部进行验证!具体查看相关资料5.拦截器拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略谈到拦截器,还有一个词大家应该知道拦截器链(Interceptor Chain,在Struts 2中称为拦截器栈Interceptor Stack)。拦截器链就是将拦截器按一定的顺

    8、序联结成一条链。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。struts2拦截器是action调用之前或之后调用的代码拦截器实现原理:大部分时候,拦截器方法都是通过代理的方式来调用的。Struts 2的拦截器实现相对简单。当请求到达Struts 2的ServletDispatcher时,Struts 2会查找配置文件,并根据其配置实例化相对的拦截器对象,然后串成一个列表(list),最后一个一个地调用列表中的拦截器返回类型区别struts2中关于result的返回类型一般我们是转发到一个jsp页面或者是html页面等,但是struts2中的result的返回类型

    9、还有redirect,redirectAction,chain。对于这三种返回类型之间肯定是有区别的,下面我们来看看关于redirect redirectAction chain这三种struts2的返回类型之间的区别。当使用type=“redirectAction” 或type=“redirect”提交到一个action并且需要传递一个参数时。这里是有区别的:使用type=“redirectAction”时,结果就只能写Action的配置名,不能带有后缀:“.action”拦截器的配置定义拦截器的标签定义拦截器栈的标签引用拦截器默认的拦截器自定义拦截器实现自定义拦截器类的方式有3种实现Int

    10、erceptor接口继承AbstractInterceptor抽象类(常用)继承MethodFilterIntercePtor类具体用法参见帮助文档6.MVC的优缺点优点1各司其职,互不干涉2. 并行开发,提高效率3. 有利于组件的重用缺点1. 系统结构和实现比较复杂2. 视图与控制器过于紧密3. 不适用于小型甚至中等规模的应用程序7.Struts2注解必要的jar包commons-fileupload-1.2.1.jarcommons-io-1.4.jarcommons-logging-1.1.1.jarcommons-logging-api.jarfreemarker-2.3.15.jar

    11、ognl-2.7.3.jarstruts2-core-2.1.8.1.jarxwork-core-2.1.6.jarstruts2-convention-plugin-2.1.8.1.jar其中struts2-convention-plugin-2.x.x.jar是用于支持注解的2.web.xml 的配置:htmlview plaincopyprint?1. 2. struts23. org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter4. 5. actionPackages6. com.test.actio

    12、n7. 8. 9. 10. 11. struts212. /*13. 3.struts.xml 的配置:htmlview plaincopyprint?1. 2. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. !-指定由spring负责action对象的创建18. 19. -20. 21. 22. 4.常用的注解如下:Namespace:指定命名空间。ParentPackage:指定父包。Result:提供了Action结果的映射。(一个结果的映射)Results:“Result”注解列表ResultPath:指定结果页面的基路径。Action:

    13、指定Action的访问URL。Actions:“Action”注解列表。ExceptionMapping:指定异常映射。(映射一个声明异常)ExceptionMappings:一级声明异常的数组。InterceptorRef:拦截器引用。InterceptorRefs:拦截器引用组。5.示例代码如下:那些类会被作为Action,对于Convention插件而言,它会自动搜索位于action,actions,struts,struts2包下的所有java类,Convention插件会把如下两种java类当成Action处理类名以XXXAction命令。继承ActionSuppot。6.查看str

    14、uts2配置为了看到struts2应用里的Action等各种资源的影射情况,struts2提供了Config Browser插件。使用方法:将struts2-config-browser-plugin-2.1.6.jar文件复制到struts2应用的WEB-INF/lib目录中。打开首页地址:http:/localhost:8080/应用名字/config-browser/actionNames.action 这里可以看到Config Browser插件的首页。7.详解1、Action级的注解 ParentPackage-父包 该注解相当于中的extends属性,例如:ParentPackag

    15、e(value=struts-default) Namespace-命名空间 该注解相当于中的namespace属性,例如:Namespace(value=/longspace)Result-转向该注解相当于 /loginsuc.jsp中的 /loginsuc.jsp例如:Result(name=success,location=/loginsuc.jsp,type=redirect) !注意,在struts2.1.6中是location来转向页面,而在struts2.0.4是value属性 Results来配置多个转向 Results( Result(name=success,locatio

    16、n=/usersuc.jsp), Result(name=error,location=/usererror.jsp) )以上是对struts2 注解简单的介绍,要想在Action上使用注解,还得修web.xml文件中的一些配置struts org.apache.struts2.dispatcher.FilterDispatcher actionPackagescom.struts2.action Results( Result(name=input value=/input.jsp type=NullResult.class), Reuslt(name=success value=/succ

    17、ess.jsp type=NullResult.class), Result(name=error value=/error.jsp type=NullResult.class) 上面是一个典型的多Result配置,name属性指定返回的字符串,value指定要跳转的页面,type指定Result的类型,type是一个很重要的属性,他有一下几种情况:1)NullResult : 默认的可以省略2)ActionChainResult : 用于从一个Action跳转到另外一个Action。例如:Result(name = search,value= search,type=ActionChainR

    18、esult.class, params=method,search) 这个配置是如果返回值为search就跳转掉SearchAction的search方法,如果不指定params就跳转到SearchAction的execute方法 3)StreamResult:用于文件下载。例如: Result(name=success,value=inputStream,type=StreamResult.class, params=bufferSize,FileConstant.DOWNLOAD_BUFFER_SIZE)案例1. packagecom.tjcyjd.web.action;2. 3. imp

    19、ortorg.apache.struts2.convention.annotation.Action;4. importorg.apache.struts2.convention.annotation.ExceptionMapping;5. importorg.apache.struts2.convention.annotation.ExceptionMappings;6. importorg.apache.struts2.convention.annotation.Namespace;7. importorg.apache.struts2.convention.annotation.Pare

    20、ntPackage;8. importorg.apache.struts2.convention.annotation.Result;9. importorg.apache.struts2.convention.annotation.Results;10. 11. importcom.opensymphony.xwork2.ActionSupport;12. 13. /*14. *Struts2基于注解的Action配置15. *16. */17. ParentPackage(struts-default)18. Namespace(/annotation_test)19. Results(R

    21、esult(name=success,location=/main.jsp),20. Result(name=error,location=/error.jsp)21. ExceptionMappings(ExceptionMapping(exception=java.lange.RuntimeException,result=error)22. publicclassLoginActionextendsActionSupport23. privatestaticfinallongserialVersionUID=2730268055700929183L;24. privateStringlo

    22、ginName;25. privateStringpassword;26. 27. Action(login)28. /或者写成Action(value=login)29. publicStringlogin()throwsException30. 31. if(yjd.equals(loginName)&yjd.equals(password)32. returnSUCCESS;33. else34. returnERROR;35. 36. 37. 38. Action(value=add,results=Result(name=success,location=/index.jsp)39.

    23、 publicStringadd()throwsException40. returnSUCCESS;41. 42. 43. publicStringgetLoginName()44. returnloginName;45. 46. 47. publicvoidsetLoginName(StringloginName)48. this.loginName=loginName;49. 50. 51. publicStringgetPassword()52. returnpassword;53. 54. 55. publicvoidsetPassword(Stringpassword)56. this.password=password;57. 58.

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Struts2知识点总结报告(DOC 11页).doc
    链接地址:https://www.163wenku.com/p-5691361.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库