Servlet中ServletRequest指什么呢?
下文笔者讲述ServletRequest简介说明,如下所示
例
ServletRequest简介
`ServletRequest` 是一个接口,
用于封装客户端发送到服务器的请求信息
它是Servlet API中核心接口之一
定义获取请求数据方法
`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>");
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


