org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329) 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)
原因: Tomcat對jsp的處理是由一個JspServlet來完成的,當tomcat啟動時,會為每一個context創建jsp工作目錄(work dir),存放地為 CATALINA_HOME/work/Catalina/HOST_NAME/CONTEXT_NAME,context編譯jsp所需要的參數也隨之初始化,加載jsp class的base path也已經潛在初始化,是一個File對象,它將在隨后URLClassLoader加載jsp class時作為一個resource url,下面是部分代碼: org.apache.jasper.JspCompilationContext.java 初始化 JspLoader
其中baseUrl是這樣得到的