转:
网站验证码突然无法显示,并报如下错误。
Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
Caused by: java.lang.InternalError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.
解决办法:
在catalina.sh里加上一句“-Djava.awt.headless=true \”,问题解决。
经查,出现这种情况一般就是启动tomcat的用户无法访问Xserver,包括Xserver没有启动或者没有权限访问.
用以上办法就能解决验证码无法显示:Could not initialize class sun.awt.X1的问题
扩展阅读:
1.什么是Headless mode?
Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。
2.何时使用和headless mode?
Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的数据,以提供给客户端(如浏览器所在的配有相关的显示设备、键盘和鼠标的主机)。
3.如何使用和Headless mode?
一般是在程序开始激活headless模式,告诉程序,现在你要工作在Headless mode下,就不要指望硬件帮忙了,你得自力更生,依靠系统的计算能力模拟出这些特性来:
System.setProperty("java.awt.headless","true");
修改${TOMCAT_HOME}/bin/catalina.sh或${TOMCAT_HOME}/bin/catalina.bat文件:
在所有类似以下代码:
"$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Djava.security.manager \
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
在尾部加上一句:
-Djava.awt.headless=true \
修改后内容如下:
exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
-Djava.awt.headless=true \以tomcat6.0为例,总共有七处这样的地方,修改好后即可。
分享到:
相关推荐
Dede后台验证码不显示三种解决方案,包括取出验证码验证
注册表的值。有时候打开网页时,验证码显示不了,可能是电脑里的配置需要改动。。。
Python搭建Keras CNN模型识别网站验证码 Python搭建Keras CNN模型识别网站验证码 Python搭建Keras CNN模型识别网站验证码 Python搭建Keras CNN模型识别网站验证码 Python搭建Keras CNN模型识别网站验证码 Python搭建...
IIS图片验证码不显示最佳解决方案~~~~~~~~~~~~~~~
用户计算机安装了windows XP SP2系统后(包括最新的win2003sp1),在一些网站上在进行用户注册或后台管理登录需要输入验证码时,页面却无法显示验证码,(而在计算机升级为windows XP SP2以前却可以显示。其原因是大...
课程设计网站验证码的实现
好东西好西欧年各地验证码验证码验证码验证码
主要介绍了SpringMVC生成的验证码图片不显示问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
本资源提供的是一个django框架下的网站验证码技术,通过python代码调用PIL库生成图形验证码然后通过json方式将验证码字段和图片通过base64格式传输给前端,前端可以点击更换验证码(不用刷新页面),对输入进行校验...
识别网站高级的验证码识别网站高级的验证码识别网站高级的验证码识别网站高级的验证码
linux环境下验证码不显示问题 帮助解决部分应用系统登录页面中验证码无法显示的问题
图片验证码生成程序及使用 NetDust 验证码程序:DvCode.asp 使用示例:Example.asp 说明:在动网验证码的基础上进行了一些改进 Rem 2006-3-9 修正了一个可能除0的错误 Rem 2006-7-31 字符个数随机,宽度、高度、...
修复网页无法正常显示验证码的问题,用这个工具能很好的解决。修复无法显示验证码 验证的格式包括,bmp,jpg或GIF都可以修复。
OCR图像识别程序,可以;破解简单的网站验证码,比如本站的验证码
使用C#登录带验证码的网站使用C#登录带验证码的网站使用C#登录带验证码的网站使用C#登录带验证码的网站使用C#登录带验证码的网站使用C#登录带验证码的网站使用C#登录带验证码的网站
爬取网站时经常会遇到需要登录的问题,这是就需要用到模拟登录的相关方法。python提供了强大的url库,想做到这个并不难。这里以登录学校教务系统为例,做一个简单的例子。 首先得明白cookie的作用,cookie是某些网站...
网页验证码无法显示的解决方案,很实用的技术
解决windows 2003中IIS错误和系统中验证码不能显示问题
但是随着计算机科学的发展,模式识别等技术越来越成熟,于是编写机器人程序的家伙可以通过程序将直接写在图片中的内容识别出来,然后提交到服务器,这样验证码将形同虚设。为了防止机器人程序的识别,验证码的图片...
用.net实现网站验证码,有详细步骤和详细代码,