我们一直在尝试使用Tomcat和Websockets构建一个简单的Web应用程序。该系统在localhost上正常运行。当我们尝试在服务器上部署Web应用程序(Debian Linux,运行Tomcat 7.0.52)时,问题就出现了。该应用程序在localhost(Windows 7,运行Tomcat 7.0.52)上运行完全正常。到目前为止建议的错误500的方法主要是检查tomcat的lib文件夹中的jar。 (奇怪的是,这似乎不是问题,因为所有的jar似乎都存在于lib文件夹中。我甚至提取了un-jarred wesocket jar并检查了类UpgradeUtil是否存在。它是!)。
从浏览器访问网站时出现此错误。
HTTP状态500 - 过滤器执行引发异常 类型异常报告
消息过滤器执行引发异常说明服务器遇到内部错误,导致无法完成此请求。
例外
javax.servlet.ServletException:过滤器执行引发异常 根本原因
java.lang.NoClassDefFoundError:无法初始化类org.apache.tomcat.websocket.server.UpgradeUtil org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:50) note备注根本原因的完整堆栈跟踪可在Apache Tomcat /7.0.52日志中。
Apache Tomcat / 7.0.52
错误日志中出现此错误。
2014年4月3日下午9:51:53 org.apache.catalina.core.StandardWrapperValve调用 严重:servlet [default]的Servlet.service()在路径[/ CrossGames]的上下文中引发了异常[过滤器执行引发异常]的根本原因 java.lang.NoClassDefFoundError:无法初始化类org.apache.tomcat.websocket.server.UpgradeUtil 在org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:50) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 在org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:193) at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:607) 在org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:313) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:603) 在java.lang.Thread.run(Thread.java:732)
我们试过了
您的见解和观点对我们非常有帮助。谢谢!
答案 0 :(得分:3)
安装tomcat会解决此问题。如果这对其他人有任何帮助,我担心。
答案 1 :(得分:1)
我得到了解决方案,我只是重新启动Servlet(在线tomcat)
答案 2 :(得分:0)
org.apache.tomcat.websocket.server.UpgradeUtil可能存在,但异常意味着在初始化过程中出现了问题。
检查是否存在这些类:
org.apache.tomcat.util.codec.binary.Base64; org.apache.tomcat.websocket.Constants; org.apache.tomcat.websocket.WsHandshakeResponse; org.apache.tomcat.websocket.pojo.PojoEndpointServer;