我也有这个问题,不过报的错不一样. 2006-6-10 11:40:28 org.apache.jk.core.MsgContext action 警告: Error sending end packet 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.jk.common.ChannelSocket.send(ChannelSocket.java:508) at org.apache.jk.common.JkInputStream.endMessage(JkInputStream.java:112) at org.apache.jk.core.MsgContext.action(MsgContext.java:293) at org.apache.coyote.Response.action(Response.java:182) at org.apache.coyote.Response.finish(Response.java:304) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:204) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:744) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja va:674) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSock et.java:866) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP ool.java:684) at java.lang.Thread.run(Thread.java:595) 2006-6-10 11:40:28 org.apache.jk.common.ChannelSocket processConnection 警告: processCallbacks status 2
我用isapi_redirect-1.2.14集成IIS5.1和tomcat5.0.18(XP sp1),可以显示静态网页,也可以正常处理GET请求,但是提交表单就报错。系统在Tomcat下运行正常。我浏览了许多英文网页,不少人都遇到了相同的问题,可是却没有人指出问题所在,也没有找到解决的方法。这个帖子是我在中文网页中发现的唯一一个类似的,把我的问题跟上,希望有高手能指出解决方法。提交表单报错如下: Tomcat窗口信息: 2006-7-3 15:15:35 org.apache.jk.common.HandlerRequest invoke 严重: Error decoding request java.io.IOException at org.apache.jk.common.JkInputStream.receive(JkInputStream.java:294) at org.apache.jk.common.HandlerRequest.decodeRequest(HandlerRequest.java :537) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:373) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja va:615) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP ool.java:683) at java.lang.Thread.run(Thread.java:536) ...... 2006-7-3 15:15:35 org.apache.jk.common.ChannelSocket processConnection 警告: processCallbacks status 2 JK日志(isapi_redirect.log) [Mon Jul 03 15:14:35 2006] [2900:3000] [debug] jk_ajp_common.c (1261): request body to send 33 - request body to resend 0 [Mon Jul 03 15:15:35 2006] [2900:3000] [error] jk_isapi_plugin.c (604): ReadClient failed with 0000274c [Mon Jul 03 15:15:35 2006] [2900:3000] [info] jk_ajp_common.c (1118): Receiving data from client failed. Connection aborted or network problems [Mon Jul 03 15:15:35 2006] [2900:3000] [info] jk_ajp_common.c (1741): Sending request to tomcat failed, because of client error without recovery in send loop 0 [Mon Jul 03 15:15:35 2006] [2900:3000] [debug] jk_ajp_common.c (2074): recycling connection cache slot=0 for worker ajp13w [Mon Jul 03 15:15:35 2006] [2900:3000] [info] jk_lb_worker.c (711): unrecoverable error 400, request failed. Client failed in the middle of request, we can't recover to another instance. [Mon Jul 03 15:15:35 2006] [2900:3000] [debug] jk_isapi_plugin.c (1031): service() returned OK
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode)
2006-6-10 11:40:28 org.apache.jk.core.MsgContext action
警告: Error sending end packet
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.jk.common.ChannelSocket.send(ChannelSocket.java:508)
at org.apache.jk.common.JkInputStream.endMessage(JkInputStream.java:112) at org.apache.jk.core.MsgContext.action(MsgContext.java:293)
at org.apache.coyote.Response.action(Response.java:182)
at org.apache.coyote.Response.finish(Response.java:304)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:204) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:744)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
va:674)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSock
et.java:866)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
at java.lang.Thread.run(Thread.java:595)
2006-6-10 11:40:28 org.apache.jk.common.ChannelSocket processConnection
警告: processCallbacks status 2
Tomcat窗口信息:
2006-7-3 15:15:35 org.apache.jk.common.HandlerRequest invoke
严重: Error decoding request
java.io.IOException
at org.apache.jk.common.JkInputStream.receive(JkInputStream.java:294)
at org.apache.jk.common.HandlerRequest.decodeRequest(HandlerRequest.java
:537)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:373)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
va:615)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:683)
at java.lang.Thread.run(Thread.java:536)
......
2006-7-3 15:15:35 org.apache.jk.common.ChannelSocket processConnection
警告: processCallbacks status 2
JK日志(isapi_redirect.log)
[Mon Jul 03 15:14:35 2006] [2900:3000] [debug] jk_ajp_common.c (1261): request body to send 33 - request body to resend 0
[Mon Jul 03 15:15:35 2006] [2900:3000] [error] jk_isapi_plugin.c (604): ReadClient failed with 0000274c
[Mon Jul 03 15:15:35 2006] [2900:3000] [info] jk_ajp_common.c (1118): Receiving data from client failed. Connection aborted or network problems
[Mon Jul 03 15:15:35 2006] [2900:3000] [info] jk_ajp_common.c (1741): Sending request to tomcat failed, because of client error without recovery in send loop 0
[Mon Jul 03 15:15:35 2006] [2900:3000] [debug] jk_ajp_common.c (2074): recycling connection cache slot=0 for worker ajp13w
[Mon Jul 03 15:15:35 2006] [2900:3000] [info] jk_lb_worker.c (711): unrecoverable error 400, request failed. Client failed in the middle of request, we can't recover to another instance.
[Mon Jul 03 15:15:35 2006] [2900:3000] [debug] jk_isapi_plugin.c (1031): service() returned OK
我用isapi_redirect-1.2.14集成IIS5.1和tomcat5.0.18(XP sp1),可以显示静态网页,也可以正常处理GET请求,但是提交表单就报错。系统在Tomcat下运行正常。我浏览了许多英文网页,不少人都遇到了相同的问题,可是却没有人指出问题所在,也没有找到解决的方法。可以处理GET 请假,应该可以处理POST请求啊~
只是传的数据量大小不同啊~~兄弟问一句,你做的JSP系统用了框架没有,是不是框架的原因啊。
我做的APACHE+TOMCAT就是因为WEBWORK
至少1.4的JDK和5.0的TOMCAT 是稳定地。
想法是用filter拦截所有请求,然后检测requestURI的后缀是否为保护文件类型。
如果是则再检测该请求header中的referer变量。如果是来自本站的地址,则允许下载,否则不允许下载。
在tomcat下测试成功,但和apache整合后发现apache只把jsp等需要tomcat解释的程序文件发送给tomcat处理(在apache的http.conf中配置的类型),别的文件直接处理请求,不经过filter。所以无奈之下只好把所有的文件都让apache递交给tomcat。
结果每当请求mp3等较大的文件时,就报上面那个错。
所以估计你的问题应该是这个原因。apache中jk没配置正确。