我刚刚在我的 WEB-INF/lib 中安装了带有 groovy-all.jar (1.7.2) 的 tomcat (6.0.20)
我的 web.xml 文件如下所示
<web-app>
<servlet>
<servlet-name>Groovlet</servlet-name>
<servlet-class>groovy.servlet.GroovyServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>Template</servlet-name>
<servlet-class>groovy.servlet.TemplateServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Groovlet</servlet-name>
<url-pattern>*.groovy</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Template</servlet-name>
<url-pattern>*.gsp</url-pattern>
</servlet-mapping>
</web-app>
当我运行一个普通的 jsp 文件时,它会在我的 tomcat 工作目录中构建一个 java 文件并将其编译为类。
效果。 test.jsp 变为 test_jsp.java 和 test_jsp.class。
当我运行 groovelet 或 groovy 模板时,它不会在工作中创建任何文件。
结果是编译到另一个文件夹,还是编译每个请求? 如果是这样,有没有办法配置 groovy 来编译类以工作?
最佳答案
GroovyServlet 将 groovy 文件编译成 java.lang.Class 类型的对象,然后将这些类对象缓存在内存中。
如果你想将它们预编译为类文件,我想你必须使用 groovyc,在 http://groovy.329449.n5.nabble.com/Precompiling-groovlets-td935580.html 中有说明。
关于tomcat - 在 tomcats 工作目录中将 groovy 模板编译为类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2692227/