struts2拦截器

本文介绍 Struts2 中拦截器的基本使用方法,包括自定义拦截器的步骤及如何控制 Action 的访问流程。同时,详细讲解了如何利用 Struts2 实现文件上传功能,涉及文件大小限制、多文件上传控制等关键问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

struts-default.xml中 声明了所有拦截器,而defaultStack有18个拦截器是默认使用的
简单说。struts2框架在默认情况下,默认加载了18个拦截器

struts2中怎样使用拦截器
问题:使用拦截器可以做什么 底层是AOP 动态代理
控制行为的访问
可以通过使用拦截器进行控制action的访问。例如:权限操作
怎样使用拦截器
1.创建一个interceptor
可以自定义一个类实现Interceptor
在这个接口中有三个方法 init destory intercept,intercept方法是真正拦截的方法
在intercept方法中如果要向下继续执行,通过其参数调用他的invoke()方法即可
2.声明一个Interception
在struts-default.xml文件中有

注意:我们要自己声明一个interception可以在struts.xml文件中声明

3.在action中指定使用哪些拦截器

注意:只要显示声明使用了一个拦截器,那么默认的拦截器就不再加载了

在struts2中怎么实现文件上传
默认情况下struts2框架使用的就是commit-fileupload组件
struts2它使用了一个interceptor帮助我们完成文件上传
页面上的组件:
在action 中要有三个属性
private File upload;
private String uploadContentType;
private String uploadFileName;
在execute方法中使用common-io包下的FileUtils完成文件复制
FileUtils.copyFile(upload,new File(“地址”));

文件上传问题处理:

1.关于控制文件上传大小
在default-properties文件中定义了文件上传的大小
默认是2m
2.在struts2中默认使用的是commons-fileupload进行文件上传
3.如果出现问题,需要配置input视图,在页面上可以通过展示错误信息
问题:在页面上展示的信息,全是英文,要想展示中文,国际化
弄一个properties文件 针对adction文件 放在包中
通过源代码 去配置

4.关于多文件上传大小控制以及
多文件上传
服务器端
只需要将action属性声明成list集合或数组就可以。

下载
1.超链接
2.服务器编码,通过流向客户端写回
在StreamResult类中有三个属性
在action类中定义一个方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值