下文笔者讲述ServletRequest简介说明,如下所示
ServletRequest简介
`ServletRequest` 是一个接口,
用于封装客户端发送到服务器的请求信息
它是Servlet API中核心接口之一
定义获取请求数据方法
`ServletRequest`功能
功能 | 描述 |
获取请求参数 | 如表单提交的数据、URL 参数等 |
获取客户端信息 | 如 IP 地址、端口号、协议类型(HTTP/HTTPS) |
获取输入流 | 读取客户端发送的原始数据(如上传文件、JSON 数据) |
获取属性(Attribute) | 在多个组件之间共享数据(如 Filter 和 Servlet) |
接口继承关系
public interface ServletRequest {
// 常用方法定义
}
对于 HTTP 请求,我们通常使用它的子接口:
HttpServletRequest extends ServletRequest
常用方法说明(基于 `ServletRequest`)
方法名 | 描述 |
`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
Powered By Java265.com信息维护小组
使用手机扫描二维码
关注我们看更多资讯
java爱好者
|