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 639类implements Result接口 或者 extends ... -
struts2day06 Struts2.0的result
2012-07-16 12:01 848Struts2.0的result Action ... -
struts2day06学习笔记
2012-07-16 10:55 8231.new String(xxx.getBytes(),&qu ... -
struts2day05异常处理
2012-07-13 23:13 796Struts2.0的异常处理机制 1.什么是异常?软件在 ... -
Struts2day04Struts2.0文件的下载
2012-07-13 08:26 6411.写一个Action,在DownloadAction ext ... -
Struts2day04Struts2.0文件的上传
2012-07-13 08:20 6221、在服务器端提供一个文件夹存放提交的文件,upload文件夹 ... -
Struts2day04Struts2.0实现阻止表单重复提交
2012-07-12 21:01 5821.使用叫做token的拦截器,在表单中加入<s:tok ... -
Struts2day04对Action的方法进行过滤拦截
2012-07-12 20:38 17451.写一个Action类 UserManagerAction ... -
Struts2day04判断用户是否登录
2012-07-12 19:37 8251.在拦截器中获得用户登录的session 在LoginC ... -
Struts2day04测试程序的执行效率,拦截器栈,在Action中覆盖拦截器的属性值
2012-07-12 18:58 11491.在LoginAction.java中,extends Ac ... -
Struts2学习笔记day04
2012-07-12 00:31 5921.自定义类型转换 1.写一个类 extends S ... -
Struts2day03Struts2.0提供的数据格式校验
2012-07-11 21:52 687Struts2.0提供的数据格式校验 js校验:存在被 ... -
Struts2day03Struts2.0国际化
2012-07-11 21:09 717Struts2.0国际化 B/S结构中为网页提供多国 ... -
Struts2day03OGNL自定义类型转换
2012-07-11 20:47 756Struts2.0框架不能够或者不能完整的进行自动类型转换 ... -
Struts2学习笔记day03
2012-07-11 19:09 9181.值栈:ValueStack,存储数 ... -
Struts2day02多个对象提交
2012-07-10 07:15 1153在listUser.jsp页面 <%@ page la ... -
Struts2day02表单标签
2012-07-10 07:15 6401.在struts2Form.jsp中 <%@ ... -
struts2day02访问ValueStack中的数据以及访问Context中的对象
2012-07-10 07:14 10221.在show.jsp页面 <%@ page lang ... -
Struts2day02动态方法调用
2012-07-10 07:14 6231.在opt.jsp页面 <%@ page langu ... -
Struts2day02使用通配符调用指定的方法
2012-07-10 07:14 7011.在opt.jsp页面 <%@ page langu ...
相关推荐
学习Struts2第三天笔记
学习Struts2第四天笔记
这是学习struts2时记得重点笔记,包括了一些原理,ognl语句的编写,以及如何设置拦截器等等一些基本知识,起到复习和巩固的作用
struts2四天的学习笔记。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
struts2学习笔记总结
Struts2学习笔记,介绍了struts2的基础部分
学习Struts2第二天笔记
传智2016框架视频配套讲义----struts2_day04讲义.pdf ,需要的下载了
struts2学习笔记,非本人所写,但有学习的价值,总结的很好,分享一个!
学习Struts2第一天的笔记
传智2016的视频配套struts2_day03讲义struts2_day03讲义struts2_day03讲义
Struts2_Action学习笔记、通配符{1},{2}......
黑马程序员_struts2框架2016版视频_struts2_day01笔记
本文档记录了Struts2初学中的所有要点笔记,非常详尽的知识点说明并附加了学习者对知识的理解过程,是新人学习Struts2框架的必备参考典范。
Struts2_学习笔记Struts2_学习笔记Struts2_学习笔记
本人在学习struts2框架时的学习笔记,主要是ognl表达式语言的运用。希望对大家有所帮助!
struts2学习笔记struts2学习笔记struts2学习笔记
struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换
1. struts2框架的引入 1)把struts2的相关jar包导入到项目中去 2)把struts2框架的配置文件struts.xml复制粘贴到项目中的src下面(同时也可以把log4j.properties放到src下) 在这里我们主要是要的这个struts.xml文件...