gpt4 book ai didi

java中request常用方法小结

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章java中request常用方法小结由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

      HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息.

request常用方法:

1、获取客户机环境信息常见方法:

  1.getRequestURL方法返回客户端发出请求时的完整URL.

  2.getRequestURI方法返回请求行中的资源名部分.

  3.getQueryString方法返回请求行的参数部分.

  4.getRemoteAddr方法返回发出请求的客户机的IP地址.

  5.getRemoteHost方法返回发出请求的客户机的完整主机名.

  6.getRemotePort方法返回客户机所使用的网络端口号.

  7.getLocalAddr方法返回WEB服务器的IP地址.

  8.getLocalName方法返回WEB服务器的主机名.

  9.getMethod得到客户机请求方式.

  。

复制代码 代码如下:

 package com.yyz.request;
 
 import java.io.IOException;
 import java.io.OutputStream;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 public class RequestDemo extends HttpServlet {
 
     public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
         /**
          * URL是URI的子集。
          * URI用来标识一个资源。
          * URL用来标识互联网上的一个资源。
          */
         System.out.println(request.getRequestURL());//得到请求URL地址
         System.out.println(request.getRequestURI());//得到请求的资源
         System.out.println(request.getQueryString());
         System.out.println(request.getRemoteAddr());//得到来访者IP
         System.out.println(request.getRemoteHost());
         //由于没有在dns上注册所以打印结果还是127.0.0.1,如果是百度访问这个程序,则打印www.baidu.com
         System.out.println(request.getRemotePort());//得到请求的资源
         System.out.println(request.getMethod());//得到请求的资源
 }
 
     public void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
         doGet(request,response);
 }
 
 }

  。

在浏览器地址栏输入:http://localhost:8080/test/servlet/RequestDemo后后台输出入下图:

2、获得客户机请求头:

 1.getHeader(String name)方法 。

 2.getHeaders(String name)方法 。

 3.getHeaderNames()方法 。

  。

复制代码 代码如下:

 package com.yyz.request;
 
 import java.io.IOException;
 import java.util.Enumeration;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 //获取请求头
 public class RequestDemo extends HttpServlet {
 
     public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
         String head = request.getHeader("Accept-Encoding");
         //有些浏览器不支持压缩数据
         if(head.contains("gzip")){
             //输出压缩数据
         }else{
             //输出不压缩数据
         }
         //获取指定名称的头的所有值
         Enumeration e = request.getHeaders("Accept-Encoding");
         while(e.hasMoreElements()){
             String value = (String ) e.nextElement();
             System.out.println(value);
         }
         System.out.println("------------------------");
         //获取所有的头和值
         e = request.getHeaderNames();
         while(e.hasMoreElements()){
         String name = (String)e.nextElement();
         String     value = request.getHeader(name);
         System.out.println(name+"="+value);
         }
 }
 
     public void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
         doGet(request,response);
 }
 
 }

  。

在浏览器访问该程序,后台输出如下:

3、获得客户机请求参数(客户端提交的数据):

 1.getParameter(name)方法 。

 2.getParameterValues(String name)方法 。

 3.getParameterNames方法 。

 4.getParameterMap方法,做框架时大量使用 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.yyz.request;
  import java.io.IOException;
  import java.util.Enumeration;
  import java.util.Map;
  import java.util.Map.Entry;
  import javax.servlet.ServletException;
  import javax.servlet.http.HttpServlet;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  //获取请求数据
  public class RequestDemo extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
      //http://localhost:8080/test/servlet/RequestDemo?name=yyz
      String value = request.getParameter( "name" );
      System.out .println(value);
      //http://localhost:8080/test/servlet/RequestDemo?like=sing&like=dance
      String likes[] = request.getParameterValues( "like" );
      if (likes!= null ){
        for (String like : likes){
          System.out.println(like);
        }
      }
      //下面是这种遍历的专业写法,获取数组数据的方式(可避免空指针异常)
      for ( int i= 0 ;likes!= null &&i<likes.length;i++){
        System.out.println(likes[i]);
      }
      //获取所有名称,并根据名称获取值
      Enumeration e = request.getParameterNames();
      while (e.hasMoreElements()){
        String name = (String) e.nextElement();
        value = request.getParameter(name);
        System.out.println(name+ "=" +value);
      }
      System.out.println( "----------------------" );
      //得到request对象中用来封装数据的Map集合
      Map<String,String[]> map = request.getParameterMap();
      for (Entry<String, String[]> me : map.entrySet()){
        String name = me.getKey();
        String [] v = me.getValue();
        System.out.println(name+ "=" +v[ 0 ]);
      }
  }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
      doGet(request,response);
  }
  }

  。

最后此篇关于java中request常用方法小结的文章就讲到这里了,如果你想了解更多关于java中request常用方法小结的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com