编写接口的时候,使用“multipart/form-data”传输时,如果使用request.getParameter()接收参数,数值会为null,可以使用下面方法接受数据:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 针对post请求,设置允许接收中文
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
System.out.println("添加任务");
PrintWriter out = response.getWriter();
try {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
List items = upload.parseRequest(request);
Map params = new HashMap();
for(Object object:items){
FileItem fileItem = (FileItem) object;
if (fileItem.isFormField()) {
params.put(fileItem.getFieldName(), fileItem.getString("utf-8"));//如果你页面编码是utf-8的
}
}
//使用params.get获取参数值
String send_time = (String) params.get("send_time");
。。。。。。。。
// 输出数据
out.println("1");
} catch (FileUploadException e1) {
e1.printStackTrace();
}
out.close();
}
前提是需要导入commons-fileupload-1.3.jar 和 commons-io-2.5.jar 包
jar包下载:
http://download.csdn.net/download/z740852294/10030503