由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還未被載入所以會報錯。