我有一个Java Web应用程序我试图调试。它在我尝试调试GET请求时有效,但它不适用于POST。执行了以下步骤:
我从终端发送POST请求,并在调试HTTP Server Monitor中收到此请求并正确解析它。但是,它并没有停留在我的突破点。
这是我的servlet:
public class RegisterServiceServlet extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter pr = response.getWriter();
String serviceAddress = request.getParameter("address");
String deviceIdString = request.getParameter("device_id");
String serviceName = request.getParameter("name");
if ((serviceAddress == null) || (deviceIdString == null){
....
} else {
....
}
}
我的断点在"如果"声明。我错过了什么?
编辑1:添加了使用HTTP Server Monitor的屏幕截图。我使用来自终端的curl发出POST请求。此外,通过将doPost更改为doGet,再次使用GET请求进行测试,它可以正常工作。
编辑2:在我的Windows笔记本电脑上测试了它,它的工作原理!以前,我在虚拟盒中调试项目如下:
java version" 1.7.0_79" OpenJDK运行时环境(IcedTea 2.5.5)(7u79-2.5.5-0ubuntu0.14.04.2) OpenJDK 64位服务器VM(内置24.79-b02,混合模式)
Linux Mint 17.1 Rebecca,apache-tomcat-8.0.15,netbeans-8.0.2
在我的Windows笔记本电脑上,我有:
Java(TM)SE运行时环境jdk1.7.0_80,apache-tomcat-8.0.23
显然这是一个环境问题。