Changed follow your advice, but the error is the same. It may not the code's problem but some special configuration of the Web Container. Error Page from browser:
*type* Exception report *message* *description*The server encountered an internal error () that prevented it from fulfilling this request. *exception* javax.servlet.ServletException: PWC1391: Servlet.init() for servlet HelloWorldApplication threw exception *root cause* org.apache.wicket.WicketRuntimeException: Unable to create application of class com.example.helloworld.HelloWorldApplication *root cause* java.lang.ClassNotFoundException: com.example.helloworld.HelloWorldApplication *note* *The full stack traces of the exception and its root causes are available in the GlassFish/v3 logs.* 2008/12/16 Ajayi Yinka <iamstyaj...@googlemail.com> > From the error log, it seems glass fish could not load the webApplication > class. > > Make sure your webApplication class is in the correct class path > (com.example.helloworld.HelloWorldApplication) > > And the webApplcation class is in the correct format. > > or > > and may change your web.xml file to be in this format: > > <filter> > <filter-name>HelloWorldApplication</filter-name> > > <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> > <init-param> > <param-name>applicationClassName</param-name> > > <param-value>com.example.helloworld.HelloWorldApplication</param-value> > </init-param> > <init-param> > <param-name>debug</param-name> > <param-value>2</param-value> > </init-param> > </filter> > 2008/12/16 Daniel <lia...@gmail.com> > > > Hi, > > I'm an newbie in Wicket. When I create my first hello world wicket > program, > > strange error encounted. > > > > The hello world program is just to show 'Hello World' through Label. > > > > The web.xml is as below, > > > > <servlet> > > <servlet-name>HelloWorldApplication</servlet-name> > > > > > > > <servlet-class>org.apache.wicket.protocol.http.WicketServlet</servlet-class> > > <init-param> > > <param-name>applicationClassName</param-name> > > <param-value>com.example.helloworld.HelloWorldApplication</param-value> > > </init-param> > > </servlet> > > <servlet-mapping> > > <servlet-name>HelloWorldApplication</servlet-name> > > <url-pattern>/helloWorld/*</url-pattern> > > </servlet-mapping> > > > > In Tomcat env, when I call the URL : > > http://localhost:8080/WicketExamples/helloWorld/. > > <http://localhost:8080/WicketExamples/helloWorld/>Everything > > goes well. > > When I use the URL: http://localhost:8080/WicketExamples/, show 404 > error. > > > > But the same program runs in GlassFish env. when I call the same URL, > error > > comes as below > > > > 2008-12-16 17:32:00 org.apache.catalina.core.ApplicationContext log > > 严重: WebModule[/WicketExamples]StandardWrapper.Throwable > > org.apache.wicket.WicketRuntimeException: Unable to create application of > > class com.example.helloworld.HelloWorldApplication > > at > > > > > org.apache.wicket.protocol.http.ContextParamWebApplicationFactory.createApplication(ContextParamWebApplicationFactory.java:82) > > at > > > > > org.apache.wicket.protocol.http.ContextParamWebApplicationFactory.createApplication(ContextParamWebApplicationFactory.java:49) > > at > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:666) > > at > > > org.apache.wicket.protocol.http.WicketServlet.init(WicketServlet.java:209) > > at javax.servlet.GenericServlet.init(GenericServlet.java:270) > > at > > > > > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1198) > > at > > > org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:863) > > at > > > > > org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:369) > > at > > > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139) > > at > > > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186) > > at > > > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719) > > at > > > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657) > > at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96) > > at > > > > > com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98) > > at > > > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187) > > at > > > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719) > > at > > > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657) > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651) > > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030) > > at > > > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142) > > at > > > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719) > > at > > > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657) > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651) > > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030) > > at > > > > > org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) > > at > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:242) > > at > > > > > com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180) > > at > > > > > com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633) > > at > > > > > com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570) > > at > > > > > com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827) > > at > > > > > com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152) > > at > > > > > com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71) > > at > > > com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103) > > at > > > com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89) > > at > > com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) > > at > > > > > com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67) > > at > > > > > com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56) > > at > > > > > com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325) > > at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184) > > Caused by: java.lang.ClassNotFoundException: > > com.example.helloworld.HelloWorldApplication > > at > > > > > org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1509) > > at > > > > > org.apache.wicket.protocol.http.ContextParamWebApplicationFactory.createApplication(ContextParamWebApplicationFactory.java:68) > > ... 38 more > > > > 2008-12-16 17:32:00 org.apache.catalina.core.StandardWrapperValve log > > 严重: StandardWrapperValve[HelloWorldApplication]: PWC1382: Allocate > > exception > > for servlet HelloWorldApplication > > org.apache.wicket.WicketRuntimeException: Unable to create application of > > class com.example.helloworld.HelloWorldApplication > > at > > > > > org.apache.wicket.protocol.http.ContextParamWebApplicationFactory.createApplication(ContextParamWebApplicationFactory.java:82) > > at > > > > > org.apache.wicket.protocol.http.ContextParamWebApplicationFactory.createApplication(ContextParamWebApplicationFactory.java:49) > > at > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:666) > > at > > > org.apache.wicket.protocol.http.WicketServlet.init(WicketServlet.java:209) > > at javax.servlet.GenericServlet.init(GenericServlet.java:270) > > at > > > > > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1198) > > at > > > org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:863) > > at > > > > > org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:369) > > at > > > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139) > > at > > > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186) > > at > > > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719) > > at > > > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657) > > at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96) > > at > > > > > com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98) > > at > > > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187) > > at > > > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719) > > at > > > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657) > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651) > > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030) > > at > > > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142) > > at > > > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719) > > at > > > > > org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657) > > at > > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651) > > at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030) > > at > > > > > org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) > > at > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:242) > > at > > > > > com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180) > > at > > > > > com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633) > > at > > > > > com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570) > > at > > > > > com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827) > > at > > > > > com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152) > > at > > > > > com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71) > > at > > > com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103) > > at > > > com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89) > > at > > com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) > > at > > > > > com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67) > > at > > > > > com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56) > > at > > > > > com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325) > > at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184) > > Caused by: java.lang.ClassNotFoundException: > > com.example.helloworld.HelloWorldApplication > > at > > > > > org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1509) > > at > > > > > org.apache.wicket.protocol.http.ContextParamWebApplicationFactory.createApplication(ContextParamWebApplicationFactory.java:68) > > ... 38 more > > > > When I use the URL http://localhost:8080/WicketExamples/, the result is > > correct. > > > > My env is > > JDK 1.5.0_16 > > Wicket 1.4rc1 > > Tomcat 6.0 > > GlassFish v3 > > > > Can anybody help me? > > > > Thank you in advance. > > -- > > Best regards, > > Daniel > > > -- Best regards, Daniel