b)HttpServletRequest 类的常用方法
i. getRequestURI()
获取请求的资源路径
ii. getRequestURL()
获取请求的统一资源定位符(绝对路径)
iii. getRemoteHost()
获取客户端的 ip 地址
iv. getHeader()
获取请求头
v. getParameter()
获取请求的参数
vi. getParameterValues()
获取请求的参数(多个值的时候使用)
vii. getMethod()
获取请求的方式 GET 或 POST
viii. setAttribute(key, value);
设置域数据
ix. getAttribute(key);
获取域数据
x. getRequestDispatcher()
获取请求转发对象
package top.qaqaq.P145;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author RichieZhang
* @create 2022-12-05 下午 3:57
*/
public class RequestAPIServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// super.doGet(req, resp);
// i. getRequestURI() 获取请求的资源路径
System.out.println("URI => " + req.getRequestURI());
// ii. getRequestURL() 获取请求的统一资源定位符(绝对路径)
System.out.println("URL => " + req.getRequestURL());
// iii. getRemoteHost() 获取客户端的 ip 地址
/*
在IDEA中,使用 Localhost 访问时,得到的客户端ip 地址是 ===>> 127.0.0.1
在IDEA中,使用 127.0.0.1 访问时,得到的客户端ip 地址是 ===>> 127.0.0.1
在IDEA中,使用 真实ip 访问时,得到的客户端ip 地址是 ===>> 真实的客户端 ip 地址
*/
System.out.println("客户端ip地址 => " + req.getRemoteHost());
// iv. getHeader() 获取请求头
System.out.println("请求头User-Agent => " + req.getHeader("User-Agent"));
// vii. getMethod() 获取请求的方式 GET 或 POST
System.out.println("请求的方式 =>" + req.getMethod());
}
}
<servlet>
<servlet-name>RequestAPIServlet</servlet-name>
<servlet-class>top.qaqaq.P145.RequestAPIServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RequestAPIServlet</servlet-name>
<url-pattern>/requestAPIServlet</url-pattern>
</servlet-mapping>