linux下 Tomcat 验证码不显示

在Linux环境下,遇到Tomcat验证码无法显示的问题。通过编辑Tomcat的catalina.sh文件,在-Djava.io.tmpdir="$CATALINA_TMPDIR"行下添加配置,并确保所有相关行都有此添加。如果依然出现HeadersTooLargeException错误,需要修改server.xml中Connector的maxHttpHeaderSize属性以增大响应头的缓冲区大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,把这个值设成你想要的大小
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值