2015-06-27 46 views
0

我已經在Tomcat中將此添加到我的web.xml文件:Tomcat 7和Grails部署 - conf/web.xml應該是什麼樣子?

<servlet-mapping> 
<servlet-name>GroovyTemplate</servlet-name> 
<url-pattern>*.gsp</url-pattern> 
</servlet-mapping> 

但我得到這個從卡特琳娜:

Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name GroovyTemplate 

的問題是,它不會加載了經理或任何其他的Apache工具隨它而來。

但是,如果我沒有在我的web.xml那麼我的Grails應用程序不會啓動並返回404錯誤。

那麼grails應用程序web.xml的正確設置是什麼?

這是現在的樣子(一部分):

<!-- The mapping for the default servlet --> 
<servlet-mapping> 
    <servlet-name>default</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

<!-- The mappings for the JSP servlet --> 
<servlet-mapping> 
    <servlet-name>jsp</servlet-name> 
    <url-pattern>*.jsp</url-pattern> 
    <url-pattern>*.jspx</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
<servlet-name>GroovyTemplate</servlet-name> 
<url-pattern>*.gsp</url-pattern> 
</servlet-mapping> 
+1

由於我部署了我的grails應用程序,我只是稱之爲'grails war'來創建一個戰爭,然後把它放在tomcat容器中。你試過了嗎?我生成的web.xml包含 gsp * .gsp CyberAleks

回答

1

請查看文件yourGrailsProject /目標/工作/ web.xml.tmp或在這裏:https://github.com/wshearn/grails-test/blob/master/target/web.xml.tmp 在這裏你可以找到部分,如:

<!-- The Groovy Server Pages servlet --> 
<servlet> 
    <servlet-name>gsp</servlet-name> 
    <servlet-class>org.codehaus.groovy.grails.web.pages.GroovyPagesServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>gsp</servlet-name> 
    <url-pattern>*.gsp</url-pattern> 
</servlet-mapping> 

其中包含GroovyPagesServlet的完整路徑。