在一个项目中,如果我们既用到了Struts2又用到了Servlet,项目运行时有可能无法正常访问Servlet,原因是在配置Struts的过滤器的时候,拦截了所有请求。
<filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
下面是servlet的配置
<servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.itmyhome.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/MyServlet</url-pattern> </servlet-mapping>
当我们在页面发出请求时,struts2将会拦截所有请求,对于servlet请求将不能够正常响应
报错信息为:HTTP Status 404 - There is no Action mapped for namespace / and action name MyServlet.
这是因为struts2把servlet当成action了,因为servlet和action都是没有后缀的.
解决方法:
下面介绍三种方法
方法1:
在servlet后面加上.servlet结尾,包括web.xml配置文件中和页面上使用servlet的地方(当然是什么都可以,比如hello)
<servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/MyServlet.servlet</url-pattern> <!-- MyServlet.hello 也是可以的 --> </servlet-mapping>
页面访问 http://localhost:8080/project/MyServlet.servlet
方法2:
在struts.xml中的的节点下面添加struts2处理的请求后缀 常量:
<constant name="struts.action.extension" value="action" />
该属性指定需要Struts2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。
如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。
方法3:
在web.xml中修改struts2拦截页面请求的配置:
原来的
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
改为
<filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/admin/*</url-pattern> </filter-mapping>
servlet的请求路径不改变
总结
以上就是本文关于Struts和servlet不能共存问题解决方法的全部内容,希望对大家有所帮助。欢迎大家参阅:Struts2修改上传文件大小限制方法解析 、 struts2开发流程及详细配置等。有问题可以随时留言,小编会及时回复大家的。
# struts
# servlet
# 共存
# struts2
# JavaWeb Servlet中Filter过滤器的详解
# servlet监听器的学习使用(三)
# servlet上传文件实现代码详解(四)
# servlet Cookie使用方法详解(六)
# servlet转发、包含详解(七)
# servlet重定向详解(八)
# servlet过滤器(Filter)详解(九)
# JavaWeb Servlet中url-pattern的使用
# 多个
# 解决方法
# 都是
# 是在
# 将会
# 英文
# 三种
# 欢迎大家
# 当我们
# 报错
# 将不
# 这是因为
# 可以随时
# 小编
# 都由
# 无法正常
# 配置文件
# 又用
# 默认值
# 不改变
相关文章:
如何选择高效便捷的WAP商城建站系统?
如何在搬瓦工VPS快速搭建网站?
jQuery 常见小例汇总
建站之星微信建站一键生成小程序+多端营销系统
如何在景安云服务器上绑定域名并配置虚拟主机?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
建站之星各版本价格是多少?
制作公司内部网站有哪些,内网如何建网站?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
如何通过虚拟机搭建网站?详细步骤解析
打鱼网站制作软件,波克捕鱼官方号怎么注册?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
高防服务器租用指南:配置选择与快速部署攻略
建站主机选虚拟主机还是云服务器更好?
ppt制作免费网站有哪些,ppt模板免费下载网站?
内部网站制作流程,如何建立公司内部网站?
如何选择域名并搭建高效网站?
如何用IIS7快速搭建并优化网站站点?
如何用wdcp快速搭建高效网站?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
linux top下的 minerd 木马清除方法
如何在IIS管理器中快速创建并配置网站?
重庆市网站制作公司,重庆招聘网站哪个好?
网站制作网站,深圳做网站哪家比较好?
如何选择最佳自助建站系统?快速指南解析优劣
建站之星安装失败:服务器环境不兼容?
如何高效利用200m空间完成建站?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
建站之星安装后界面空白如何解决?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
Python如何创建带属性的XML节点
如何在云服务器上快速搭建个人网站?
如何在建站主机中优化服务器配置?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
javascript基本数据类型及类型检测常用方法小结
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
css网站制作参考文献有哪些,易聊怎么注册?
如何获取PHP WAP自助建站系统源码?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
如何正确下载安装西数主机建站助手?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
如何在IIS服务器上快速部署高效网站?
如何选择靠谱的建站公司加盟品牌?
PHP正则匹配日期和时间(时间戳转换)的实例代码
建站之星2.7模板:企业网站建设与h5定制设计专题
建站之星后台管理:高效配置与模板优化提升用户体验
香港服务器如何优化才能显著提升网站加载速度?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
*请认真填写需求信息,我们会在24小时内与您取得联系。