struts-1.3.10的java.lang.NullPointerException: Module 'null' not found

本文记录了一次使用Struts 1.3框架时遇到的Bean:message标签NullPointerException异常的排查过程及解决方案。作者通过逐步排除配置文件、资源文件等问题,并最终定位到commons-chain-1.2.jar未正确导入导致的异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

按照例子自己写的最简单的struts程序居然一运行就报异常:

 

root cause

java.lang.NullPointerException: Module 'null' not found.
	org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:755)
	org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:735)
	org.apache.struts.taglib.TagUtils.retrieveMessageResources(TagUtils.java:1098)
	org.apache.struts.taglib.TagUtils.message(TagUtils.java:956)
	org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:224)
	org.apache.jsp.index_jsp._jspx_meth_bean_005fmessage_005f0(index_jsp.java:136)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:88)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

 

      开始以为是配置文件没写正确,导致解析出错。后来直接用实例的配置文件覆盖后还是报错。再看看异常,发现有Bean:message标签出错,去检查resources文件,也没有错误。后来连续把jsp文件都替换掉还是有错。不得以,去Google。

     

      大部分都是说 web.xml缺少<load-on-startup>2</load-on-startup>元素。

     

      但是这几个地方都仔细确认过,没有问题。 后来仔细对比,发现除了我用的struts版本和例子的不一样外,都正确。猜想可能是1.3版本的哪个jar没有导入。先把所有的没有导入的jar都放进来,过来可以运行了~!

     

      一一删除,发现是commons-chain-1.2.jar导致的问题。

     

      继续Google以及查看源代码,才发现struts1.3里面的ActionServlet的初始化的时候,会使用到这个jar包里面的ConfigParser来解析chain配置(用chain-config.xml替换了原来传统的在 RequestProcessor 类中执行的 HTTP 请求处理)。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值