request和response

这篇博客详细介绍了Java EE中的Request和Response对象。Request对象用于获取HTTP请求信息,包括请求行、请求头和请求体,提供了获取请求参数、请求转发以及获取ServletContext的方法。Response对象则用于设置HTTP响应,包括响应行、响应头和响应体,通过设置状态码、响应头和输出流来构建响应。同时,文章提到了请求转发、响应状态码、响应头的设置以及ServletContext的使用。最后,讨论了常见的问题,如乱码处理和资源共享。
摘要由CSDN通过智能技术生成


前言

request对象和response对象的原理:

  • request和response对象是由服务器创建的。我们来使用它们
  • request对象是来获取请求消息,response对象是来设置响应消息

一、request功能

request对象继承体系结构

在这里插入图片描述

1.获取请求行数据

(1)方法

  • 获取请求方式 :GET
    • String getMethod()
  • 获取虚拟目录:/day14
    • String getContextPath()
  • 获取Servlet路径: /demo1
    • String getServletPath()
  • 获取get方式请求参数:name=zhangsan
    • String getQueryString()
  • 获取请求URI:/day14/demo1
    • String getRequestURI()
    • StringBuffer getRequestURL()
  • 获取协议及版本:HTTP/1.1
    • String getProtocol()
  • 获取客户机的IP地址:
    • String getRemoteAddr()

补充:
URL:统一资源定位符 : http://localhost/day14/demo1 中华人民共和国
URI:统一资源标识符 : /day14/demo1 共和国

		//1. 获取请求方式 :GET
        String method = request.getMethod();
        System.out.println(method);
        //2.(*)获取虚拟目录:/day14
        String contextPath = request.getContextPath();
        System.out.println(contextPath);
        //3. 获取Servlet路径: /demo1
        String servletPath = request.getServletPath();
        System.out.println(servletPath);
        //4. 获取get方式请求参数:name=zhangsan
        String queryString = request.getQueryString();
        System.out.println(queryString);
        //5.(*)获取请求URI:/day14/demo1
        String requestURI = request.getRequestURI();
        StringBuffer requestURL = request.getRequestURL();
        System.out.println(requestURI);
        System.out.println(requestURL);
        //6. 获取协议及版本:HTTP/1.1
        String protocol = request.getProtocol();
        System.out.println(protocol);
        //7. 获取客户机的IP地址:
        String remoteAddr = request.getRemoteAddr();
        System.out.println(remoteAddr);

(2)获取请求头数据

  • 方法
    • String getHeader(String name):通过请求头的名称获取请求头的值
    • Enumeration getHeaderNames():获取所有的请求头名称
		//1.获取所有请求头名称
        Enumeration<String> headerNames = request.getHeaderNames();
        //2.遍历
        while(headerNames.hasMoreElements()){
   
            String name = headerNames.nextElement();
            //根据名称获取请求头的值
            String value = request.getHeader(name);
            System.out.println(name+"---"+value);
        }
      	//演示获取请求头数据:user-agent
        String agent = request.getHeader("user-agent");
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值