程序员社区

【Servlet-1】HttpServletRequest接口之一

  1. 什么是HTTP协议?
    浏览器和服务器之间的一种协议
    请求协议:从Browser发送到Server的时候采用的一种数据传输协议
    响应协议:从Server发送到Browser的时候采用的一种数据传输协议

  2. HttpServletRequest接口:
    HttpServletRequest extends ServletRequest
    HttpServletRequest接口的实现类是web容器实现的,Tomcat服务器有自己的实现
    程序员只需要面向HttpServletRequest接口调用方法即可,不需要具体的实现了
    HttpServletRequest对象中封装了HTTP请求协议的全部内容
    HttpServletRequest对象代表一次请求,一次请求对应一个request对象,所以request对象的生命周期是短暂的。

  3. HttpServletRequest接口中的常用方法:
    通过key获取一维数组的首元素:String getParameter(String name)
    获取整个Map集合:Map getParameterMap()
    获取整个Map集合的所有key:Enumeration getParameterNames()
    通过map集合的key获取value:String[] getParameterValues(String name)

使用注解形式比使用web.xml的配置方式简单很多:
表单提交的数据,会自动封装到request对象中,request对象中由map集合存这些数据:map集合中的key是name,value是一个字符串类型的一维数组
在这里插入图片描述
html文件:注意文件中表单提交的路径

<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="/28/ServletRequest" method="post">
    用户名
    <input type="text" name="username"><br>
    密码
    <input type="password" name="password"><br>
    性别
    <input type="radio" name="sex" value="m"><input type="radio" name="sex" value="f"><br>
    爱好
    <input type="checkbox" name="interest" value="music">音乐
    <input type="checkbox" name="interest" value="sport">运动
    <input type="checkbox" name="interest" value="study">学习
    <input type="checkbox" name="interest" value="sing">唱歌
    <input type="checkbox" name="interest" value="read">阅读 <br>
    学历
    <select name="grade">
        <option value="gz">高中</option>
        <option value="dz">大专</option>
        <option value="db">大本</option>
    </select>
    简介
    <textarea cols="30" rows="10" name="introduce"></textarea><br>
    <input type="submit" value="注册">
    <input type="submit" value="提交">
</form>
</body>
</html>

java文件:注意注解的路径

package Servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Map;
import java.util.Set;

@WebServlet("/ServletRequest")
public class ServletRequest extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取用户信息,表单提交的,这些数据被自动封装到request对象中了
        //从request对象中获取这些信息
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String sex = req.getParameter("sex");
        String interest = req.getParameter("interest");
        String introduce = req.getParameter("introduce");

        System.out.println(username);
        System.out.println(password);
        System.out.println(sex);
        System.out.println(interest);
        System.out.println(introduce);

        //获取所有的兴趣爱好
        String[] interests = req.getParameterValues("interest");
        for(String in:interests){
            System.out.println(in);
        }

        //获取整个参数的Map集合
        Map<String, String[]> parameterMap = req.getParameterMap();
        Set<String> names = parameterMap.keySet();
        for(String name:names){
            String[] values = parameterMap.get(name);
            System.out.print(name+"=");
            for(String value:values){
                System.out.print(value+" ");
            }
            System.out.println();
        }

        //获取参数Map集合所有的key
        Enumeration<String> keys = req.getParameterNames();
        while(keys.hasMoreElements()){
            String name = keys.nextElement();
            System.out.println(name);
        }
    }
}

在这里插入图片描述

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 【Servlet-1】HttpServletRequest接口之一

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区