`

Struts2学习笔记day04

 
阅读更多

1.自定义类型转换
    1.写一个类 extends StrutsTypeConvertor
    2.提供配置文件
       局部:actionName-conversion.properties;
       位置:在和Action同一个目录下
       内容:action需要转换的属性名=自定义类型转换器的全路径
       全局:
           xwork-conversion-properteis
         位置:src目录
     内容:需要进行类型转换的类型=自定义类型转换器的全路径

2.国际化
    为一个页面提供多国语言的支持
      1.提供多国语言的资源文件
         appRes_zh_CN.properties
        非拉丁语系的文字要先进行unicoade编码
     appRes_en.properties
      2.在struts.xml文件中进行引入
         <constant name="struts.custom.i18n.resources" value="appRes"></constant>
      3.在JSP页面中导入占位符号
         <s:text name=""/>

3.拦截器
   为访问Action的请求增加额外功能
   如何开发拦截器
      1.写一个类 implements Interceptor接口
         重写:intercept(ActionInvocation invocation){
     
     }
       2.配置
          在struts.xml中
       <package>
         <interceptors>
           <interceptor name="xxx" class="全路径"></interceptor>
           <interceptor name="xx1" class="xx"></interceptor>
           <!--拦截器栈-->
           <interceptor-stack name="xxStack">
              <intercetpor-ref name="xxx"/>
          <interceptor-ref name="xx1"/>
          <interceptor-ref name="defaultStack"/>
           </interceptor-stack>
         </interceptors>
        <action>
        <!-- <interceptor-ref name="xxx"/>
         <interceptor-ref name="defaultStack"/>-->
         <interceptor-ref name="xxStack"/>
        </action>
       </package>
     注意:当我们是使用了自定义拦截器,则struts2.0默认拦截器失效
           拦截器的执行顺序,由interceptor-ref确定
       如果有多个拦截器需要一起调用,配置拦截器栈,拦截器栈也能引用拦截器栈

    如果一个package中的所有Action都会引用某个拦截器或者拦截器栈,可以使用
     <default-interceptor-ref name="xxx"/>

1.测试程序的执行效率
2.判断用户是否登录
  1.在拦截器中获得用户登录的session
     ActionContext cxt= ActionInvocation.getInvocationContext();
  2.定义全局的result
     <global-results>//在package和action标签之间
      <result name=""></result>
     </global-results>

对Action的方法进行过滤拦截
   1.写一个类,extends MehtodFilterInterceptor
     excludeMethods:不需要拦截的方法名
     includeMethods:需要进行拦截的方法名
       两个属性的值都在struts.xml文件中配置,提供代码的扩展性和维护性
   2.在配置文件struts.xml中配置
     
在Struts2.0中实现阻止表单的重复提交
  1.使用叫做token的拦截器
    
  2.在表单中加入<s:token></s:token>

Strtus2.0原理
  对于核心控制器的功能不能太多,按照各司其职的开发思想,Action的赋值,数据的格式校验没有在核心控制器中处理,而是使用拦截器来处理。
  Struts2.0的功能都由拦截器提供,配置在struts-default.xml文件中

拦截器和过滤器的区别
   1.拦截器的创建时基于java的反射机制,过滤器基于函数的回调
   2.拦截器不依赖于Servlet ,过滤器依赖于Servlet
   3.拦截器只对action的请求生效,过滤器对所有请求都生效
   4.拦截器可有获得ActionContext,值栈当中的对象,过滤器不能获得
   5.在Action的生命周期中,拦截器可以被调用多次,过滤器只在容器初始化时调用一次

执行顺序
   过滤开启-->拦截器-->action处理--->拦截器后-->过滤器后

基于Struts2.0的文件上传下载
  1.在服务端提供一个文件夹存放提交的文件
  2.提供页面 form method="post" enctype="multipart/form-data"

分享到:
评论

相关推荐

    Struts2_day04笔记

    学习Struts2第四天笔记

    Struts2_day03笔记

    学习Struts2第三天笔记

    Struts2_day01笔记

    学习Struts2第一天的笔记

    Struts2_day02笔记

    学习Struts2第二天笔记

    黑马程序员_struts2框架开发2016版讲义和笔记资料_day01_day02_day03_day04

    Day04可能涉及Struts2的国际化、异常处理和文件上传下载等进阶主题。国际化允许开发出支持多语言的应用,而异常处理则能确保程序在遇到错误时能够优雅地处理。文件上传下载则是Web应用常见的需求,Struts2提供了方便...

    struts2框架2016版资料day01

    通过传智播客的struts2框架2016版day01课程,你可以系统地掌握Struts2的基础知识,为后续的深入学习和项目开发打下坚实的基础。同时,结合笔记和思路图,可以更好地理解和吸收所学内容,提升学习效率。在实际编程中...

    黑马程序员_struts2框架2016版视频_struts2_day01笔记

    ### Struts2框架概述 #### 1.1 什么是Struts2框架? **Struts2框架** 是一个基于MVC(Model-View-Controller)架构的开源Java Web应用程序框架,它简化了Java Web应用程序的开发过程。Struts2提供了一种简洁而强大...

    传智168期JavaEE struts2杜宏 day 29~day31笔记.pdf

    标题中的“传智168期JavaEE struts2杜宏 day 29~day31笔记”暗示了文档是一系列关于JavaEE技术栈中的Struts2框架的课程笔记,由杜宏教授,并且特别强调了是从29天到31天的学习内容。JavaEE(Java Platform, ...

    struts and hibernate学习笔记

    在这些学习笔记中,我们可以期待以下主题的深入探讨: 1. **Struts2基础**:包括Struts2的架构、配置文件详解、Action类的创建、结果类型配置、Interceptor的使用以及如何整合Struts2与Spring。 2. **Struts2实战*...

    超详细Struts2教程及源代码

    教程分为6个部分,从基础到深入,分别是day01、day02、day03、day04、day05和day06,这表明教程按照学习路径进行组织,帮助你在一周内掌握Struts2的关键知识。 首先,day01可能涵盖了Struts2的基本概念,包括MVC...

    黑马程序员struts2框架2016版资料(笔记+源码+思路图)

    2016年版本的Struts2资料集合了学习笔记、源代码和思路图,旨在帮助开发者深入理解并熟练运用这个框架。以下是关于Struts2框架的一些核心知识点: 1. **简介**: Struts2是Struts1的升级版,解决了Struts1中的一些...

    Java高级应用和Struts的入门笔记

    - **Struts2拦截器**:在`DAY13【Struts2拦截器、表单标签、令牌】.docx`中,你将学习如何使用拦截器来增强应用程序的功能,比如进行权限验证、日志记录等。 - **表单标签**:Struts2提供了丰富的标签库,简化了...

    崔希凡javaweb笔记day24-day28

    崔希凡老师的JavaWeb笔记涵盖了从day24到day28的内容,这五天的教程主要涉及了JavaWeb开发中的核心技术和实践应用。在JavaWeb领域,这些天的学习通常是项目开发周期中的关键阶段,涵盖了从数据库交互、Servlet编程、...

    传智播客2016版hibernate+struts2+Spring框架资料课件+笔记

    通过day01-day04的学习计划,你将逐步深入这三个框架的内部机制,掌握它们的整合使用,从而提升你的Java Web开发能力。 总之,这个资源包是一份宝贵的自学资料,无论你是初学者还是有一定经验的开发者,都能从中...

    超值个人java学习笔记

    Struts2是基于MVC设计模式的Web应用程序框架,用于简化Java Web开发。它提供了一套处理HTTP请求和响应的机制,以及动作调度、结果渲染、异常处理等功能。 【Hibernate】 Hibernate是一个强大的ORM框架,它自动管理...

    sturts2课件第三天

    在提供的压缩包文件中,"day03.txt"可能是课程笔记或讲解大纲,"struts2_04"和"struts2_02"可能包含更深入的示例代码或讲解资料,可以帮助我们进一步理解和实践Struts2的相关概念和技术。通过深入研究这些资源,...

    黑马程序员_javaWEB讲义和笔记资料_day08

    在"黑马程序员_javaWEB讲义和笔记资料_day08"中,我们可以预见到这一天的学习内容将深入到Java Web开发的核心概念和技术。"传智播客"作为知名的技术教育机构,其课程通常涵盖全面且深入的IT知识,因此这些讲义和笔记...

    java\CoreJava笔记\CoreJAVA_day01

    - 主流框架:如Struts、Spring、Hibernate(SSH),以及Ajax,掌握其工作原理和应用。 - UML建模:理解统一建模语言,用于系统设计。 - 设计模式:掌握常见的设计模式,如单例、工厂、观察者等,提升代码质量和可...

    整理后java开发全套达内学习笔记(含练习)

    short 16bit, -2^15~2^15-1 (2^15=32768) int 32bit, -2^31~2^31-1 (2147483648,20亿,10位有效数字) long 64bit, -2^63~2^63-1 (900亿亿,20位有效数字) float 32bit, 9位有效数字,含小数(四舍五入)(小数点算...

    Spring框架

    以上内容只是根据文件名进行的推测,实际的学习笔记和源码可能会提供更详细的信息,帮助读者深入了解Spring框架的各个方面。通过这些资料,开发者可以逐步掌握Spring的基本概念,进而利用Spring进行高效的企业级应用...

Global site tag (gtag.js) - Google Analytics