Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Serverlet请求参数为空_Java_Jsp_Webserver_Http Post_Server - Fatal编程技术网

Java Serverlet请求参数为空

Java Serverlet请求参数为空,java,jsp,webserver,http-post,server,Java,Jsp,Webserver,Http Post,Server,我正在开发一个简单的java serverlet。似乎服务器没有获取参数。这是我的doPost()代码 这是我的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.s

我正在开发一个简单的java serverlet。似乎服务器没有获取参数。这是我的doPost()代码

这是我的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>

自动压缩服务器
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
主要
主要
com.altechwebdesign.java.autopres.Main
主要
/主要

我正在使用用于Chrome的高级Rest客户端发送POST请求。

您需要一个表单或jsp页面来携带html输入类型值并触发servlet。
那么只有您的servlet才能获得该值
我建议在
index.jsp
中编写表单代码,并从
表单中调用action/Main
流量应该是这样的


index.jsp->submitform->main servlet

您使用的证据中没有任何内容可以解释参数为空的原因

似乎服务器没有获取参数

我假设这意味着您有证据表明您的
doPost
方法实际上正在被调用。这表明web.xml正确地将请求定向到servlet代码

这意味着参数未显示的原因是未提供(正确)。但这发生在客户端代码和/或它发送的请求中,您还没有向我们展示

(也有可能你没有任何证据,而你的“如果似乎…”只是猜测。如果是这样,你需要找出发生了什么,和/或向我们展示你实际拥有的证据。)


我也不明白你为什么在这里提到JSP。您还没有向我们展示任何JSP代码,它不太可能与您的问题直接相关。

Servlet可以在您的代码中获取参数,当且仅当您的操作由以下数据触发时(无论get还是Post) a=test\u for_a&b=test\u for_b

您可以添加一些名为的input/select/textarea(这将是您在servlet中使用的参数名,即a和b)


好吧,ajax将是另一个解决方案,我敢打赌,这超出了我们的范围。

您可以通过以下方式测试请求和响应是否正常工作: PrintWriter=response.getWriter(); 写(“这是我的帖子”), 您必须具有用于提交a&b值的html表单。检查这些操作和方法是否正确,或者重新启动服务器并重试

<?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>