您的位置:首页 > 编程语言 > Java开发

关于Struts2框架下使用servlet的配置

2015-11-04 12:14 323 查看
在做WEB项目时,要么是Struts+Spring+Hibernate,要是就直接使用servlet。这次碰到一个项目,经理想要把之前一个用servlet做的部分模块移植到当前项目下(Struts+Spring),这时发现Struts2.X(Struts1.X没试过不知道行不行)不能和servlet同时使用,主要是由于页面的请求都被struts给拦截了,根本访问不了servlet,发现这个原因后本人是先直接在struts的配置文件中加上

(请求的后缀要有.do或.action才到struts配置文件里找对应的action),运行站点,可以工作了。

没想到刚过两天,在测试上传功能时又出错了(该上传功能也是从原先的项目移植过来的),找不到上传的文件,这到是奇了怪了,仔细看了下log,发现在执行请求的servlet前还是经过了struts的过滤链,这时我想可能是struts的文件过滤那块把文件给绑定到某个地方(好像使用struts2上传文件就是这么回事:通过文件拦截器
,将文件绑定到action中的对应属性),而当servlet去获取request中的文件二进制流时,将找不到文件,导致上传的文件为空,造成后续的操作失败。至此只能在web.xml关于struts2的拦截链的配置修改了,原本配置如下:

struts2

org.apache.struts2.dispatcher.FilterDispatcher

struts2
/*

将其改为:

struts2

org.apache.struts2.dispatcher.FilterDispatcher

struts2
*.action;*.do;...(过滤不同的后缀,要分开写 ,在此为方便写在一起)

至此strutsservlet可以一起运行啦。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Hallelujah_chen/archive/2010/12/08/6063858.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts java web servlet