使用struts2.1.6版本时,已搭建好struts2开发环境,程序无任何问题。但是,部署好项目之后,启动Tomcat时Console报错抛出异常:
严重: Exception starting filter struts2 java.lang.NullPointerException
如下图所示:
出现这个错误的原因是:这是struts-2.1.6版本的一个BUG(貌似2.1.8也存在),配置文件中设置了开发者模式,即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" />
但不推荐这样做,使用开发者模式,这样可以打印出更详细的错误信息。
相关推荐
Struts2.1.6-Lib: 深入理解Struts2框架核心与库文件 Struts2是一个流行的开源MVC(Model-View-Controller)框架,它为Java Web应用提供了一种强大的架构支持。Struts2.1.6是该框架的一个版本,其lib目录下的jar包...
2. **配置检查**:在web.xml中正确配置Struts2的Filter,并检查struts.xml配置文件,确保Action和结果的配置无误。 3. **安全策略**:了解并应用Struts2的安全最佳实践,避免潜在的安全风险。 4. **版本更新**:...
7. **异常处理**:Struts2提供了强大的异常处理机制,可以捕获并优雅地处理程序中的错误和异常,同时提供友好的用户反馈。 回到"struts-2.1.6"这个子目录,它可能包含了以下内容: - **源代码**:展示Action、...
例如,Struts2曾在2017年爆出一个严重漏洞(CVE-2017-5638),可能导致远程代码执行。因此,使用任何版本的Struts2时,都需要保持及时更新以修补安全漏洞。 11. **升级与迁移**:随着新版本的发布,Struts2.1.6逐渐...
9. **异常处理**:Struts2提供了一套完整的异常处理机制,可以捕获并处理Action执行过程中的异常,同时返回对应的错误页面。 10. **插件体系**:Struts2拥有丰富的插件库,如Struts2 Dojo插件用于与Dojo JavaScript...
8. **异常处理**:Struts 2允许开发者定义全局和特定Action的异常处理策略,将异常转换为有意义的用户反馈。 9. **集成其他技术**:Struts 2可以很好地与Spring、Hibernate等流行框架集成,提供一站式的Java Web...
struts2.1.6 解决日历问题。区别struts2.0
标题 "Struts2.1.6 Spring2.5.6 Hibernate3.3.2" 描述的是一个基于Java的企业级应用程序开发的集成框架,其中包含了三个核心组件:Struts2、Spring和Hibernate。这些组件都是Java Web开发中的关键库,分别负责MVC...
在Struts2中,需要在这个文件中配置Struts2的前端控制器Filter,如`<filter-name>struts2</filter-name>`和对应的`<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-...
Struts2.1.6是Apache Struts框架的一个版本,它是基于MVC(Model-View-Controller)设计模式的Java Web应用程序开发框架。这个版本的lib目录包含了运行Struts2应用所需的所有核心类库,这些类库使得开发者能够构建...
struts2.1.6api. 想学习struts2的朋友们。希望能喜欢这个api,我也希望能给你们一点帮助。
Struts2.1.6是Apache Struts框架的一个版本,它是一个基于MVC设计模式的Java Web应用程序框架。Struts2提供了丰富的功能,用于构建可维护、可扩展且易于开发的Web应用。在这个"struts2.1.6零配置DEMO"中,我们将深入...
Struts2.1.6是Apache Struts框架的一个版本,它是Java EE(企业版)应用程序开发中的一个流行MVC(模型-视图-控制器)框架。这个版本的Struts提供了许多功能,帮助开发者构建可维护、可扩展且结构良好的Web应用。在...
在使用Struts2.1.6时,你需要将以下主要的jar包添加到项目的类路径中: - **struts2-core.jar**:Struts2的核心库,包含了框架的基础组件。 - **struts2-convention-plugin.jar**:提供了约定优于配置的特性,可以...
struts2.1.6 API chm文件格式的是本人自己创建的没有版权问题
Struts2.1.6-all.zip 是一个包含Struts2框架版本2.1.6所有库文件的压缩包,主要用于Java Web开发。Struts2是一个开源的MVC(Model-View-Controller)框架,它继承了经典的Struts1框架,并在功能、性能和灵活性上进行...
此外,Struts2.1.6的完整版还可能包含了安全更新和bug修复,对于使用该版本的开发者来说,了解并遵循最佳实践以防止安全漏洞(如著名的Struts2 CVE漏洞)至关重要。 总之,Struts2.1.6框架为Java Web开发提供了强大...
使用Struts2.1.6时,开发者需要根据项目需求选择合适的jar包和插件,并结合Struts2的配置文件(通常为struts.xml)进行应用的搭建和定制。此外,Struts2的安全性也是需要注意的一点,比如它曾出现过一个著名的远程...