java如何接收无参数名的post数据

2025-05-20 04:14:29
推荐回答(5个)
回答1:

怎么会没有参数名字呢,
post 提交的时候,
是有参数的,不过他不是在url地址的后面

而是http协议把它规定了在http 头之后,在头里面,会指定内容的长度,
然后头完了。会空一行。接着写 内容。

java当然可以实现这个功能。
这要用到xml,对http协议进行解析,

回答2:

ServletInputStream sis = request.getInputStream();

服务器servlet通过上面的代码从request中取出inputStream,然后对输入数据流进行读取和分析吧

如果POST内容是XML形式的内容,我建议你使用XML解析器,比如SAX解析或者DOM解析

例子:
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
....
try {
// 生成DocumentBuilderFactory
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder documentBuilder = factory.newDocumentBuilder();

// 取得Document借口
Document doc = documentBuilder.parse(new InputSource(bufferedReader));

// 或者XML解析对象的root元素
Element rootElement = doc.getDocumentElement();

// 获取User要素的值
paramNode = xmlDocument.getElementsByTagName("User").item(0);
if (paramNode.hasChildNodes()) {
loginId = paramNode.getFirstChild().getNodeValue();
}
}catch(Exception e){
}

回答3:

你好,无参数名的post数据指的是什么样的情况下操作的能具体描述吗?如果是表单数据提交是户,是有参数的,如果没有参数,就不用表单进行提交。

回答4:

这个传值的话就需要你用?拼接了,应该用过吧,写法这样


然后在后台接受的时候就这样接收、
public void loginAction(接收到参数的类型 接受的参数名称(可以自定义,可以不和传递过来的一样)){
//操作
}
其实这样还是等于给了一个名称,不知道符合不符合你要求
当然,你也可以用request,reponse去传值,效果一样的

回答5:

那你得自己写个额外方法去从inputstream里面把它找出来!