ZK - Open Source Ajax Java FrameworkZK - Open Source Ajax Java Framework

ZK Chat Example - Exception error

AnthoniG
30 Jun 2010 07:51:56 GMT
30 Jun 2010 07:51:56 GMT

Hello,

I am just beginning with ZK and so far loving what I have seen. I have run the demos on the site and also run the large ZK demo locally using Tomcat server, using the .war file. I have also built some silly examples for myself to try out various things.

I then came to try the ZK Chat room example and put the .war file into Tomcat as usual and went to the chat.zul page. However Tomcat spat out an exception stack saying that a class was not found. Below is the stack trace. Can someone please tell me what is going on here ?


30-Jun-2010 13:23:52 org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet auEngine threw exception
java.lang.NoClassDefFoundError: org/apache/commons/el/ExpressionEvaluatorImpl
at org.zkoss.web.servlet.dsp.ServletDspContext.getExpressionEvaluator(ServletDspContext.java:112)
at org.zkoss.web.servlet.dsp.impl.ActionNode$Attr.apply(ActionNode.java:133)
at org.zkoss.web.servlet.dsp.impl.ActionNode$Attr.access$000(ActionNode.java:118)
at org.zkoss.web.servlet.dsp.impl.ActionNode.interpret(ActionNode.java:66)
at org.zkoss.web.servlet.dsp.impl.RootNode.interpret(RootNode.java:51)
at org.zkoss.web.servlet.dsp.impl.RootNode.interpret(RootNode.java:64)
at org.zkoss.web.util.resource.DspExtendlet.service(DspExtendlet.java:80)
at org.zkoss.web.util.resource.ClassWebResource.web(ClassWebResource.java:263)
at org.zkoss.web.util.resource.ClassWebResource.service(ClassWebResource.java:130)
at org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:124)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.zkoss.web.servlet.Servlets.forward(Servlets.java:386)
at org.zkoss.zk.ui.http.ExecutionImpl.forward(ExecutionImpl.java:150)
at org.zkoss.zk.ui.impl.PageImpl.redraw(PageImpl.java:776)
at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:367)
at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:259)
at org.zkoss.zk.ui.http.DHtmlLayoutServlet.process(DHtmlLayoutServlet.java:188)
at org.zkoss.zk.ui.http.DHtmlLayoutServlet.doGet(DHtmlLayoutServlet.java:132)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:574)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527)
at java.lang.Thread.run(Thread.java:595)
30-Jun-2010 13:23:52 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet zkLoader threw exception
org.zkoss.zk.ui.UiException: javax.servlet.ServletException: Servlet execution threw an exception
at org.zkoss.zk.ui.http.ExecutionImpl.forward(ExecutionImpl.java:156)
at org.zkoss.zk.ui.impl.PageImpl.redraw(PageImpl.java:776)
at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:367)
at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:259)
at org.zkoss.zk.ui.http.DHtmlLayoutServlet.process(DHtmlLayoutServlet.java:188)
at org.zkoss.zk.ui.http.DHtmlLayoutServlet.doGet(DHtmlLayoutServlet.java:132)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:574)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.servlet.ServletException: Servlet execution threw an exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.zkoss.web.servlet.Servlets.forward(Servlets.java:386)
at org.zkoss.zk.ui.http.ExecutionImpl.forward(ExecutionImpl.java:150)
... 19 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/el/ExpressionEvaluatorImpl
at org.zkoss.web.servlet.dsp.ServletDspContext.getExpressionEvaluator(ServletDspContext.java:112)
at org.zkoss.web.servlet.dsp.impl.ActionNode$Attr.apply(ActionNode.java:133)
at org.zkoss.web.servlet.dsp.impl.ActionNode$Attr.access$000(ActionNode.java:118)
at org.zkoss.web.servlet.dsp.impl.ActionNode.interpret(ActionNode.java:66)
at org.zkoss.web.servlet.dsp.impl.RootNode.interpret(RootNode.java:51)
at org.zkoss.web.servlet.dsp.impl.RootNode.interpret(RootNode.java:64)
at org.zkoss.web.util.resource.DspExtendlet.service(DspExtendlet.java:80)
at org.zkoss.web.util.resource.ClassWebResource.web(ClassWebResource.java:263)
at org.zkoss.web.util.resource.ClassWebResource.service(ClassWebResource.java:130)
at org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:124)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
... 26 more

From my limited knowledge it seems that it can't find the class org.apache.commons.el.ExpressionEvaluatorImpl
Is this correct? If so, how do I fix this please ?

Regards
Anthoni

PeterKuo
30 Jun 2010 20:35:47 GMT
30 Jun 2010 20:35:47 GMT

@AnthoniG, welcome to ZK

Is the example download from following link?
http://www.zkoss.org/smalltalks/serverpush/

I tried it, and encounter the same error.
Seems like some jar is missing.

I tried add commons-el.jar to \webapps\chat\WEB-INF\lib and it works.
You can download it from:
http://commons.apache.org/el/

Article in wiki are always easier to modify and up to date.
http://docs.zkoss.org/wiki/Simple_and_Intuitive_Server_Push_with_a_Chat_Room_Example

AnthoniG
1 Jul 2010 00:04:40 GMT
1 Jul 2010 00:04:40 GMT

Hi Peter,

Thanks, loving the learning experience of it all. I am tripping up over some things, like component creation for one and dynamic includes (ones you can switch at run time) but other than that I am grasping it quite well.

The demo I downloaded was direct from the SourceForge zkForge set adn not from that example / small talk but thanks for that link anyway, it will help me decipher the code. Much appreciated.

Regards
Anthoni