• servlet_request获取请求头和请求数据


        request几个常用的方法

     1         //客户端IP
     2         System.out.println(request.getRemoteAddr());
     3         //客户端如果在DNS注册,就返回注册那个名称,如果没有,就返回IP
     4         System.out.println(request.getRemoteHost());
     5         //http://..........servlet?name=sdfasdf,返回name=sdfasdf
     6         System.out.println(request.getQueryString());
     7         System.out.println("*********************************");
     8         //返回客户端浏览器所用的端口,这个是变的
     9         System.out.println(request.getLocalPort());
    10         //返回客户端的地址,本机返回localhost
    11         System.out.println(request.getLocalName());
    12         System.out.println("*********************************");
    13         //返回请求地址,例如http://localhost:8080/day03/servlet/RequestDemo1,
    14         //那么这个方法就返回day03/servlet/RequestDemo1
    15         System.out.println(request.getRequestURI());
    16         //返回资源在互联网的地址,http://localhost:8080/day03/servlet/RequestDemo1
    17         System.out.println(request.getRequestURL());
    18         //返回请求方式
    19         System.out.println(request.getMethod());

      下面取数据,我总结了五种方式

     1        System.out.println("------------------获取方式1------------------");
     2         request.getParameter("username");
     3         
     4         System.out.println("------------------获取方式2------------------");
     5         Enumeration e = request.getParameterNames();
     6         while(e.hasMoreElements()){
     7             String str = (String) e.nextElement();
     8             String value = request.getParameter(str);
     9             System.out.println(str + "=" + value);
    10         }
    11         
    12         System.out.println("------------------获取方式3------------------");
    13         //这个获取如果客户端提交两个username,就用这个
    14         request.getParameterValues("username");
    15         
    16         System.out.println("------------------获取方式4------------------");
    17         Map map = request.getParameterMap();
    18         User user = new User();
    19         try {
    20             /*
    21                  通过request.getParameterMap()获取全部的数据
    22                   这里用到BeanUtils的populate方法,它会自动给你
    23                   装载到这个user类里面
    24                   这个user类,一般情况我们是按照提交的表单来设计
    25                   BeanUtils还有一个方法copyProperties,它可以帮助我们
    26                   把formbean符合user的属性进行copy
    27                   
    28                   这是做框架用的
    29              */
    30             BeanUtils.populate(user, map);
    31 //            BeanUtils.copyProperties(user, formbean);   //bean拷贝
    32         } catch (Exception e1) {
    33             e1.printStackTrace();
    34         }
    35         
    36         System.out.println("------------------获取方式5------------------");
    37         /*
    38          *     这个方式我没测试,但是肯定能获取到
    39          * */
    40         InputStream in =  request.getInputStream();
    41         int len;
    42         byte[] buffer = new byte[1024];
    43         while((len = in.read(buffer)) > 0){
    44             System.out.println(new String(buffer,0,len));
    45         }

      上面有一个方式用到了BeanUtils,如果大家想测试这个,就下载一个BeanUtls,注意啊,这个BeanUtils在运行是需要一个logger4j.jar的支持

    如果有使用请标明来源:http://www.cnblogs.com/duwenlei/
  • 相关阅读:
    常用算法之选择排序
    常用算法之插入排序
    常用算法之冒泡排序
    Python hashlib模块 (主要记录md5加密)
    Django Model
    CSS实现table td中文字的省略与显示
    JS读取文件,Javascript之文件操作 (IE)
    ie6789和其他浏览器之间的鼠标左、中、右键的event.button不一致的办法
    兼容和样式
    kindeditor的docs
  • 原文地址:https://www.cnblogs.com/duwenlei/p/3492352.html
Copyright © 2020-2023  润新知