0 0

获取验证码出现以下异常10

//执行到这里的时候出现异常
ImageIO.write(image, "JPEG", response.getOutputStream());

异常信息:
ClientAbortException:  java.net.SocketException: Connection reset by peer: socket write error
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:309)
at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:288)
at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:98)
at javax.imageio.stream.FileCacheImageOutputStream.close(FileCacheImageOutputStream.java:213)
at javax.imageio.ImageIO.write(ImageIO.java:1567)
at com.cn.springMvcLogin.controller.RandomController.random(RandomController.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:710)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
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:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:764)
at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:124)
at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:570)
at org.apache.coyote.Response.doWrite(Response.java:560)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353)
... 37 more


有没有人遇到过这个问题,虽然不影响正常使用,但是为什么会报这个异常,
在类中输出了一下信息,只输出一次,并没有重复输出
2013年7月22日 16:42

3个答案 按时间排序 按投票排序

0 0

可能是网络的问题,由于请求发出后,响应时间太长引起,如果是偶然存在,就可以能是对页面请求次数过多,导致连接数太多,服务器无响应引起。

2013年7月24日 12:58
0 0

同意楼下,很有可能是前台事件触发了两次。
另外如果前台是异步调用的话,也有可能是页面跳转太快了,没有等到服务端反馈就跳转到别的页了。

2013年7月22日 17:01
0 0

是不是连接了两次?

2013年7月22日 16:54

相关推荐

    自动获取短信验证码并填充

    在IT行业中,自动获取短信验证码并填充是一项常见的自动化任务,特别是在移动应用或网站的身份验证环节。这个过程涉及到了几个关键的技术点,包括短信监听、数据解析以及自动化控制。以下是对这些知识点的详细解释:...

    获取手机短信验证码源码

    本文将围绕“获取手机短信验证码源码”这一主题,深入探讨其背后的实现原理、关键技术和相关知识点。 首先,我们要了解手机短信验证码的基本流程。通常,当用户在应用或网站上进行敏感操作时,系统会向用户注册的...

    python 自动填写验证码 获取亚马逊商品会员活动记录

    2. **异常处理**:编写健壮的错误处理代码,对可能出现的网络异常、解析错误等进行捕获和处理。 3. **数据持久化**:抓取到的数据应保存到本地文件或数据库中,便于后续分析和使用。 4. **定时任务**:如果需要定期...

    js实现简单的获取验证码按钮效果

    在本文中,我们将会详细解析如何使用JavaScript实现一个简单的获取验证码按钮效果。这个效果的主要功能是在用户点击获取验证码按钮后,按钮会被禁用,同时开始一个倒计时过程,倒计时结束后,按钮恢复可用状态,并...

    jquery表单中获取短信验证码倒计时

    4. 倒计时结束后,重新启用获取验证码按钮。 核心代码主要包括以下几个部分: **HTML部分:** ```html 请输入手机号"> 获取验证码 ``` 这里的`<button>`是用于触发获取验证码的元素,它的ID是`getSmsCode`。 ...

    Android 验证码倒计时AS.rar

    在Android开发中,验证码倒计时的实现通常涉及到以下几个关键知识点: 1. **Intent和BroadcastReceiver**:在发送验证码的过程中,后端服务会通过短信或电话的形式将验证码发送到用户的手机。在Android中,可以使用...

    vb获取网页中的图片验证码

    然而,需要注意的是,频繁地自动获取验证码可能会触发网站的反爬策略,因此在实际操作时应遵循相关法律法规,尊重网站的使用条款,避免对网站造成不必要的压力。同时,对于动态加载或JavaScript生成的验证码,可能...

    jquery实现的表单获取短信验证码特效源码.zip

    5. **倒计时功能**:为了防止用户频繁获取验证码,可以添加一个倒计时功能,禁用获取验证码按钮并在倒计时期间显示剩余时间。倒计时函数可以这样实现: ```javascript function showCountdown() { var countdown = ...

    安卓验证码相关-短信验证码.rar

    以下是短信验证码实现的一些关键知识点: 1. **验证码生成**:通常,验证码是由一定长度的随机字符串组成,可以包含数字和字母。生成时需要注意确保其随机性和唯一性,避免被猜测或重复使用。 2. **短信接口集成**...

    国际验证码API接口

    开发者需要解析这个响应,获取验证码并将其发送给用户。 6. **安全措施**:为了确保验证码的安全性,ihuyi可能采用了加密传输(HTTPS)、请求限频、签名验证等手段,防止中间人攻击和滥用。 7. **验证流程**:用户...

    C#手机短信验证码

    因此,我们需要捕获和处理可能出现的异常,确保程序的健壮性。 6. **时间限制**:验证码通常有有效期,过期后需重新获取。可以使用C#的`DateTime`和`TimeSpan`类来设定和检查验证码的有效期。 7. **用户验证**:...

    Android账号注册实现点击获取验证码倒计时效果

    首先,我们需要在布局文件(如`activity_register.xml`)中设置获取验证码的按钮。在布局文件中,我们可以定义一个`Button`控件,为它指定一个ID,例如`@+id/btn_yzm`,并为其设置合适的样式和位置。例如: ```xml ...

    关于Android短信验证码的获取的示例

    在这个方法中,我们将实现与短信服务提供商的接口通信,发送请求以获取验证码。这通常涉及到设置API的账户标识(ACCOUNT SID)和授权令牌(AUTH TOKEN),这些信息需要从服务商的后台获取并填写到代码中。 在发送...

    jingdong 验证码获取、识别

    2. 获取验证码图片: ```python url = '京东验证码URL' response = requests.get(url) with open('captcha.jpg', 'wb') as f: f.write(response.content) ``` 3. 准备调用OCR API: ```python api_url = '...

    C# 手机短信接收验证码

    7. **异常处理**:在实际开发中,应考虑到网络问题、服务不可用等情况,对可能出现的异常进行捕获和处理。 通过以上步骤,你可以使用C#实现手机短信接收验证码的功能。记住,每个服务提供商的API略有不同,具体实现...

    亦思验证码教程.rar

    1. 图像获取:首先,我们需要从网页或应用中获取验证码图像。这可以通过模拟点击、屏幕抓取等方法实现,易语言提供了丰富的网络和系统操作命令来支持这些功能。 2. 图像预处理:预处理是为了提高后续识别的准确性。...

    android获取短信验证码实例详细好用

    9. **错误处理**:添加异常处理代码,以应对可能出现的网络问题、服务器错误或用户操作异常。 10. **测试与调试**:在实际设备上进行测试,确保在不同网络环境和手机型号下都能正常工作。 以上就是基于Android的...

    ios-验证码倒计时.zip

    在iOS开发中,验证码倒计时是一个常见的功能,通常用于用户获取短信验证码后限制再次发送的时间,以防止滥用。这个“ios-验证码倒计时.zip”文件中的代码可能实现了一个基于GCD(Grand Central Dispatch)的倒计时器...

    java发送手机验证码

    在Java开发中,发送手机验证码是一项常见的功能,用于验证用户身份、提高安全性。...需要注意的是,实际应用中还需考虑异常处理、安全性(如防止SQL注入)、用户体验(如设置验证码的有效期)等方面的问题。

Global site tag (gtag.js) - Google Analytics