HTTP协议下Servlet的请求消息对象:Request

本文详细介绍了HTTP协议下Servlet的请求消息对象Request,包括其原理、体系结构和功能。Request对象用于获取请求消息数据,如请求行、头和体的数据。此外,还讨论了如何获取动态目录、请求参数、进行请求转发、共享数据以及解决中文乱码问题的方法。
摘要由CSDN通过智能技术生成

原理

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

体系结构

  • ServletRequest 接口
    • HttpServletRequest 接口 (继承)
      • org.apache.catalina.connector.RequestFacade 类(Tomcat实现)

功能

获取请求消息数据

获取请求行数据

  • 请求行数据:GET /web/A?name=Cat HTTP/1.1
    • 请求方式: GET
      • String getMethod()
    • 请求端的URI(统一资源标识符) 地址:/web/A
      • String getRequestURI()
    • 请求端的URL(统一资源定位符)地址: http: //localhost//web/A
      • StringBuilder getRequestURL()
    • 虚拟目录:/web
      • String getContextPath()
    • 服务器路径:/A
      • String getServletPath()
    • 请求参数:name=Cat
      • String getQueryString()
    • HTTP协议的版本:HTTP/1.1
      • String getProtocol()
    • 获取客户机的IP地址:
      • String getRemoteAddr()
//请求方式: GET
	String method = request.getMethod();
//请求端的URI地址:/web/A
	String requestURI = request.getRequestURI();
//请求端的URI地址:/web/A
	StringBuffer requestURL = request.getRequestURL();
//虚拟目录:/web
	String contextPath = request.getContextPath();
//服务器路径:/A
	String servletPath = request.getServletPath();
//请求参数:name=Cat
	String queryString = request.getQueryString();
//HTTP协议的版本:HTTP/1.1
	String protocol = request.getProtocol();
//获取客户机的IP地址:
	String remoteAddr = request.getRemoteAddr();
//获取客户机的端口号
	int remotePort = request.getRemotePort();

获取请求头数据

  • 请求头数据
    • 通过请求头的名称 获取请求头的值
      • String getHeader(String name)
    • 获取 所有的请求头名称(判断浏览器)
      • Enumeration<String> getHeaderNames():
//获取 所有的请求头名称
    Enumeration<String> headerNames = request.getHeaderNames();
    while (headerNames
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值