Servlet-HttpServletRequest类

HttpServletRequest类

 

一、HttpServletRequest类的作用

   每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的http协议内容解析好封装到Request对象中。

然后传递到service方法(doGet、doPost)中给我们使用。我们可以通过HttpServletRequest对象获取到所有请求的信息

  (Tomcat服务器创建,每次请求创建一个)

 

二、HttpServletRequest常用方法

(1)getRequestURI():获取请求的资源路径

(2)getRequestURL():获取请求的统一资源定位符(绝对路径)

(3)getRemoteHost():获取客户端的ip地址

(4)getHeader(String s):获取请求头

(5)getParameter(String s):获取请求的参数

(6)getParameterValues(String s):获取请求的参数(多个值时使用)

(7)getMethod():获取请求的方式(GET/POST)

(8)setAttribute(String var1, Object var2):设置域数据

(9)getAttribute(String var1):获取域数据

(10)getRequestDispatcher(String var1):获取请求转发对象

相关代码

package com.orzjiangxiaoyu.servlet;

import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.util.Arrays;

/**
 * HttpServletRequest类的作用
 *
 * 每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的http协议内容解析好封装到Request对象中。
 * 然后传递到service方法(doGet、doPost)中给我们使用。我们可以通过HttpServletRequest对象获取到所有请求的信息。
 * (Tomcat服务器创建,每次请求创建一个)
 *
 *
 * HttpServletRequest常用方法
 *
 * getRequestURI():获取请求的资源路径
 * getRequestURL():获取请求的统一资源定位符(绝对路径)
 * getRemoteHost():获取客户端的ip地址
 * getHeader(String s):获取请求头
 * getParameter(String s):获取请求的参数
 * getParameterValues(String s):获取请求的参数(多个值时使用)
 * getMethod():获取请求的方式(GET/POST)
 * setAttribute(String var1, Object var2):设置域数据
 * getAttribute(String var1):获取域数据
 * getRequestDispatcher(String var1):获取请求转发对象
 * @author orz
 * @create 2020-09-10 22:02
 */
public class RequestServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("POST");

//        getRequestURI():获取请求的资源路径
        System.out.println("请求的资源路径:"+req.getRequestURI());
//        getRequestURL():获取请求的统一资源定位符(绝对路径)
        System.out.println("获取请求的统一资源定位符(绝对路径):"+req.getRequestURL());
//        getRemoteHost():获取客户端的ip地址
        System.out.println("客户端的ip地址:"+req.getRemoteHost());
//        getHeader(String s):获取请求头
        System.out.println("获取请求头User-Agent:"+req.getHeader("User-Agent"));
//        getParameter(String s):获取请求的参数
        System.out.println("获取请求的参数username:"+req.getParameter("username"));
//        getParameterValues(String s):获取请求的参数(多个值时使用)
        System.out.println("获取请求的参数(多个值)hobby:"+ Arrays.toString(req.getParameterValues("hobby")));
//        getMethod():获取请求的方式(GET/POST)
        System.out.println("请求的方式:"+req.getMethod());
//        setAttribute(String var1, Object var2):设置域数据
        req.setAttribute("key1","value1");
//        getAttribute(String var1):获取域数据
        System.out.println("域数据 key=key1 value1="+req.getAttribute("key1"));
//        getRequestDispatcher(String var1):获取请求转发对象
        System.out.println("请求转发对象:"+req.getRequestDispatcher("/"));

    }
}
View Code

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
    <servlet-name>Servlet1</servlet-name>
    <servlet-class>com.orzjiangxiaoyu.servlet.Servlet1</servlet-class>
</servlet>
    <servlet-mapping>
        <servlet-name>Servlet1</servlet-name>
        <url-pattern>/servlet1</url-pattern>
    </servlet-mapping>



    <servlet>
        <servlet-name>Servlet2</servlet-name>
        <servlet-class>com.orzjiangxiaoyu.servlet.Servlet2</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet2</servlet-name>
        <url-pattern>/servlet2</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>RequestServlet</servlet-name>
        <servlet-class>com.orzjiangxiaoyu.servlet.RequestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>RequestServlet</servlet-name>
        <url-pattern>/requestServlet</url-pattern>
    </servlet-mapping>


</web-app>
View Code

form1.html

<!DOCTYPE html>
<html lang="zh_CN">
<head>
    <meta charset="UTF-8">
    <title>requestServlet-Form</title>
</head>
<body>
<form action="http://localhost:8090/Servlet_GetPost_war_exploded/requestServlet" method="post">
    用户名<input type="text" value="" name="username"/><br/>&emsp;码<input type="text" value="" name="password"/><br/>&emsp;好<input type="checkbox" name="hobby" value="java"/>java
    <input type="checkbox" name="hobby" value="c++"/>c++
    <input type="checkbox" name="hobby" value="php"/>php
    <br/>
    <input type="submit"/>
</form>
</body>
</html>
View Code

 

 
posted @ 2020-09-10 22:23  orz江小鱼  阅读(170)  评论(0编辑  收藏  举报