The Struts dispatcher cannot be found异常的解决方法

系统错误:HTTP Status 500

异常信息:The Struts dispatcher cannot be found.  This is usually caused by using Struts tagswithout the associated filter. Struts tags are only usable when the request haspassed through its servlet filter, which initializes the Struts dispatcherneeded for this tag. - [unknown location]

上述异常信息大概意思是说:Struts标签没有被找到,这一般是因为使用Struts标签时,却没有相关的监听器。Struts标签只能在请求通过Servlet监听器时才能被使用。。。。(实际上意思是指你在jsp页面中使用了Struts标签,但是没有配置好相关的监听器。)

解决方法:

配置:tomcat 9.0 && Struts2.1.14

解决过程:

使用了Struts标签但是没有配置监听器,指明了我们必须要到web.xml文件中查看是否已经配置好相关监听器。

查看监听器配置情况,直接找到“<filter>”标签以及“<filter-mapping>”标签,这时我们会发现如下代码:

1 <filter>
2       <filter-name>Struts2</filter-name>
3       <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
4   </filter>
5     <filter-mapping>
6         <filter-name>Struts2</filter-name>
7         <url-pattern>*.action</url-pattern>
8     </filter-mapping>

该标签中指出了Struts版本号、相关支持包的路径等等。

此时应重点查看“<filter-mapping>”标签,该标签下的“<url-pattern>”标签指明了监听对象的url,此标签的值为“*.action”,意思是指定监听器监听后缀为.action的文件,即Struts 2框架下的action文件。

此时问题已经很明了了。由于监听器只监听action文件,故jsp文件中的Struts标签无法被系统所识别,所以产生500错误。

解决方案:

将<url-pattern>的值改为“/*”,使得监听器能够监听所有的文件。

又或者再添加一个监听器(将action改为jsp),即:

1 <filter>
2       <filter-name>Struts2</filter-name>
3       <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
4   </filter>
5     <filter-mapping>
6         <filter-name>Struts2</filter-name>
7         <url-pattern>/*</url-pattern>
8     </filter-mapping>

原文地址:https://www.cnblogs.com/pingxin/p/p00023.html

时间: 2024-10-14 00:30:01

The Struts dispatcher cannot be found异常的解决方法的相关文章

java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result异常的解决方法

今天在写一个JAVA程序的时候出现了异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.发现报错的语句是: 1 foo.divide(bar)); 原来JAVA中如果用BigDecimal做除法的时候一定要在divide方法中传递第二个参数,定义精确到小数点后几位,否则在不整除的情况下,结果是无限循环小数时,就会抛出以上异常.解决方法:

.net安装部署“Error 1001 在初始化安装时发生异常” 的解决方法

状况描述:打包安装后,如果删除安装目录中的某个文件,这时从桌面快捷方式启动软件系统会自动运行修复程序,此时因为路径问题会报出"错误 1001 在初始化安装时发生异常xxx"的异常.(前提是你的安装部署中加入了"自定义操作",并为其传值). 查找原因原来是"自定义操作"中CustomActionData值有误造成.未出错前的CustomActionData. /DbName=[DBNAME] /ServerName=[SERVERNAME] /Us

Android开发:StaggeredGridView瀑布流控件运行异常崩溃解决方法

StaggeredGridView是github上一个开源的瀑布流图片库,本文将分享集成StaggeredGridView时碰到的异常以及解决方法,StaggeredGriedView开源地址为:https://github.com/maurycyw/StaggeredGridView. StaggeredGriedViewDemo运行报错异常为: java.lang.RuntimeException: Unable to start activity  ComponentInfo{com.ex

Maven常见异常及解决方法(转)

异常1: [ERROR] Failed to execute goal on project biz_zhuhai: Could not resolve dependencies for project biz_zhuhai:biz_zhuhai:jar:0.0.1-SNAPSHOT: Failed to collect dependencies for [com.maywide.ibh:lib345:pom:1.0 (compile)]: Failed to read artifact des

Maven常见异常及解决方法

异常1: [ERROR] Failed to execute goal on project biz_zhuhai: Could not resolve dependencies for project biz_zhuhai:biz_zhuhai:jar:0.0.1-SNAPSHOT: Failed to collect dependencies for [com.maywide.ibh:lib345:pom:1.0 (compile)]: Failed to read artifact des

Oracle 使用本地IP地址连接异常的解决方法

前几天的安装的Oracle测试环境,今天发现不能使用本地IP连接,连接提示错误 "Oracle the network adapter could not establish the connection" 这个问题折腾我时间比较长,网上很多资料都不太适合我的情况.不过最后还是被找到了 花了很多时间在其他方面没有锁定问题根源. 1 开始以为是防火墙 server client端都排除 2 oracle client端问题 (ubuntu 安装的client端) 3 最后用程序测试发现还

Emgu CV的一个异常的解决方法

今年组里有大项目落我头上了,并不能像去年一样回家还能搞搞Cocos2dX,一把老泪流了下来... 回到正题,由于组里需要做一个显示板的自动测试项目,涉及到Computer Vision.不得不说,这才是项目里的大坑.之前一直在做其他基础库的研发,最近开始了视觉识别的研发进度.由于市面上没有很合适的开源工业摄影机,只能硬着头皮先试试一些已经有先例的视觉库来尝试.前期项目架构在C#上,自然而然就想到了OpenCV在包装C#的库Emgu CV,而且这个库跨平台,很适合后期移植到其他平台上去,我就选择了

university-imageloader使用遇到的异常及解决方法

异常:java.lang.IllegalArgumentException: ImageAware should wrap ImageView. ImageView 解决方法: private void initImageLoader(Context context){ options= new DisplayImageOptions.Builder() .showImageForEmptyUri(R.drawable.local_image_default) .showImageOnFail(

一个IIS站点配置安全性异常的解决方法

一.错误如下: "/"应用程序中的服务器错误. 安全性异常 说明: 应用程序试图执行安全策略不允许的操作.要授予此应用程序所需的权限,请与系统管理员联系,或在配置文件中更改该应用程序的信任级别. 异常详细信息: System.Security.SecurityException: 请求"System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=nul