HttpServletRequest对象

1.HttpServletRequest 是 Java Servlet API 中的一个核心接口,它代表了一个来自客户端的 HTTP 请求。
2.在 Servlet 容器中,当客户端(例如网页浏览器)发送 HTTP 请求到 Servlet 容器时,Servlet 容器会创建一个实现了 HttpServletRequest 接口的对象,并将这个对象作为参数传递给 Servlet 的 service 方法。这样 Servlet 就可以通过这个对象来访问关于 HTTP 请求的所有信息。
3.HttpServletRequest 对象提供了许多方法来获取 HTTP 请求的不同部分,包括请求行信息、请求头信息、请求参数信息等。HttpServletRequest 对象还允许你设置属性,这些属性可以在后续的请求处理过程中被其它组件(如过滤器或其他 Servlet)访问。

HttpServletRequest 是 Java Servlet API 中用于封装 HTTP 请求的核心接口,它完整承载了客户端发起的一次 HTTP 请求的所有信息。

生命周期与传递机制
1.触发时机:当客户端(如浏览器)向 Servlet 容器(如 Tomcat)发送 HTTP 请求时,容器会自动实例化一个实现了该接口的对象。
2.传递方式:容器将此对象作为参数传入 Servlet 的 service() 方法(或 doGet()/doPost() 等具体方法),使 Servlet 能读取并处理请求数据。
3.作用范围:仅在当前请求处理周期内有效,请求结束后对象即被销毁。

💡 关键特性与应用场景
请求域共享:通过 setAttribute()/getAttribute() 实现同一次请求内的组件间数据传递(如 Servlet → JSP、过滤器 → Servlet)。
请求分发:可结合 getRequestDispatcher() 实现请求转发,将请求传递给其他 Servlet 或页面处理。
会话管理:可通过 getSession() 获取关联的 HttpSession 对象,实现跨请求的用户会话状态管理。
image

1.获取请求行信息
(1)下面通过示例程序,介绍如何使用HttpServletRequest对象获取请求行信息。在Unit2_task1项目中,创建一个包com.example.unit2_2,包中创建类RequestLineServlet继承HttpServlet。
image

(2)浏览请求 “ http://localhost:8080/Unit2_1/RequestLineServlet ”,运行结果如图 2-5 所示。
image

posted @ 2026-05-25 13:50  臭屁小瑶酱  阅读(9)  评论(0)    收藏  举报