JavaWeb request接收参数3种方式


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") ;
DiskFileItemFactory factory = new DiskFileItemFactory () ;
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) ;




java request

2021.07.08 00:24

https://www.meihaocloud.com.com/107.html , 欢迎转载,请在文章页标出原文连接 !


Copyright © 2020 千夕网 联系站长

粤公网安备 44030302001408号 粤ICP备19099833号-1