JavaWebrequest接收参数3种方式

    xiaoxiao2023-10-25  145

    1、form表单提交,encrypt= “application/x-www-form-urlencoded” ,即常规的表单提交 ,  使用POST请求,则请求头中的content-type指定值就是该值

    Map<String,String> paramsMap = new HashMap<String,String>() ; Enumeration<String> parameterNames = request.getParameterNames(); while(parameterNames.hasMoreElements()) { String name = parameterNames.nextElement(); String value = request.getParameter(name); paramsMap.put(name, value) ; } log.info("paramsMap :" + paramsMap) ;

     

     

    2、post方式提交, Content-Type 为 :  application/json

    需要用io流的方式接收参数, 一般为HttpClient请求

    StringBuffer buf = new StringBuffer() ; BufferedReader bfr = new BufferedReader(new InputStreamReader(request.getInputStream())) ; String line = null ; while((line = bfr.readLine()) != null) { buf.append(line) ; } bfr.close(); log.info("params:" + buf.toString()) ;

     

     

    3、form表单提交,encrypt= “multipart/form-data” , 其中可以上传文件。 

    需要导入apache 的 common.fileupload 相关jar包

    request.setCharacterEncoding("UTF-8") ; DisFileItemFactory factory = new DisFileItemFactory () ; ServletFileUpload upload = new ServletFileUpload(factory ); upload.setHeaderEncoding("UTF-8") ; List items = upload.parseRequest(request) ; Map<String,String> params = new HashMap<String,String>(); for(Object obj : items){ FileItem fileItem = (FileItem)obj ; if(fileItem.isFormField()){ params.put(fileItem.getFieldName(),fileItem.getString("UTF-8")) ;//页面编码是UTF-8 } } log.info("params:" + params) ;

     

     

     

     

     

    最新回复(0)