structs2中,启动Tomcat时异常:严重: Exception starting filter struts2 java.lang.NullPointerException

structs2中,已搭建好structs2开发环境,程序无任何问题。但是,部署好项目之后,启动Tomcat时Console报错抛出异常:

严重: Exception starting filter struts2 java.lang.NullPointerException

如下图所示:

出现这个错误的原因是:这是struts-2.1.6版本的一个BUG,配置文件中设置了开发者模式,即structs.xml中包含了<constant name="struts.devMode" value="true" />,这时当Tomcat安装目录(从磁盘根目录开始算)存在空格,或者部署项目虚拟路径存在空格,就会抛出此异常。

请注意,这里所说的Tomcat安装目录,指的是从磁盘根目录开始算起,例如:我的Tomcat(压缩版)是放在D盘下面的Program Files文件夹中,所以它的安装目录为:D:\Program Files\apache-tomcat-7.0.56,这里由于“Program Files”中存在一个空格,所以导致了上文所说的启动Tomcat时的异常。我的解决方法是将Tomcat文件包移到D盘根目录下,改变它的安装目录为:D:\apache-tomcat-7.0.56,当然你也可以将它放置到不包含空格的文件夹下。

还有一种可能性是有人将Tomcat服务器文件包名称改为类似“Tomcat 7.0”这种格式,其中Tomcat和7.0之间存在空格。

当然,避免这个错误的方法也可设置devmode为false或者将devmode设置语句删除:

<constant name="struts.devMode" value="false" />

但不推荐这样做,使用开发者模式,在程序修改时不需要重新部署及重启Tomcat即刷新页面看到修改后的结果。
时间: 2024-08-02 06:45:41

structs2中,启动Tomcat时异常:严重: Exception starting filter struts2 java.lang.NullPointerException的相关文章

启动tomcat后struts框架报异常严重: Exception starting filter struts2 Unable to load configuration.

启动tomcat后struts框架报异常严重: Exception starting filter struts2 Unable to load configuration. 出现此异常是因为,struts.xml定义的版本和 struts2-core-2.1.6.jar里面的struts-default.xml版本不一致!! struts-default.xml文件里面定义的<!DOCTYPE ...>如下: <!DOCTYPE struts PUBLIC "-//Apach

启动tomcat后struts框架报异常严重: Exception starting filter struts2 Unable to load configuration. - Class: java.net.PlainSocketImpl

今天刚好宿舍断网,打开电脑,打开ide工具,启动tomcat后,访问web项目工程,页面显示404,查看控制台,运行报错信息如下: 严重: Exception starting filter struts2Unable to load configuration. - Class: java.net.PlainSocketImplFile: PlainSocketImpl.javaMethod: connectLine: 177 - java/net/PlainSocketImpl.java:1

web 环境项目(intellj部署的tomcat) 重启时报 Exception in thread &quot;HouseKeeper&quot; java.lang.NullPointerException (转)

Exception in thread "HouseKeeper" java.lang.NullPointerException at org.logicalcobwebs.proxool.HouseKeeperController.getHouseKeeperToRun(HouseKeeperController.java:52) at org.logicalcobwebs.proxool.HouseKeeperThread.run(HouseKeeperThread.java:33

项目启动时出现Exception in thread &quot;HouseKeeper&quot; java.lang.NullPointerException

解决方案: 首先建立一个servlet类: package cn.ydc.framework.util; import java.io.IOException; import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; i

严重: Exception starting filter struts2 Unable to load configuration

MVC框架的学习中出现这一问题: 严重: Exception starting filter struts2 Unable to load configuration. - action - file:/E:/Tomcat/apache-tomcat-8.0.24-windows-x64/apache-tomcat-8.0.24/webapps/test18/WEB-                INF/classes/cityoa.xml:8:64 原因:忘了加载 struts2-sprin

Exception in thread &quot;main&quot; java.lang.NullPointerException

1.在window操作系统上,使用eclipse开发工具从hdfs分布式文件系统上下载文件报空指针异常解决方法: log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.a

运行jar包时出现异常:Exception in thread &quot;main&quot; java.lang.ExceptionInInitializerError

/usr/local/java/jdk1.8.0_60/bin/java SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/local/jstorm-2.2.1/wait_deploy/test-jstorm-bolt.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar

Junit测试出现异常:Exception in thread &quot;main&quot; java.lang.NoSuchMethodError: org.junit.platform.commons.util.

在进行单元测试时,测试出现异常 Exception in thread "main" java.lang.NoSuchMethodError: org.junit.platform.commons.util.ReflectionUtils.getDefaultClassLoader()Ljava/lang/ClassLoader; 错误就在pom.xml的依赖中,仔细查看控制台输出你会发现IntelliJ IDEA正在尝试使用JUnit5运行我的测试用例. at com.intelli

Java中调用c/c++语言出现Exception in thread &quot;main&quot; java.lang.UnsatisfiedLinkError: Test.testPrint(Ljava/lang/String;)V...错误

错误: Exception in thread "main" java.lang.UnsatisfiedLinkError: Test.testPrint(Ljava/lang/String;)V at Test.testPrint(Native Method) at Test.main(Test.java:8) 解决方法: 昨天一天都在想办法解决这个问题,操作步骤按照教程来的,怎么会出错呢?想了半天,觉得还是dll文件生成的不对.所以,最后决定把codeblocks换成visual