java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:806)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:665)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:803)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:665)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1230)
........
........
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:761)
这个问题头疼了两天,参考了网上大量资料,但都没有解决,唯一一个接近问题的帖子,只是说了一句网络配置问题。
说的很模糊,最后还是只能自己来了。
刚开始,这个问题在我本地跑起来没有一点问题,一部署到服务器就出错。经过排查,代码没问题。然后开始考虑是部署环境问题。
本地是windows系统,服务器是aix操作系统,有可能是aix操作系统的问题,看了几个帖子也觉得是操作系统问题。但是对于aix真是不太了解,网上可查资料很少。
然后换了一个Linux服务器测试,结果没问题。
开始分析错误,错误说遇到了一个意外的文件而结束。
这个时候试着修改了一下要获取的文件,还是一样的错误。
后来看到一个帖子,就是那个说可能是网络配置的问题。
询问了硬件部门,说aix系统没有什么特殊配置,然后就想到了之前遇到的一个问题(关于dns的),将域名改为了ip地址。
访问成功。
其实很简单,但是真的废了好大功夫。明明自己本地没有问题,放到服务器就是出错。对于我这个还在菜鸟蹉跎的人,真心是无语了。
特意重新开了博客,在此记录自己的问题。
在此贴几个链接,都是在解决问题中有些帮助的,其中将javaweb 应用从 windows移植到aix时需要注意的问题,可以看看。
https://www.ibm.com/developerworks/cn/aix/library/au-aix-javatraps/
这个没什么用,可以看看,毕竟还是有说一点的http://www.blogjava.net/anchor110/articles/348867.html
这个帖子里面提到过域名换ip。我也试了不知道为什么没试成功,第二天将文件改了之后成功了,以为是文件问题,谁知道把文件恢复,还是成功了,把ip换成域名,又不行了,然后联想dns才确定的问题。https://www.v2ex.com/t/182859。
虽然写的我自己都看不下去,但是就这样吧。以后遇到也是个记录