linux下 Tomcat 验证码不显示
编辑Tomcat bin 目录下 catalina.sh
1、在catalina.sh添加
JAVA_OPTS="-Djava.awt.headless=true"
或
JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:PermSize=512M
-XX:MaxPermSize=1024m -Djava.awt.headless=true"
2、修改${TOMCAT_HOME}/bin/catalina.sh (windows修改catalina.bat)
查到-Djava.io.tmpdir="$CATALINA_TMPDIR"这行,并在这一行下加入:
-Djava.awt.headless=true \
tomcat6共有七处,其它版本tomcat可能有所不同
执行:sed -i '/-Djava\.io\.tmpdir=/a\-Djava.awt.headless=true \\' /usr/local/tomcat/bin/catalina.sh
保存后,重新启动就可以处理图形了
注意:有几处-Djava.io.tmpdir="$CATALINA_TMPDIR" ,就在每行下面都添加。
3、之后如果仍然报错如下:
org.apache.coyote.http11.HeadersTooLargeException: An attempt was made to write more data to the response headers than there was room available in the buffer. Increase maxHttpHeaderSize on the connector or write less data into the response headers
原因:写入的响应头的数据超出缓冲区限制的大小
解决方案:修改TOMCATE中的conf文件夹下的server.xml文件,具体修改如下:
<Connector URIEncoding="UTF-8" port="8090" protocol="org.apache.coyote.http11.Http11NioProtocol"
useBodyEncodingForURI="false" enableLookups="false" connectionTimeout="20000"
redirectPort="8443" maxHttpHeaderSize="500000"/>
其中主要修改的是maxHttpHeaderSize,把这个值设成你想要的大小