Servlet中ServletRequest指什么呢?

欢喜 Servlet 发布时间:2025-05-26 16:47:20 阅读数:5375 1
下文笔者讲述ServletRequest简介说明,如下所示

ServletRequest简介

`ServletRequest` 是一个接口,
  用于封装客户端发送到服务器的请求信息
    它是Servlet API中核心接口之一
	  定义获取请求数据方法 

`ServletRequest`功能

接口继承关系

 
public interface ServletRequest {
    // 常用方法定义
} 

对于 HTTP 请求,我们通常使用它的子接口:
 
HttpServletRequest extends ServletRequest

常用方法说明(基于 `ServletRequest`)

功能 描述
获取请求参数 如表单提交的数据、URL 参数等
获取客户端信息 如 IP 地址、端口号、协议类型(HTTP/HTTPS)
获取输入流 读取客户端发送的原始数据(如上传文件、JSON 数据)
获取属性(Attribute) 在多个组件之间共享数据(如 Filter 和 Servlet)
方法名 描述
`getParameter(String name)` 获取客户端传来的参数值(如 URL 或 POST 表单中的参数)
`getParameterMap()` 获取所有请求参数的 Map 形式
`getInputStream()` 获取请求体的输入流,用于读取原始数据(如 JSON、XML)
`getRemoteAddr()` 获取客户端的 IP 地址
`getProtocol()` 获取请求使用的协议版本(如 HTTP/1.1)
`getAttribute(String name)` / `setAttribute(String name, Object o)` 获取或设置请求范围内的属性(用于组件间通信)
`getCharacterEncoding()` 获取请求的字符编码方式(如 UTF-8)
@WebServlet("/request-info")
public class RequestInfoServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException {

        // 获取客户端 IP
        String clientIP = request.getRemoteAddr();
        System.out.println("Client IP: " + clientIP);

        // 获取请求参数
        String username = request.getParameter("username");
        System.out.println("Username: " + username);

        // 设置属性供其他组件使用
        request.setAttribute("user", new User(username));

        // 返回响应
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<h1>Request Info Processed</h1>");
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/Servlet/202505/303.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者