1) 输入命令:grails prod war ROOT.war 然后发布到Tomcat的webapps下。
然后输入http://localhost:8080即可显示。如果打包成其他的名字,就在放置到webapps\ROOT目录下 然后输入http://localhost:8080 就会导致溢出,因为grails包含spring、hibernate启动时需占大量内存。
2) 如果传入params有中文,需要将编码设置为utf8,在%TOMCAT_HOME% \conf文件夹下的server.xml,找到
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
c disableUploadTimeout="true" />
将其改为
<Connector
port="80" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
c disableUploadTimeout="true" URIEncoding="utf-8"/>
重起Tomcat即可
3) 关于servletContext的问题
在jetty下,gsp页面中可以使用${request.getServletContext()}来获取servletContext的信息,比如Servlet Context Name
而在tomcat5.5下不行。但是直接使用servletContext对象也不行,无论在tomcat还是jetty下,在gsp页面直接使用都会报错。
我的做法是:
def rootRealPath = servletContext.getRealPath("/")
def classesRealPath = servletContext.getRealPath("/WEB-INF/classes")
def servletContextName = servletContext.getServletContextName()
[rootRealPath:rootRealPath , classesRealPath:classesRealPath , servletContextName:servletContextName]
然后在gsp页面调用${ rootRealPath}、${ classesRealPath }、${ servletContextName }
即可。
目前只遇到这些问题,以后遇到会慢慢总结 :D
然后输入http://localhost:8080即可显示。如果打包成其他的名字,就在放置到webapps\ROOT目录下 然后输入http://localhost:8080 就会导致溢出,因为grails包含spring、hibernate启动时需占大量内存。
2) 如果传入params有中文,需要将编码设置为utf8,在%TOMCAT_HOME% \conf文件夹下的server.xml,找到
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector
port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
c disableUploadTimeout="true" />
将其改为
<Connector
port="80" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
c disableUploadTimeout="true" URIEncoding="utf-8"/>
重起Tomcat即可
3) 关于servletContext的问题
在jetty下,gsp页面中可以使用${request.getServletContext()}来获取servletContext的信息,比如Servlet Context Name
而在tomcat5.5下不行。但是直接使用servletContext对象也不行,无论在tomcat还是jetty下,在gsp页面直接使用都会报错。
我的做法是:
def rootRealPath = servletContext.getRealPath("/")
def classesRealPath = servletContext.getRealPath("/WEB-INF/classes")
def servletContextName = servletContext.getServletContextName()
[rootRealPath:rootRealPath , classesRealPath:classesRealPath , servletContextName:servletContextName]
然后在gsp页面调用${ rootRealPath}、${ classesRealPath }、${ servletContextName }
即可。
目前只遇到这些问题,以后遇到会慢慢总结 :D