0
我的設備有UBlox(硬件組件)發送POST HTTP/1.0請求。Tomcat返回400而不運行servlet
集管,我在Tomcat的接收被以下:
POST sc2-http-connector-3.0.0/report HTTP/1.0
Content-Type: application/octet-stream
Host: xx.xx.xx.xx:8080
Connection: TE, close
TE: trailers
Content-Length: 152
請求體實際上是二進制數據。 Tomcat僅向客戶端返回400,甚至不運行僅打印標題,正文等的servlet。
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("getMethod :: " + request.getMethod());
System.out.println("getContentLength :: " + request.getContentLength());
System.out.println("getContentType :: " + request.getContentType());
System.out.println("getProtocol :: " + request.getProtocol());
System.out.println("getRemoteAddr :: " + request.getRemoteAddr());
System.out.println("getRemoteHost :: " + request.getRemoteHost());
System.out.println("getRemotePort :: " + request.getRemotePort());
System.out.println("getRemoteUser :: " + request.getRemoteUser());
printHeaders(request);
printByteStream(request.getInputStream());
System.out.println("------------- parts, if any -------------");
for (Part part : request.getParts()) {
System.out.println("size :: " + part.getSize());
System.out.println("contentType :: " + part.getContentType());
System.out.println("name :: " + part.getName());
printHeaders(part);
printByteStream(part.getInputStream());
}
response.setStatus(HttpServletResponse.SC_OK);
}
似乎沒有頭問題。我認爲這應該是錯誤的數據。但是,仍然,爲什麼Tomcat返回400並且不將控制權交給我的servlet?我怎樣才能調試呢?