`

Struts2day05学习笔记

 
阅读更多

1.自定义拦截器
   1.implements Interceptor
   2.extends AbstractInterceptor
  二) 在struts.xml中
    <interceptors>
      <interceptor name="xx" class="xx"/>
      ..
      <interceptor-stack name="xxx">
        <interceptor-ref name="xx">
      <param name="属性">值</param>
    </interceptor-ref>
      </interceptor-stack>
    </interceptors>
  在Action中覆盖拦截器中属性值
    <interceptor-ref name="拦截器栈">
      <param name="拦截器.属性">值</param>
    </interceptor-ref>

    对于方法过滤的拦截器
      extends MethodFilterInterceptor
    关键是在struts.xml中的配置
      <interceptor-ref name='x'>
      <!--不需要拦截的方法-->
        <param name="excludeMethods">方法名</param>
    <!--需要拦截-->
    <param name="includeMehtods"></param>
      </interceptor-ref>

2.表单的重复提交 token
  在页面表单中使用<s:token></s:token>

3.文件的上传
  页面 <form enctype="multipart/form-data" method="post">
          File <input type="file" name="pic"/>
        </form>
  Action
     属性 private File pic;
          private String picFileName;文件名称
      private String picContentType;文件类型
     如何由逻辑路径获得绝对路径
       1.implements ServletRequestAware/ServletContextAware
       2.ServletActionContext 工具类,获得Servlet API

4.在src中提供struts.properties配置文件
  修改文件上传异常的错误信息
    1.在src中创建 资源文件
       上传文件太大
       struts.messages.error.file.too.large
       上传的类型不允许
       struts.messages.error.content.type.not.allowed
    2.要再struts.xml中配置资源文件


5.Struts2.0的异常处理机制
  1.什么是异常?软件在开发和运行过程中可能遇到的错误。【对象】
  2.异常的种类?
   Check异常【检测时异常】在编译过程中必须进行处理(编译器不通过)
      IOException / ClassNOTFoundException
   Runtime异常[运行时异常] 运行时出现的异常,在程序开发过程中不需要额外的处理
      NUllPOINException/ArrayOutofIndexException
   自定义异常
     如何定义异常
       1.写一类继承Exception/RuntimeException
        A  public class MyException extends Exception{   }
       继承了Exception,检测异常,必须进行处理 try...catch/throw
        B  public class MyExceptionA extends RuntimeException{}
       继承了RuntimeException,运行时异常,不做处理
     如何定义异常的方式?
        现在java开发思路,主要的异常处理采用RuntimeException
      jdbc和hibernate

    3.如何处理异常
      try..catch:如果try块中出现异常,交给catch块处理,如果发生的异常在本类中能够             处理则使用try..catch
      throw :     如果异常本类不能处理,将异常抛给调用者

   4.在J2EE体系中如何处理异常
     MVC模型:DB-->DAO-->BIZ-->Action
    DB数据库:数据库异常和java的关系不大,主要讨论Dao/Biz/Action的异常处理
        DAO操作数据库的异常:Dao层异常不能处理,抛给Biz层
    Biz Dao的异常,业务异常:向上抛Action
    Action Dao的异常,业务异常:Action的异常不能向上抛,只能处理,使用try..catch
                                Struts2.0只能使用一个页面处理异常,告诉用户异常的原因。
 
   在实际开发过程中对于
       Dao层的异常,不需要具体交代,整个封装告知数据库异常即可
       业务异常,需要具体交代【余额不足,账户不存在】

   Struts2.0对于异常处理的机制
     问题:如果在Action中使用大量的try...catch语句会造成代码的结构,以及可维护性的降低
     在Action中不处理异常,主要在配置文件struts.xml中进行处理

分享到:
评论

相关推荐

    Struts2_day03笔记

    学习Struts2第三天笔记

    Struts2_day04笔记

    学习Struts2第四天笔记

    Struts2_day02笔记

    学习Struts2第二天笔记

    Struts2_day01笔记

    学习Struts2第一天的笔记

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

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

    struts2框架2016版资料day01

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

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

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

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

    总的来说,这份"黑马程序员_struts2框架开发2016版讲义和笔记资料"是一个全面学习和掌握Struts2框架的宝贵资源,涵盖了从基础到实践的所有重要方面,对于提升Java EE开发者的技能水平大有裨益。通过系统学习,开发者...

    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提供了丰富的标签库,简化了...

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

    《传智播客2016版hibernate+struts2+Spring框架学习资源详解》 在IT行业中,框架的使用是开发高效、稳定应用的关键。本资源包聚焦于三大主流Java Web框架:Hibernate、Struts2和Spring,它们在2016年时仍然是开发者...

    崔希凡javaweb笔记day24-day28

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

    超值个人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开发全套达内学习笔记(含练习)

    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位有效数字,含小数(四舍五入)(小数点算...

    java\CoreJava笔记\CoreJAVA_day01

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

    JAVA.rar源码

    4. **JSP(day03).txt、JSP(day05).txt**:这是两个关于Java Server Pages (JSP)的学习笔记,可能分别对应课程的第三天和第五天。JSP是Java Web开发的重要组成部分,用于创建动态网页。文件中可能包括了JSP语法、指令...

Global site tag (gtag.js) - Google Analytics