2015-06-27 124 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的完整路径。