HttpServletRequest对象

本文详细介绍了HttpServletRequest对象在处理HTTP请求中的作用,包括其用于获取客户端请求信息的方法,如完整URL、请求URI、参数等。同时,讨论了请求乱码问题的解决方案,以及通过设置字符编码来防止乱码。此外,还探讨了请求转发的特点和请求作用域的范围,强调了HttpServletRequest在服务端请求数据共享中的应用。
摘要由CSDN通过智能技术生成

1.HttpServletRequest对象: 主要作用是用来接收客户端发送过来的请求信息,例如: 请求的参数,发送的头信息等都属于客户端发来的信息,service()方法中形参接收的是HttpServletRequest接口的实例化对象,表示该对象主要应用在HTTP协议上,该对象由Tomcat封装好传递过来。

2.HttpServletRequest是ServletRequest的子接口,ServletRequest只有一个子接口,不将两个接口合并的原因是,ServletRequest接口目前支持的是http协议,未来若想支持其他新的协议,该协议再继承ServletRequest接口就行了,面向接口编程,一个接口尽量完成一种功能,提高颗粒度,减少系统的冗余度。

3.接收请求常用的方法:
-getRequestURL(): 获取客户端发出请求时的完整URL
-getRequestURI(): 获取请求行中的资源名称部分(项目名称开始)
-getQueryString(): 获取请求行中的参数部分
-getMethod(): 获取客户端请求方式
-getProtocal(): 获取HTTP版本号
-getContextapp(): 获取webapp名字
-getParameter(name) : 获取指定名称的参数!!!
-getParametervalues(String): 获取指定名称参数的所有值

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author Vodka
 * @date 2021/08//17:42
 */
//@WebServlet(name="web",urlPatterns={"/One","/Two"})
@WebServlet(urlPatterns = {
   "/One","/Two"})
public class HSR extends HttpServlet {
   
    @Override
    public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
   
       res.getWriter().write("恭喜你已连接!");
        //获取请求时的完整路径,从http开始,到“?”前结束
        StringBuffer url = req.getRequestURL() ;
        System.out.println("请求时的完整路径:" + url);

        //获取部分路径 (从项目的站点名开始,到“?”结束)
        String uri = req.getRequestURI() ;
        System.out.println("获取请求时的部分路径:" + uri);

        //获取请求时的参数字符串(从?后面开始,直至最后)
        String QueryContent = req.getQueryString() ;
        System.out.println("获取请求信息携带的参数:" + QueryContent);

        //获取请求方式(get和post)
        String GM = req.getMethod() ;
        System.out.println("获取请求方式:" + GM);

        //获取当前协议版本
        String Edition  = req.getProtocol();
        System.out.println("当前协议版本为:" + Edition);

        //获取项目站点名(项目对外访问路径,即上下文路径)
        String webapp = req.getContextPath();
        System.out.println("项目站点名为:"+ webapp);
       
         // -getParameter(name)   :    获取指定名称的参数
        String Age = req.getParameter("Age");
        System.out.println("年龄是:" + Age +"岁");

        //      -getParametervalues(String):   获取指定名称参数的所有值
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值