主题 : 验*码乱码
级别: 解元
UID: 30285
积分:236 加为好友
威望: 0 精华: 0
主题:13 回复:110
注册时间:2012-03-01
在线时长:0
1#   发表于:2018-02-04 12:37:22  IP:111.225.*.*
平台:CENTOS 7   TOMCAT9  MYSQL*    JAVA1.8   JEECMS V9.2   NGINX1.8
安装方式:直接解压,替换WEB.XML,手动导入数据库,修改JDBC(向导式安装会报错),修改数据库网站路径,网站权限777(给了全部权限)
全新安装,无任何改动
其它功能一切正常。。除了验证码~~~~
注册和留言验证码乱码,如图
注册

留言

HTML提示错误如下:
http://400p.com/captcha.svl Failed to load resource: the server responded with a status of 500 ()
http://400p.com/captcha.svl


TOMCAT报错如下:
04-Feb-2018 12:32:23.295 严重 [http-nio-8080-exec-4] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [Jcaptcha] in context with path [] threw exception [Filtered request failed.] with root cause
 com.octo.captcha.CaptchaException: word is too tall: try to use less letters, smaller font or bigger background:  text bounds = {text=ykny
java.awt.geom.Rectangle2D$Float[x=0.0,y=-31.09082,w=17.21045,h=45.470703] ascent=31.09082 descent=14.379883 leading=-0.0 
java.awt.geom.Rectangle2D$Float[x=37.21045,y=-28.082031,w=21.751953,h=41.070312] ascent=28.082031 descent=12.988281 leading=-0.0 
java.awt.geom.Rectangle2D$Float[x=78.9624,y=-25.49121,w=43.989258,h=36.867188] ascent=25.49121 descent=8.411133 leading=2.9648438 
java.awt.geom.Rectangle2D$Float[x=142.95166,y=-25.49121,w=16.5,h=36.867188] ascent=25.49121 descent=8.411133 leading=2.9648438 
} with fonts {java.awt.Font[family=Dialog,name=Arial,style=plain,size=31]
java.awt.Font[family=Dialog,name=Arial,style=bold,size=31]
java.awt.Font[family=Dialog,name=Arial,style=plain,size=28]
java.awt.Font[family=Dialog,name=Arial,style=italic,size=33]
} versus image width = 110, height = 50
at com.octo.captcha.component.image.textpaster.ChangeableAttributedString.moveToRandomSpot(ChangeableAttributedString.java:184)
at com.octo.captcha.component.image.textpaster.ChangeableAttributedString.moveToRandomSpot(ChangeableAttributedString.java:111)
at com.octo.captcha.component.image.textpaster.DecoratedRandomTextPaster.pasteText(DecoratedRandomTextPaster.java:82)
at com.octo.captcha.component.image.wordtoimage.ComposedWordToImage.pasteText(ComposedWordToImage.java:130)
at com.octo.captcha.component.image.wordtoimage.AbstractWordToImage.getImage(AbstractWordToImage.java:52)
at com.octo.captcha.image.gimpy.GimpyFactory.getImageCaptcha(GimpyFactory.java:77)
at com.octo.captcha.image.ImageCaptchaFactory.getCaptcha(ImageCaptchaFactory.java:37)
at com.octo.captcha.engine.GenericCaptchaEngine.getNextCaptcha(GenericCaptchaEngine.java:81)
at com.octo.captcha.service.AbstractCaptchaService.generateAndStoreCaptcha(AbstractCaptchaService.java:156)
at com.octo.captcha.service.AbstractManageableCaptchaService.generateCountTimeStampAndStoreCaptcha(AbstractManageableCaptchaService.java:342)
at com.octo.captcha.service.AbstractManageableCaptchaService.generateAndStoreCaptcha(AbstractManageableCaptchaService.java:331)
at com.octo.captcha.service.AbstractCaptchaService.getChallengeForID(AbstractCaptchaService.java:83)
at com.octo.captcha.service.multitype.GenericManageableCaptchaService.getImageChallengeForID(GenericManageableCaptchaService.java:81)
at com.jeecms.common.captcha.JcaptchaServlet.doGet(JcaptchaServlet.java:54)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:495)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:767)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1354)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
杰作科技
级别: 解元
UID: 30285
积分:236 加为好友
威望: 0 精华: 0
主题:13 回复:110
注册时间:2012-03-01
在线时长:0
2#   发表于:2018-02-04 13:50:45  IP:111.225.*.*
经过人肉百度检索各种可能,问题已解决,分享给你们,避免踩雷。。。一个意想不到的问题。。。
足足折磨了我半年!!!
阿里云的CENTOS没有字体文件。。。。
而JEECMS的验证码配置文件里写的字体是arial
解决办法:把WINDOWS系统里的arial字体上传到服务器,步骤请参考:
https://www.cnblogs.com/luke001/p/6308746.html
本帖最近评分记录:
  • yin2035    2018-02-05   人气    0   
  • 杰作科技
    级别: 解元
    UID: 30285
    积分:236 加为好友
    威望: 0 精华: 0
    主题:13 回复:110
    注册时间:2012-03-01
    在线时长:0
    3#   发表于:2018-02-04 13:52:45  IP:111.225.*.*
    杰作科技
    级别: 总版主
    UID: 10736
    积分:149787 加为好友
    威望: 212 精华: 42
    主题:297 回复:127674
    注册时间:2010-09-08
    在线时长:90.1
    4#   发表于:2018-02-05 08:47:51  IP:182.12.*.*
    路漫漫其修远兮,吾将上下而求索!
    级别: 版主
    UID: 118616
    积分:4114 加为好友
    威望: 0 精华: 0
    主题:0 回复:3968
    注册时间:2017-12-04
    在线时长:0
    5#   发表于:2018-02-05 09:01:34  IP:182.12.*.*
    回复第3楼
    1 共1页