2010-04-25 3 views
0

GWT-RPC를 사용하는 GWT 애플리케이션에서 작업 중입니다.GWT 프로젝트에서 Groovlet이 작동하지 않습니다. 컨테이너 : Google 플러그인의 임베디드 부두

난 그냥이 일을하는지 테스트 groovlet을 만들었지 만, 몇 가지 문제로 실행 여기 내 groovlet의

모든 튜토리얼은 우리가 무엇을 서브 클래 싱 할 필요가 없습니다, 그냥 간단한 스크립트는 것이라고 말했다
package groovy.servlet; 
print "testing the groovlet"; 

서블릿 역할을합니다.

내 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 

내가 같은 실행 -> 웹 응용 프로그램을 난 부두에서 다음과 같은 오류 얻을 :

[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 사용할 수 있습니까? 그루비 항아리도 전개 되었습니까? – Vinny

답변

0

HttpServlet 클래스 (또는 groovy.servlet.GroovyServlet)를 확장하지 않고 새 클래스를 작성합니다.

GroovyServlet 은 서블릿 인입니다. 그런 다음 Groovy 스크립트를 해석합니다.

는 다음 웹 루트 아래 something.groovy somwhere라는 이름의 파일에 당신이

out.println 'testing the groovlet' 

객체를 작성할 수

<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.xml에 그것을 설정하려면 request, response , session, params 및 기타도 함께 처분 할 수 있습니다. 예를 들어 당신이 호기심에서 http://groovy.codehaus.org/Groovlet

관련 문제