2-HttpServletRequest对象

HttpServletRequest对象

该对象主要用于接收客户端发送过来的信息,如请求参数、请求头等

HttpServletRequest是ServletRequest的唯一的子接口

接收请求

常用方法

//完整url路径
String url = req.getRequestURL().toString();

//部分路径
String uri = req.getRequestURI();

//获取请求的参数(如果有的话,即路径中`?`后面的字符串)
String query = req.getQueryString();

//请求方式get、post
String method = req.getMethod();

//请求协议(http/1/1)
String protocol = req.getProtocol();

//获取项目站点名
String webapp = req.getContextPath();

请求为【localhost:8083/sr02/servlet02】时输出:

image-20210502192535571

请求为【localhost:8083/sr02/servlet02?name=xiaod&passwd=123456】时:

image-20210502192917681

详细参数获取(重点)

//获取指定参数,返回字符串
String name = req.getParameter("name");  //用户名
String passwd = req.getParameter("passwd");  //密码

image-20210502193840780

获取多个同名参数(适用于复选框)

//多个参数名称相同,用数组收集
//如:参数为 name=xiaod&passwd=123456&hobby=sing&hobby=dance
String[] hobbies = req.getParameterValues("hobby"); 

中文乱码问题

tomcat8以上版本只有get请求会乱码,使用字符串乱码处理方式来解决

使用post请求提交表单时,若含有中文,获取到的是乱码

验证步骤

  1. 在webapp下创建login.jsp文件

    image-20210502201756825
  2. 在login.jsp下粘贴以下代码

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>登录</title>
        <form method="post" action="servlet02">
            账户名:<input type="text" name="name"> <br>
            密码:<input type="password" name="passwd"> <br>
            <button>登录</button>   <!--button默认为提交按钮-->
        </form>
    </head>
    <body>
    
    </body>
    </html>
    
    

    需要注意,form标签的属性 action为**注解@WebServlet("/servlet02")**中的 servlet02(不要有斜线),这样就与这个处理类关联起来了

  3. 运行启动

  4. 浏览器访问

    image-20210502202959582

  5. 点击登录提交给 Servlet01类(含有注解 @WebServlet("/servlet02") )处理

    查看获取到的数据:

    image-20210502203233059

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

[小G]

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值