Grails部署到Tomcat遇到的几个小问题

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值