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"
发表评论
-
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.什么是异常?软件在 ... -
Struts2day05学习笔记
2012-07-13 22:19 6751.自定义拦截器 1.im ... -
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 ... -
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 9471.值栈:ValueStack,存储数 ... -
Struts2day02多个对象提交
2012-07-10 07:15 1187在listUser.jsp页面 <%@ page la ... -
Struts2day02表单标签
2012-07-10 07:15 6651.在struts2Form.jsp中 <%@ ... -
struts2day02访问ValueStack中的数据以及访问Context中的对象
2012-07-10 07:14 10461.在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第二天笔记
Day04可能涉及Struts2的国际化、异常处理和文件上传下载等进阶主题。国际化允许开发出支持多语言的应用,而异常处理则能确保程序在遇到错误时能够优雅地处理。文件上传下载则是Web应用常见的需求,Struts2提供了方便...
通过传智播客的struts2框架2016版day01课程,你可以系统地掌握Struts2的基础知识,为后续的深入学习和项目开发打下坚实的基础。同时,结合笔记和思路图,可以更好地理解和吸收所学内容,提升学习效率。在实际编程中...
### Struts2框架概述 #### 1.1 什么是Struts2框架? **Struts2框架** 是一个基于MVC(Model-View-Controller)架构的开源Java Web应用程序框架,它简化了Java Web应用程序的开发过程。Struts2提供了一种简洁而强大...
标题中的“传智168期JavaEE struts2杜宏 day 29~day31笔记”暗示了文档是一系列关于JavaEE技术栈中的Struts2框架的课程笔记,由杜宏教授,并且特别强调了是从29天到31天的学习内容。JavaEE(Java Platform, ...
在这些学习笔记中,我们可以期待以下主题的深入探讨: 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提供了丰富的标签库,简化了...
崔希凡老师的JavaWeb笔记涵盖了从day24到day28的内容,这五天的教程主要涉及了JavaWeb开发中的核心技术和实践应用。在JavaWeb领域,这些天的学习通常是项目开发周期中的关键阶段,涵盖了从数据库交互、Servlet编程、...
通过day01-day04的学习计划,你将逐步深入这三个框架的内部机制,掌握它们的整合使用,从而提升你的Java Web开发能力。 总之,这个资源包是一份宝贵的自学资料,无论你是初学者还是有一定经验的开发者,都能从中...
Struts2是基于MVC设计模式的Web应用程序框架,用于简化Java Web开发。它提供了一套处理HTTP请求和响应的机制,以及动作调度、结果渲染、异常处理等功能。 【Hibernate】 Hibernate是一个强大的ORM框架,它自动管理...
在提供的压缩包文件中,"day03.txt"可能是课程笔记或讲解大纲,"struts2_04"和"struts2_02"可能包含更深入的示例代码或讲解资料,可以帮助我们进一步理解和实践Struts2的相关概念和技术。通过深入研究这些资源,...
在"黑马程序员_javaWEB讲义和笔记资料_day08"中,我们可以预见到这一天的学习内容将深入到Java Web开发的核心概念和技术。"传智播客"作为知名的技术教育机构,其课程通常涵盖全面且深入的IT知识,因此这些讲义和笔记...
- 主流框架:如Struts、Spring、Hibernate(SSH),以及Ajax,掌握其工作原理和应用。 - UML建模:理解统一建模语言,用于系统设计。 - 设计模式:掌握常见的设计模式,如单例、工厂、观察者等,提升代码质量和可...
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进行高效的企业级应用...