Linux系统下Jsp验证码显示不出来, nginx 返回500 解决方法

tomcat日志 localhost.1949-09-15.log 报错信息

1949-09-15 9:13:34 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [jsp] in context with path [/wfsb] threw exception [An exception occurred processing JSP page /page/securityCode.jsp at l
ine 24
21:     BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
22:
23:     // 获取图形上下文
24:     Graphics g = image.getGraphics();
25:
26:     //生成随机类
27:     Random random = new Random();   Stacktrace:] with root cause
java.lang.NullPointerExceptionat sun.font.FontManager.getDefaultPlatformFont(FontManager.java:3409)at sun.java2d.SunGraphicsEnvironment$2.run(SunGraphicsEnvironment.java:263)at java.security.AccessController.doPrivileged(Native Method)at sun.java2d.SunGraphicsEnvironment.<init>(SunGraphicsEnvironment.java:164)at sun.awt.X11GraphicsEnvironment.<init>(X11GraphicsEnvironment.java:254)at sun.reflect.GeneratedConstructorAccessor113.newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:534)at java.lang.Class.newInstance(Class.java:379)at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1181)at java.awt.image.BufferedImage.getGraphics(BufferedImage.java:1171)at org.apache.jsp.pages.securityCode_jsp._jspService(securityCode_jsp.java:91)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)at com.icss.util.XSSFilter.doFilter(XSSFilter.java:47)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:143)at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)at java.lang.Thread.run(Thread.java:701)

经过分析,问题出在这行代码:

Graphics g = image.getGraphics();

问题的原因是tomcat没有加载java.awt.headless,修改tomcat下的/bin/catalina.sh文件:

  • 一、在tomcat/bin/catalina.sh 配置 JAVA_OPTS="-Djava.awt.headless=true"
  • 二、找到-Djava.io.tmpdir="$CATALINA_TMPDIR",在这一行的下面加入:

-Djava.awt.headless=true \

需要修改六处

修改后,重启汤姆凯特。

如果还是不行,试试下面这个。
export CATALINA_OPTS="-Djava.awt.headless=true"
修改后,重启汤姆凯特。

如果还是不行,root用户执行命令 runlevel
查看系统的默认启动级别,如果是 :
N 3

试试N 5级别。

修改后,重启汤姆凯特。

Linux系统下Jsp验证码显示不出来, nginx 返回500 解决方法相关推荐

  1. linux清除文件后df还是满的,Linux系统下用du和df命令清除大文件的方法

    很多用户表示,Linux系统中发现/home目录下剩余空间不足的时候,可以使用du和df命令来对找到大文件,并且对它们进行删除,从而腾出足够的空间.但是,如何用du和df命令清除大文件呢?下面,U大侠 ...

  2. 计算机网络电缆被拔出是怎么办,解决Windows7系统下本地连接显示网络电缆被拔出的方法...

    在使用Windows7系统上网的过程中,想必有很多人都有遇到过网络断掉的问题吧,比如有部分使用win7 64位系统的用户反映说电脑桌面右下角本地连接显示网络电缆没有插好的提示,可是他们的网线有插好,不 ...

  3. html在苹果手机上显示不出来,苹果手机下拉菜单显示不出来也下不来的解决方法...

    苹果手机下拉菜单显示不出来也下不来的解决方法 iOS8下拉菜单显示不出来也下不来怎么办?如何解决?不管是 iOS7 系统还是 iOS8 系统,在使用过程中,都有机率遇到下拉通知中心或控制中心的菜单出不 ...

  4. Win7系统下删除文件时出现“正在准备再循环”的解决方法

    Win7系统下删除文件时出现"正在准备再循环"的解决方法 今天,笔者在备份文件的时候,将一个word文档从移动硬盘复制到桌面.经过一系列"复(meng)杂(bi)&quo ...

  5. linux系统无法启动提示give root password for maintenance的解决方法

    linux系统无法启动提示give root password for maintenance的解决方法 由于非法重启或硬盘故障,会导致linux系统无法启动,无法进入操作系统.当你看到提示:give ...

  6. 计算机丢失tlps,win7系统下PS提示计算机丢失tlpsplib10.dll文件的解决方法

    ps是一款图片处理软件,很多win7系统用户由于工作或学习需要会安装ps来使用,但是有时候要打开ps的时候,却提示计算机丢失tlpsplib10.dll文件,该怎么办呢,现在就给大家分享一下win7系 ...

  7. win7系统下重启之后打印机服务就会自动停止的解决方法

    win7系统下重启之后打印机服务就会自动停止的解决方法: 第一步.进入Win7系统后,您需要启动win7系统的任务管理器窗口,然后切换到进程这一栏中,将spoolsv.exe运行进程结束掉.之后,您同 ...

  8. 在linux系统下java实现pdf导出汉字无法显示_ubuntu/Linux PDF文件中文无法显示或中文为方块的解决方法...

    ubuntu1004,pdf文件有的无法显示中文,解决办法如下: 1. 先安装字体 A.sudo apt-get install xpdf-chinese-simplified; B. sudo ap ...

  9. linux从串口接收数据丢失_Linux系统下串口接收数据,部分特殊字符丢失的解决方法...

    最近在linux系统中写了个串口接收程序,发送端依次从0x00~0xFF发送字符,但接收端某些字符老接收不到,分析及其解决方法如下: 一.只接收到数据: 05 06 07 08 09 0a 解决此问题 ...

最新文章

  1. BZOJ4671: 异或图
  2. mysql创建函数1418_Mysql中创建函数报“ERROR 1418 ”的解决方法
  3. 元宇宙教不会区块链赚钱
  4. 编译的 Ruby 2.3.0 缺少 openssl 支持的解决方法 (已解决)
  5. 在vivado hls软件上打开zynqnet工程,Vivado HLS Command Prompt(Vivado HLS 命令提示符)是什么
  6. [洛谷P3391] 文艺平衡树 (Splay模板)
  7. 常用SQL语句汇总整理
  8. python菜鸟入门知识
  9. oracle如何修改initial参数,oracle初始化参数设置
  10. ios 打包证书.p12 .mobileprovision 制作详细流程
  11. 服务器突然断电文件系统损坏,电脑突然断电造成系统文件损坏该如何修复?(高级篇)...
  12. 《C#零基础入门之百识百例》(二十三)数组排序 -- 选择排序
  13. elasticsearch xpack license过期
  14. 信息系统项目管理师----成本类计算
  15. wireshark源码分析二
  16. 【最新可用】Oracle官网下载Oracle 11g XE
  17. 请不要问LCD和LED屏哪个好了,因为这完全不是同一个概念!
  18. 安卓恢复大师怎样恢复手机删除的照片
  19. 是指使用计算机来加工管理,《运营管理》课程习题及答案-修订版(1)
  20. CUDA 11.3安装

热门文章

  1. el-input实现防抖
  2. 02 QEMU默认支持的所有开发板、芯片列表
  3. 《C语言程序设计》江宝钏主编-习题6-8-斐波那契部分和!!!!!
  4. 跨境电商的支付方式有哪些?
  5. 公链扩展路线之争:道阻且长的过程中Ardor 3.0能为我们带来什么?
  6. OMAP3630_usb驱动
  7. halcon第五讲:汉字识别
  8. 【手写汉字识别】基于深度学习的脱机手写汉字识别技术研究
  9. php odbc informix,odbc php informix 问题求助
  10. 夏にありがとう(向夏天致谢)-因幡晃