• request获取数据的几种方法


    1、request.getparameter();

     1 //只接收前台穿过来的一个指定的参数 2 String value=request.getparameter("key"); 

    2、request.getParameterMap();

     

    说白了前端提交到Servlet或者Action里面的参数Map,如果你是以表单提交,那么request.getParameterMap()中将包含你表单里面所有input标签的数据,以其name为key,以其value为值,如果你是以ajax提交的话,就是你自己组织的所有参数了。

    有时候页面传来多个参数的情况下,要写多个request.getParameter(name)进行逐个接收,但是当传过来的参数非常多的时候,代码就显得有些臃肿了,下面举个例子:

     1 //这个也是支付宝回调的信息
     2     @RequestMapping("alipay_callback.do")
     3     @ResponseBody
     4     public Object alipayCallback(HttpServletRequest request){
     5         Map<String,String> params = Maps.newHashMap();
     6         //getParameterMap()一般多用于接收前台表单多参数传输的数据
     7         Map requestParams = request.getParameterMap();
     8         for(Iterator iter = requestParams.keySet().iterator();iter.hasNext();){
     9             String name = (String)iter.next();
    10             String[] values = (String[]) requestParams.get(name);
    11             String valueStr = "";
    12             for(int i = 0 ; i <values.length;i++){
    13 
    14                 valueStr = (i == values.length -1)?valueStr + values[i]:valueStr + values[i]+",";
    15             }
    16             //把数据全部加进map集合中
    17             params.put(name,valueStr);
    18         }
    19         logger.info("支付宝回调,sign:{},trade_status:{},参数:{}",params.get("sign"),params.get("trade_status"),params.toString());

    如果觉得本博客还不错的话,欢迎进群一起讨论:点我进群

    下面是request的主要属性:

    setAttribute(String name,Object):设置名字为name的request 的参数值 

    getAttribute(String name):返回由name指定的属性值 

    getAttributeNames():返回request 对象所有属性的名字集合,结果是一个枚举的实例 

    getCookies():返回客户端的所有 Cookie 对象,结果是一个Cookie 数组 

    getCharacterEncoding() :返回请求中的字符编码方式 

    getContentLength() :返回请求的 Body的长度 

    getHeader(String name) :获得HTTP协议定义的文件头信息 

    getHeaders(String name) :返回指定名字的request Header 的所有值,结果是一个枚举的实例 

    getHeaderNames() :返回所以request Header 的名字,结果是一个枚举的实例 

    getInputStream() :返回请求的输入流,用于获得请求中的数据 

    getMethod() :获得客户端向服务器端传送数据的方法 

    getParameter(String name) :获得客户端传送给服务器端的有 name指定的参数值 

    getParameterNames() :获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实

    例 

    getParameterValues(String name):获得有name指定的参数的所有值 

    getProtocol():获取客户端向服务器端传送数据所依据的协议名称 

    getQueryString() :获得查询字符串 

    getRequestURI() :获取发出请求字符串的客户端地址 

    getRemoteAddr():获取客户端的 IP 地址 

    getRemoteHost() :获取客户端的名字 

    getSession([Boolean create]) :返回和请求相关 Session 

    getServerName() :获取服务器的名字 

    getServletPath():获取客户端所请求的脚本文件的路径 

    getServerPort():获取服务器的端口号 

    removeAttribute(String name):删除请求中的一个属性

  • 相关阅读:
    Android 绑定Service的实现方法二:使用Messenger
    Android 利用SurfaceView进行图形绘制
    Android 垂直SeekBar
    Android Camera(一) 调用系统相机应用
    Android Camera(二) Camera程序编写
    算法题009 电梯调度算法
    Git基础使用教程:第一个Git项目
    Android上的GPS程序报错:Fail to find provider info for com.google.android.gsf.gservices
    JUnit4:多组数据的单元测试:用JUnit4做参数化测试
    Git基础:添加与提交
  • 原文地址:https://www.cnblogs.com/suiyisuixing/p/7466688.html
Copyright © 2020-2023  润新知