java后台向页面传输json的时候异常

页面请求数据,后台向页面传输请求到的数据,单独请求没问题。但是如果我请求的过程中另外一个用户请求则我会报异常,而后来的用户可以取到数据。。。。。。
在后台打印数据,数据从库里请求到了。前台页面是用的ajax 但是传输报错 使用的是: String msg= JSONObject.fromObject(r).toString();
response.getWriter().print(msg);

异常:
2017-06-20 15:23:11,825 [http-bio-8081-exec-2] DEBUG [org.springframework.web.servlet.DispatcherServlet] - Could not complete request
java.lang.NullPointerException
at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:215)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)
at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:240)
at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:93)
at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:192)
at org.apache.coyote.Response.doWrite(Response.java:499)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:402)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480)
at org.apache.catalina.connector.OutputBuffer.realWriteChars(OutputBuffer.java:485)
at org.apache.tomcat.util.buf.CharChunk.flushBuffer(CharChunk.java:464)
at org.apache.tomcat.util.buf.CharChunk.append(CharChunk.java:384)
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:548)
at org.apache.catalina.connector.CoyoteWriter.write(CoyoteWriter.java:174)
at org.apache.catalina.connector.CoyoteWriter.write(CoyoteWriter.java:184)
at org.apache.catalina.connector.CoyoteWriter.print(CoyoteWriter.java:242)
at com.ruifight.custom.controller.ScreenController.indoor(ScreenController.java:155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:178)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:442)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:430)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
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:85)
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:169)
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:316)
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)

2个回答

确定从页面传给后台,后台有没有收到

很可能你没正确传递或者没正确接收

zy_281870667
Bug开发攻城狮 回复hzw521111: 你加我扣扣384804876,我帮你看下
2 年多之前 回复
qq_34175896
hzw521111 是要看response的那个属性?
2 年多之前 回复
qq_34175896
hzw521111 responseorg.apache.catalina.connector.ResponseFacade@3f10439f 是要打印response里面的东西么?这是打印response的东西
2 年多之前 回复
zy_281870667
Bug开发攻城狮 回复hzw521111: response也打印出来
2 年多之前 回复
qq_34175896
hzw521111 我后台打印了一下数据 数据确实是有的 两个用户请求的数据打印出来了
2 年多之前 回复
zy_281870667
Bug开发攻城狮 回复hzw521111: 应该是你的indoor()方法的response为null,你在程序里下个断点试试
2 年多之前 回复
qq_34175896
hzw521111 我这个方法查询的数据太多 所以停留的时间比较长
2 年多之前 回复
qq_34175896
hzw521111 我怀疑是第一个用户访问的时候 response打开了还未write 另外一个用户这个时候进来 把这个response顶替掉了
2 年多之前 回复
qq_34175896
hzw521111 response.getWriter().print(msg); 就是这句话
2 年多之前 回复
zy_281870667
Bug开发攻城狮 回复hzw521111: 我看了下,你代码报错的是155行,你百度云里面的是不完全的,155行应该是哪行
2 年多之前 回复
qq_34175896
hzw521111 您好,发现问题了么
2 年多之前 回复
qq_34175896
hzw521111 一个用户访问的时候是没有问题的 ,但是如果同时访问就会出错 框架是ssm
2 年多之前 回复
qq_34175896
hzw521111 https://pan.baidu.com/s/1jIn5WAM 麻烦了
2 年多之前 回复
zy_281870667
Bug开发攻城狮 回复hzw521111: 你把你代码上传到云盘,然后给我链接,我看下
2 年多之前 回复
qq_34175896
hzw521111 不是的 数据可以返回页面可以接到 但是如果同时访问 就会报我说的那个错误
2 年多之前 回复
zy_281870667
Bug开发攻城狮 回复hzw521111: 你把response.getWriter().print(msg) 改为response.getWriter().print("123")
2 年多之前 回复
qq_34175896
hzw521111 r就是一个对象 包括list和String 那个屏蔽的只是屏蔽了一句话 粘贴的时候没有换行
2 年多之前 回复
qq_34175896
hzw521111 String msg= JSONObject.fromObject(r).toString(); System.out.println("开始传输数据"); logger.info("传输的数据为"+msg); try { // response.setContentType("text/json;charset=utf-8"); response.getWriter().print(msg); } catch (IOException e) { e.printStackTrace(); }
2 年多之前 回复
zy_281870667
Bug开发攻城狮 回复hzw521111: 你后台代码怎么写的,组装json并返回的那部分
2 年多之前 回复
qq_34175896
hzw521111 是后台向页面传输json 数据的确获取到了 但是使用response.getWriter().print(msg);的时候报错。一个人访问没问题 如果多人访问就会报错
2 年多之前 回复

215行 空指针了 你自己debug看看 什么原因导致的空指针

qq_34175896
hzw521111 这个空让我一脸懵,数据有。但是就是向页面传输json的时候 就会报这个错误。单独用户请求不会有问题 是不是responsese的问题?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问