Servlet post接收form-data参数值java

来源:互联网 发布:mac解压软件破解版 编辑:程序博客网 时间:2024/06/07 19:25

编写接口的时候,使用“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

阅读全文
0 0
原创粉丝点击