2010-04-25 87 views
0

我正在使用GWT-RPC的GWT應用程序。 我只是做了一個測試的Groovlet,看看它是否工作,但遇到了一些問題Groovlet不工作在GWT項目,容器:在谷歌插件嵌入式碼頭

,這裏是我的Groovlet

package groovy.servlet; 
print "testing the groovlet"; 

每個教程說,我們並不需要繼承什麼,只是一個簡單的腳本會充當servlet。

我的web.xml看起來是這樣的 -

<!-- groovy --> 
<servlet> 
     <servlet-name>testGroovy</servlet-name> 
     <servlet-class>groovy.servlet.testGroovy</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>testGroovy</servlet-name> 
     <url-pattern>*.groovy</url-pattern> 
    </servlet-mapping 

當我作爲運行 - > Web應用程序, 我從碼頭以下錯誤:

[WARN] failed testGroovy 
javax.servlet.UnavailableException: Servlet class groovy.servlet.testGroovy is not a javax.servlet.Servlet 
at org.mortbay.jetty.servlet.ServletHolder.checkServletType(ServletHolder.java:377) 
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:234) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:616) 
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) 
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220) 
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513) 
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) 
at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:447) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
at org.mortbay.jetty.Server.doStart(Server.java:222) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 
at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:543) 
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:421) 
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1035) 
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783) 
at com.google.gwt.dev.DevMode.main(DevMode.java:275) 

我錯過了什麼?

+0

出於好奇寫

out.println "Hello ${params['name']}" 

更多信息,爲什麼要使用groovy.servlet作爲包你上課嗎?此外,還部署了groovy罐子? – Vinny 2010-05-23 20:25:42

回答

0

您正在構建一個新類,而不是擴展HttpServlet類(或者groovy.servlet.GroovyServlet)。

GroovyServlet 該servlet,然後解釋您的groovy腳本。

要設置它在web.xml中使用

<servlet> 
    <servlet-name>GroovyServlet</servlet-name> 
    <servlet-class>groovy.servlet.GroovyServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>GroovyServlet</servlet-name> 
    <url-pattern>*.groovy</url-pattern> 
</servlet-mapping> 

,然後在根據你的Web根命名something.groovy somwhere文件,你可以寫

out.println 'testing the groovlet' 

的對象requestresponsesession,params等也在您的處置。所以,你的實例可以http://groovy.codehaus.org/Groovlet

相關問題