我正在开发一个简单的 java serverlet。服务器似乎没有获取参数。这是我的 doPost() 代码。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String a = request.getParameter("a");
String b = request.getParameter("b");
System.out.println("I started doing something " + a + " " + b);
}
这是我的 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>AutoPresServerlet</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>Main</display-name>
<servlet-name>Main</servlet-name>
<servlet-class>com.altechwebdesign.java.autopres.Main</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Main</servlet-name>
<url-pattern>/Main</url-pattern>
</servlet-mapping>
</web-app>
我正在使用 Chrome 的高级 Rest 客户端发送 POST 请求。
最佳答案
您所展示的使用证据中没有任何内容可以解释为什么参数为空。
It seems as if the server is not getting the parameters.
我认为这意味着您有证据表明您的 doPost
方法实际上正在被调用。这表明 web.xml 正确地将请求定向到您的 servlet 代码。
这意味着参数未显示的原因是它们尚未(正确)提供。但这发生在客户端代码和/或其发送的请求中,而您尚未向我们展示这一点。
(也有可能您没有任何证据,而您的“如果似乎...”只是一个猜测。如果是这样,您需要找出是什么继续进行,和/或向我们展示您实际拥有的证据。)
我也不明白你为什么在这里提到 JSP。您没有向我们展示任何 JSP 代码,它不太可能与您的问题直接相关。
关于Java Servlet 请求参数为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27084666/