Linux系统下Jsp验证码显示不出来, nginx 返回500 解决方法
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 解决方法相关推荐
- linux清除文件后df还是满的,Linux系统下用du和df命令清除大文件的方法
很多用户表示,Linux系统中发现/home目录下剩余空间不足的时候,可以使用du和df命令来对找到大文件,并且对它们进行删除,从而腾出足够的空间.但是,如何用du和df命令清除大文件呢?下面,U大侠 ...
- 计算机网络电缆被拔出是怎么办,解决Windows7系统下本地连接显示网络电缆被拔出的方法...
在使用Windows7系统上网的过程中,想必有很多人都有遇到过网络断掉的问题吧,比如有部分使用win7 64位系统的用户反映说电脑桌面右下角本地连接显示网络电缆没有插好的提示,可是他们的网线有插好,不 ...
- html在苹果手机上显示不出来,苹果手机下拉菜单显示不出来也下不来的解决方法...
苹果手机下拉菜单显示不出来也下不来的解决方法 iOS8下拉菜单显示不出来也下不来怎么办?如何解决?不管是 iOS7 系统还是 iOS8 系统,在使用过程中,都有机率遇到下拉通知中心或控制中心的菜单出不 ...
- Win7系统下删除文件时出现“正在准备再循环”的解决方法
Win7系统下删除文件时出现"正在准备再循环"的解决方法 今天,笔者在备份文件的时候,将一个word文档从移动硬盘复制到桌面.经过一系列"复(meng)杂(bi)&quo ...
- linux系统无法启动提示give root password for maintenance的解决方法
linux系统无法启动提示give root password for maintenance的解决方法 由于非法重启或硬盘故障,会导致linux系统无法启动,无法进入操作系统.当你看到提示:give ...
- 计算机丢失tlps,win7系统下PS提示计算机丢失tlpsplib10.dll文件的解决方法
ps是一款图片处理软件,很多win7系统用户由于工作或学习需要会安装ps来使用,但是有时候要打开ps的时候,却提示计算机丢失tlpsplib10.dll文件,该怎么办呢,现在就给大家分享一下win7系 ...
- win7系统下重启之后打印机服务就会自动停止的解决方法
win7系统下重启之后打印机服务就会自动停止的解决方法: 第一步.进入Win7系统后,您需要启动win7系统的任务管理器窗口,然后切换到进程这一栏中,将spoolsv.exe运行进程结束掉.之后,您同 ...
- 在linux系统下java实现pdf导出汉字无法显示_ubuntu/Linux PDF文件中文无法显示或中文为方块的解决方法...
ubuntu1004,pdf文件有的无法显示中文,解决办法如下: 1. 先安装字体 A.sudo apt-get install xpdf-chinese-simplified; B. sudo ap ...
- linux从串口接收数据丢失_Linux系统下串口接收数据,部分特殊字符丢失的解决方法...
最近在linux系统中写了个串口接收程序,发送端依次从0x00~0xFF发送字符,但接收端某些字符老接收不到,分析及其解决方法如下: 一.只接收到数据: 05 06 07 08 09 0a 解决此问题 ...
最新文章
- BZOJ4671: 异或图
- mysql创建函数1418_Mysql中创建函数报“ERROR 1418 ”的解决方法
- 元宇宙教不会区块链赚钱
- 编译的 Ruby 2.3.0 缺少 openssl 支持的解决方法 (已解决)
- 在vivado hls软件上打开zynqnet工程,Vivado HLS Command Prompt(Vivado HLS 命令提示符)是什么
- [洛谷P3391] 文艺平衡树 (Splay模板)
- 常用SQL语句汇总整理
- python菜鸟入门知识
- oracle如何修改initial参数,oracle初始化参数设置
- ios 打包证书.p12 .mobileprovision 制作详细流程
- 服务器突然断电文件系统损坏,电脑突然断电造成系统文件损坏该如何修复?(高级篇)...
- 《C#零基础入门之百识百例》(二十三)数组排序 -- 选择排序
- elasticsearch xpack license过期
- 信息系统项目管理师----成本类计算
- wireshark源码分析二
- 【最新可用】Oracle官网下载Oracle 11g XE
- 请不要问LCD和LED屏哪个好了,因为这完全不是同一个概念!
- 安卓恢复大师怎样恢复手机删除的照片
- 是指使用计算机来加工管理,《运营管理》课程习题及答案-修订版(1)
- CUDA 11.3安装