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中进行处理
发表评论
-
struts2day06 自定义结果
2012-07-16 12:14 673类implements Result接口 或者 extends ... -
struts2day06 Struts2.0的result
2012-07-16 12:01 950Struts2.0的result Action ... -
struts2day06学习笔记
2012-07-16 10:55 8521.new String(xxx.getBytes(),&qu ... -
struts2day05异常处理
2012-07-13 23:13 834Struts2.0的异常处理机制 1.什么是异常?软件在 ... -
Struts2day04Struts2.0文件的下载
2012-07-13 08:26 6761.写一个Action,在DownloadAction ext ... -
Struts2day04Struts2.0文件的上传
2012-07-13 08:20 6501、在服务器端提供一个文件夹存放提交的文件,upload文件夹 ... -
Struts2day04Struts2.0实现阻止表单重复提交
2012-07-12 21:01 6231.使用叫做token的拦截器,在表单中加入<s:tok ... -
Struts2day04对Action的方法进行过滤拦截
2012-07-12 20:38 17811.写一个Action类 UserManagerAction ... -
Struts2day04判断用户是否登录
2012-07-12 19:37 8691.在拦截器中获得用户登录的session 在LoginC ... -
Struts2day04测试程序的执行效率,拦截器栈,在Action中覆盖拦截器的属性值
2012-07-12 18:58 11861.在LoginAction.java中,extends Ac ... -
Struts2学习笔记day04
2012-07-12 00:31 6201.自定义类型转换 1.写一个类 extends S ... -
Struts2day03Struts2.0提供的数据格式校验
2012-07-11 21:52 716Struts2.0提供的数据格式校验 js校验:存在被 ... -
Struts2day03Struts2.0国际化
2012-07-11 21:09 764Struts2.0国际化 B/S结构中为网页提供多国 ... -
Struts2day03OGNL自定义类型转换
2012-07-11 20:47 806Struts2.0框架不能够或者不能完整的进行自动类型转换 ... -
Struts2学习笔记day03
2012-07-11 19:09 9481.值栈:ValueStack,存储数 ... -
Struts2day02多个对象提交
2012-07-10 07:15 1187在listUser.jsp页面 <%@ page la ... -
Struts2day02表单标签
2012-07-10 07:15 6661.在struts2Form.jsp中 <%@ ... -
struts2day02访问ValueStack中的数据以及访问Context中的对象
2012-07-10 07:14 10471.在show.jsp页面 <%@ page lang ... -
Struts2day02动态方法调用
2012-07-10 07:14 6521.在opt.jsp页面 <%@ page langu ... -
Struts2day02使用通配符调用指定的方法
2012-07-10 07:14 7291.在opt.jsp页面 <%@ page langu ...
相关推荐
学习Struts2第三天笔记
学习Struts2第四天笔记
学习Struts2第二天笔记
学习Struts2第一天的笔记
### Struts2框架概述 #### 1.1 什么是Struts2框架? **Struts2框架** 是一个基于MVC(Model-View-Controller)架构的开源Java Web应用程序框架,它简化了Java Web应用程序的开发过程。Struts2提供了一种简洁而强大...
通过传智播客的struts2框架2016版day01课程,你可以系统地掌握Struts2的基础知识,为后续的深入学习和项目开发打下坚实的基础。同时,结合笔记和思路图,可以更好地理解和吸收所学内容,提升学习效率。在实际编程中...
标题中的“传智168期JavaEE struts2杜宏 day 29~day31笔记”暗示了文档是一系列关于JavaEE技术栈中的Struts2框架的课程笔记,由杜宏教授,并且特别强调了是从29天到31天的学习内容。JavaEE(Java Platform, ...
总的来说,这份"黑马程序员_struts2框架开发2016版讲义和笔记资料"是一个全面学习和掌握Struts2框架的宝贵资源,涵盖了从基础到实践的所有重要方面,对于提升Java EE开发者的技能水平大有裨益。通过系统学习,开发者...
在这些学习笔记中,我们可以期待以下主题的深入探讨: 1. **Struts2基础**:包括Struts2的架构、配置文件详解、Action类的创建、结果类型配置、Interceptor的使用以及如何整合Struts2与Spring。 2. **Struts2实战*...
教程分为6个部分,从基础到深入,分别是day01、day02、day03、day04、day05和day06,这表明教程按照学习路径进行组织,帮助你在一周内掌握Struts2的关键知识。 首先,day01可能涵盖了Struts2的基本概念,包括MVC...
2016年版本的Struts2资料集合了学习笔记、源代码和思路图,旨在帮助开发者深入理解并熟练运用这个框架。以下是关于Struts2框架的一些核心知识点: 1. **简介**: Struts2是Struts1的升级版,解决了Struts1中的一些...
- **Struts2拦截器**:在`DAY13【Struts2拦截器、表单标签、令牌】.docx`中,你将学习如何使用拦截器来增强应用程序的功能,比如进行权限验证、日志记录等。 - **表单标签**:Struts2提供了丰富的标签库,简化了...
《传智播客2016版hibernate+struts2+Spring框架学习资源详解》 在IT行业中,框架的使用是开发高效、稳定应用的关键。本资源包聚焦于三大主流Java Web框架:Hibernate、Struts2和Spring,它们在2016年时仍然是开发者...
崔希凡老师的JavaWeb笔记涵盖了从day24到day28的内容,这五天的教程主要涉及了JavaWeb开发中的核心技术和实践应用。在JavaWeb领域,这些天的学习通常是项目开发周期中的关键阶段,涵盖了从数据库交互、Servlet编程、...
Struts2是基于MVC设计模式的Web应用程序框架,用于简化Java Web开发。它提供了一套处理HTTP请求和响应的机制,以及动作调度、结果渲染、异常处理等功能。 【Hibernate】 Hibernate是一个强大的ORM框架,它自动管理...
在提供的压缩包文件中,"day03.txt"可能是课程笔记或讲解大纲,"struts2_04"和"struts2_02"可能包含更深入的示例代码或讲解资料,可以帮助我们进一步理解和实践Struts2的相关概念和技术。通过深入研究这些资源,...
在"黑马程序员_javaWEB讲义和笔记资料_day08"中,我们可以预见到这一天的学习内容将深入到Java Web开发的核心概念和技术。"传智播客"作为知名的技术教育机构,其课程通常涵盖全面且深入的IT知识,因此这些讲义和笔记...
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位有效数字,含小数(四舍五入)(小数点算...
- 主流框架:如Struts、Spring、Hibernate(SSH),以及Ajax,掌握其工作原理和应用。 - UML建模:理解统一建模语言,用于系统设计。 - 设计模式:掌握常见的设计模式,如单例、工厂、观察者等,提升代码质量和可...
4. **JSP(day03).txt、JSP(day05).txt**:这是两个关于Java Server Pages (JSP)的学习笔记,可能分别对应课程的第三天和第五天。JSP是Java Web开发的重要组成部分,用于创建动态网页。文件中可能包括了JSP语法、指令...