zoukankan      html  css  js  c++  java
  • 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/
  • 相关阅读:
    第二阶段站立会议03
    第二阶段站立会议02
    第二阶段站立会议01
    第十一周进度条
    小强大扫荡
    测试计划
    用户体验
    各组意见
    第一阶段绩效评估
    站立会议10
  • 原文地址:https://www.cnblogs.com/duwenlei/p/3492352.html
Copyright © 2011-2022 走看看