pupilman 2017-03-24 01:29 采纳率: 100%
浏览 2569
已采纳

kaptcha生成验证码插件在html页面中使用为什么会报错求大牛指点迷津,不胜感激。

如下是代码
第一部分是web.xml的配置
<?xml version="1.0" encoding="UTF-8"?>

s2sh

index.html
index.htm
index.jsp
default.html
default.htm
default.jsp


spring
org.springframework.web.servlet.DispatcherServlet
0


spring
.do


encodingFilter
org.springframework.web.filter.CharacterEncodingFilter

encoding
UTF-8


forceEncoding
true



encodingFilter
/


org.springframework.web.context.ContextLoaderListener


contextConfigLocation
classpath:applicationContext.xml

<!-- 生成验证码配置 servlet-->

Kaptcha
com.google.code.kaptcha.servlet.KaptchaServlet


Kaptcha
/kaptcha.jpg


接下来是页面的代码,我用的是html,这块声明一下这个配置用jsp是没有问题的,只是挪到了html页面中不知怎地就报错了,不影响页面生成验证码图片,但是后台是取不到session中的字符串的,因为session并没有创建,报的错也是session不能在response相应后创建。
<!-- 验证码开始 -->
                      <div> 
                        <img src="../kaptcha.jpg" id="kaptchaImage" width="300px" height="50px" style="padding-top: 25px; "/>
                        <input type="text" class="form-control col-xs-4" id="passWord" placeholder="请输入验证码" >

                      </div>
                      <!-- 验证码结束 -->

接下来是页面点击图片生成验证码的js代码

$(function(){ $('#kaptchaImage').click(function () { $(this).attr('src', '../kaptcha.jpg?' + Math.floor(Math.random()*100) ); }); });

然后以下是报错信息

三月 24, 2017 9:28:41 上午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [Kaptcha] in context with path [/webapp] threw exception
java.lang.IllegalStateException: Cannot create a session after the response has been committed
at org.apache.catalina.connector.Request.doGetSession(Request.java:3016)
at org.apache.catalina.connector.Request.getSession(Request.java:2385)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:897)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:909)
at com.google.code.kaptcha.servlet.KaptchaServlet.doGet(KaptchaServlet.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
*

  • 写回答

3条回答

  • 罗忠浩 博客专家认证 2017-03-24 05:18
    关注

    报错内容有路径错误,有服务器请求错误JSP的页面直接在HTML中有很多都是会出现各种错误的,因为两者有太多不同的问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置