Java 我的Servlet如何从多部分/表单数据表单接收参数?
我有一个页面包含以下代码:Java 我的Servlet如何从多部分/表单数据表单接收参数?,java,servlets,parameters,multipart,form-data,Java,Servlets,Parameters,Multipart,Form Data,我有一个页面包含以下代码: <form action="Servlet" enctype="multipart/form-data"> <input type="file" name="file"> <input type="text" name="text1"> <input type="text" name="text2"> </form> 当我使用request.getParameter(“text1”)时在我的Servle
<form action="Servlet" enctype="multipart/form-data">
<input type="file" name="file">
<input type="text" name="text1">
<input type="text" name="text2">
</form>
当我使用
request.getParameter(“text1”)时代码>在我的Servlet中,它显示null。如何使Servlet接收参数?使用所有请求参数都嵌入到多部分数据中。您必须使用Commons File Upload之类的方法提取它们:Pleepleus是对的,Commons File Upload是一个不错的选择。
如果您在servlet 3.0+环境中工作
,还可以使用其多部分支持轻松完成多部分数据解析工作。只需在servlet类上添加一个@MultipartConfig
,就可以通过调用request来接收文本数据。getParameter()
,非常简单
您需要像这样发送参数:
writer.append("--" + boundary).append(CRLF);
writer.append("Content-Disposition: form-data; name=\"" + urlParameterName + "\"" )
.append(CRLF);
writer.append("Content-Type: text/plain; charset=" + charset).append(CRLF);
writer.append(CRLF);
writer.append(urlParameterValue).append(CRLF);
writer.flush();
在servlet端,处理表单元素:
items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
item = (FileItem) iter.next();
if (item.isFormField()) {
name = item.getFieldName();
value = item.getString();
}}
getParts()来自哪个类?可能与的重复,换句话说:检索文件时使用相同的API。