Request对象获取请求行数据相关方法

目录

  • 1. getMethod()
  • 2. getContextPath() (重点)
  • 3. getServletPath()
  • 4. getQueryString()
  • 5. getRequestURI() (重点)
  • 6. getRequestURL()
  • 7. getProtocol()
  • 8. getRemoteAddr()
  • 测试完整代码及结果

1. getMethod()

作用:获取请求方式
结果:GET或POST

//获取请求方式
String method = request.getMethod();
System.out.println(method);

结果:GET

2. getContextPath() (重点)

作用:获取虚拟目录

Request对象获取请求行数据相关方法_第1张图片

解释:就是Tomcat部署该项目的应用程序上下文

图文解析:
Request对象获取请求行数据相关方法_第2张图片

//获取虚拟目录
String contextPath = request.getContextPath();
System.out.println(contextPath);

结果:/servlet

3. getServletPath()

作用:获取Servlet路径

@WebServlet("/requestDemo1")

说明:结果就是注解中的value值

//获取Servlet路径
String servletPath = request.getServletPath();
System.out.println(servletPath);

结果:/requestDemo1

4. getQueryString()

获取get方式的请求参数

访问地址:http://localhost/servlet/requestDemo1?name=zhangsan

//获取get方式的请求参数
String query = request.getQueryString();
System.out.println(query);

结果:name=zhangsan

补充:get方式的请求,访问地址?之后就是各项参数

5. getRequestURI() (重点)

获取请求URI

//获取请求URI
        String uri = request.getRequestURI();
        System.out.println(uri);

结果:/servlet/requestDemo1

补充:
URI:统一资源标识符
URL:统一资源定位符

6. getRequestURL()

获取请求URL

//获取请求URL
        StringBuffer requestURL = request.getRequestURL();
        System.out.println(requestURL);

结果:http://localhost/servlet/requestDemo1

7. getProtocol()

获取协议及版本

//获取协议及版本
        String protocol = request.getProtocol();
        System.out.println(protocol);

结果:HTTP/1.1

8. getRemoteAddr()

作用:获取客户机的ip地址

//获取客户机的ip地址
        String remoteAddr = request.getRemoteAddr();
        System.out.println(remoteAddr);

结果:0:0:0:0:0:0:0:1
解析:因为是自己的浏览器访问自己的服务器,所以是这个结果,

测试完整代码及结果

servlet代码

@WebServlet("/requestDemo1")
public class RequestDemo1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取请求方式
        String method = request.getMethod();
        System.out.println(method);
        //获取虚拟目录
        String contextPath = request.getContextPath();
        System.out.println(contextPath);
        //获取Servlet路径
        String servletPath = request.getServletPath();
        System.out.println(servletPath);
        //获取get方式的请求参数
        String query = request.getQueryString();
        System.out.println(query);
        //获取请求URI
        String uri = request.getRequestURI();
        System.out.println(uri);
        //获取请求URL
        String url = request.getRequestURI();
        System.out.println(url);
        //获取协议及版本
        String protocol = request.getProtocol();
        System.out.println(protocol);
        //获取客户机的ip地址
        String remoteAddr = request.getRemoteAddr();
        System.out.println(remoteAddr);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

ip地址:http://localhost/servlet/requestDemo1?name=zhangsan

结果:

GET
/servlet
/requestDemo1
name=zhangsan
/servlet/requestDemo1
http://localhost/servlet/requestDemo1
HTTP/1.1
0:0:0:0:0:0:0:1

你可能感兴趣的:(javaWeb基础,java基础,servlet,java,tomcat)