由Module 'null' not found异常明白了<load-on-startup>的意义
在使用了html标签后,总是在<html:link action=""....>这里报错:
org.apache.jasper.JasperException: java.lang.NullPointerException: Module 'null' not found. org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
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.html.FormTag.lookup(FormTag.java:796) org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:467) org.apache.jsp.jsp_jsp._jspx_meth_html_005fform_005f0(jsp_jsp.java:117) org.apache.jsp.jsp_jsp._jspService(jsp_jsp.java:86) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
解决:少加了<load-on-startup>0</load-on-startup>为什么要加这句呢,有时候没有加也可以执行?因为在servlet的配置当中,<load-on-startup>0</load-on-startup>,标记容器是否在启动的时候就加载这个servlet,当值为0或者大于0时,表示容器在应用启动时就加载这个servlet 当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载,正数的值越小,启动该servlet的优先级越高。如果不写,就在调用该servlet时,才进行加载,而在页面上用到了struts标签,而此时该servlet还未被加载所以会报错。