2013-01-09 137 views
0

我知道這個錯誤已經發布之前,但我不明白堆棧跟蹤,並會愛上somebody幫助。Servlet拋出加載()異常

基本上當我進入應用getValue("client")爲空:

HttpSession validuser = request.getSession(); 

if (validuser.getValue("client") == null) { 
    response.sendRedirect("/profile/factfind/includes/session_timeout.jsp"); 
} 

而且我想這件事情做了以下錯誤:

2013-01-09 13:14:35 NamingContextListener[/Tomcat-Standalone/localhost/profile]: Creating JNDI naming context 
2013-01-09 13:14:35 StandardManager[/profile]: Seeding random number generator class java.security.SecureRandom 
2013-01-09 13:14:35 StandardManager[/profile]: Seeding of random number generator has been completed 
2013-01-09 13:14:35 StandardContext[/profile]: Posting standard context attributes 
2013-01-09 13:14:35 StandardContext[/profile]: Configuring application event listeners 
2013-01-09 13:14:35 StandardContext[/profile]: Sending application start events 
2013-01-09 13:14:35 StandardContext[/profile]: Starting filters 
2013-01-09 13:14:35 StandardContext[/profile]: Starting completed 
2013-01-09 13:14:37 StandardContext[/profile]: Servlet /profile threw load() exception 
org.apache.jasper.JasperException: Unable to compile class for JSP 

An error occurred at line: -1 in the jsp file: null 

Generated servlet error: 
    [javac] Compiling 1 source file 



    at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85) 
    at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:248) 
    at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:343) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:356) 
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:720) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:888) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:768) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3484) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3710) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:777) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:760) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:538) 
    at org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.java:667) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216) 
    at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:217) 
    at org.apache.commons.digester.Rule.end(Rule.java:253) 
    at org.apache.commons.digester.Digester.endElement(Digester.java:1222) 
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
    at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) 
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) 
    at org.apache.commons.digester.Digester.parse(Digester.java:1765) 
    at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:343) 
    at org.apache.catalina.core.StandardHost.install(StandardHost.java:762) 
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:443) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:377) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:808) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:335) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1156) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:697) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1148) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:311) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:450) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:2213) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:484) 
    at org.apache.catalina.startup.Catalina.execute(Catalina.java:371) 
    at org.apache.catalina.startup.Catalina.process(Catalina.java:134) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:151) 

會議在不同的應用程序中存在然後加載「配置文件」,所以我不太確定當啓動另一個時會發生什麼。

任何幫助將不勝感激。謝謝。

+1

您的代碼是來自JSP還是servlet?我猜測JSP。請注意,堆棧跟蹤表明JSP無法編譯。有人認爲HttpSession.getValue()是一個不推薦的方法。嘗試替換爲「getAttribute()」。 – EJK

回答

1

發現我的修補程序與某些論壇建議的修復程序相同。我在一個沒有空格的目錄中創建一個新的Tomcat安裝(即C:\Tomcat4.1)並且工作正常。

不知道爲什麼或如何,但它做到了。

-1

看來getValue(String)方法已被棄用。那麼試試下面的代碼null == validuser.getAttribute(String)

+0

即使被棄用它應該工作 – Archer

+0

試過了......沒有區別。這兩個值都是空的。 – mlevit

+0

我的意思是說,它應該作爲非棄用的方法工作。 – Archer

0

我認爲這是一個問題

org.apache.jasper.JasperException: Unable to compile class for JSP 

An error occurred at line: -1 in the jsp file: null 

清理你的項目(或手動刪除所有.class文件),然後嘗試從頭編譯。如果錯誤消失 - 檢查它應該工作。如果沒有 - 你應該明顯地得到這個第一個錯誤消失了。

+0

我沒有源代碼...所以我不想刪除所有的.class文件。這是一個網絡應用程序,我必須從Tomcat目錄的複製和粘貼中進行部署:) 您能想出任何方法來查找「null」jsp文件嗎? – mlevit

+0

你怎麼說你沒有源代碼。什麼是編譯呢? – Archer

+0

我有.class文件但不包含.java文件。 – mlevit