文档章节

Servlet获取参数Map

l
 lvk618
发布于 2016/06/15 09:11
字数 258
阅读 5
收藏 0

Servlet获取请求参数的Map非常的方便,下面把几个情形给列举出来。

一、加入依赖:

<dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
</dependency>

二、Servlet获取参数Map,支持GET请求,支持POST表单提交

/**
     * Servlet获取参数Map,支持GET请求,支持POST表单提交
     * @param request
     * @return
     */
    private static Map getParameterFormUrlEncoded(HttpServletRequest request){
        Map properties = request.getParameterMap();
        Map returnMap = new HashMap();
        Iterator entries = properties.entrySet().iterator();
        Entry entry;
        String key = "";
        String value = "";
        
        while(entries.hasNext()){
            entry = (Entry)entries.next();
            key = (String)entry.getKey();
            Object valueObj = entry.getValue();
            
            if(null == valueObj){
                value = "";
            }else if(valueObj instanceof String[]){
                String[] values = (String[])valueObj;
                for(int i = 0;i < values.length;i++){
                    value = values[i]+",";
                }
                value = value.substring(0, value.length()-1); 
            }else{
                value = valueObj.toString();
            }
            returnMap.put(key, value);
        }
        return returnMap;
   }

三、
form-data 支持POST,需要用到commons-fileupload来获取

/**
     * form-data 支持POST
     * @param request
     * @return
     * @throws UnsupportedEncodingException
     */
    private static Map getParamMapFormData(HttpServletRequest request) throws UnsupportedEncodingException{
        DiskFileItemFactory factory = new DiskFileItemFactory(); 
        ServletFileUpload upload = new ServletFileUpload(factory); 
        upload.setHeaderEncoding("UTF-8");
        List items = null;
        try {
            items = upload.parseRequest(request);
        } catch (FileUploadException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        Map returnMap = new HashMap(); 
        for(Object object:items){
            FileItem fileItem = (FileItem) object; 
            if (fileItem.isFormField()) { 
                returnMap.put(fileItem.getFieldName(), fileItem.getString("utf-8"));//如果你页面编码是utf-8的 
            }
        }
        return returnMap;
    }


本文转载自:http://blog.csdn.net/lk10207160511/article/details/50374615

l
粉丝 3
博文 80
码字总数 792
作品 0
广州
私信 提问
让Servlet支持REST风格的url

前言 Servlet自从上了3.0版本之后,用起来已经是相当舒服了。注解的加入,让你基本可以抛弃web.xml,零配置写web。 不过,用了之后,还是有些遗憾。就是REST风格URL的支持。很久之前用过Spr...

英强
2015/06/16
2.4K
1
JSP——Java Server Pages

简介 1. Jsp技术:Jsp是一种 html代码+ Java代码 + Jsp页面代码的技术,而且其不用像Servlet哪样需要配置访问路径。 2. Jsp执行原理:第一次访问服务器web项目中的jsp页面时,会首先把jsp页面...

江左煤郎
2018/09/13
12
0
08 Struts2 访问Servlet API

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hxdeng/article/details/81710008 Struts2 提供了三种方式访问本地Servlet API 1. ActionContext【推荐、非耦...

降龙十八腿
2018/08/15
0
0
重温JSP学习笔记--El表达式

  el表达式是jsp内置的表达式语言,jsp从jsp2.0开始,就不再提倡使用java脚本,而是用el表达式和动态标签来替代,而el表达式主要替代的是jsp中的<%=....%>,也就是说el表达式只做输出.   EL表...

冬至饮雪
2016/01/31
0
0
Servlet简介与Servlet和HttpServlet运行的流程

1.Servlet [1] Servlet简介 > Server + let > 意为:运行在服务器端的小程序。 > Servlet实际上就是一个接口。 - 狭义上的Servlet,指的就是Servlet接口 - 广义上的我们认为凡是实现Servlet...

architect刘源源
2018/09/09
41
0

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
56分钟前
5
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部