`HttpServletResponse` 是 Java Servlet API 中的接口,它是 `ServletResponse` 接口的子接口,专门用于处理 HTTP 响应。`HttpServletResponse` 定义了用于设置 HTTP 响应信息的方法。
以下是 `HttpServletResponse` 接口的一些主要属性和方法的解析,包括方法的参数和返回值的作用:
1. 无特定属性:`HttpServletResponse` 接口并未定义任何属性,它主要通过方法提供对 HTTP 响应的操作。
1. `void addCookie(Cookie cookie)`:
- 参数:`Cookie cookie` - 要添加的 Cookie 对象。
- 返回值:无
- 作用:添加一个 Cookie 到响应中。通过这个方法,可以向客户端发送一个 Cookie,客户端将保存这个 Cookie 并在后续的请求中发送回服务器。
2. `void addDateHeader(String name, long date)`:
- 参数:`String name` - 响应头的名称,例如 "Last-Modified"。
`long date` - 响应头的日期值,以毫秒为单位的时间戳。
- 返回值:无
- 作用:添加一个日期类型的响应头到响应中。通过这个方法,可以设置响应头的日期值,例如在响应中添加 "Last-Modified" 头,告诉客户端该资源的最后修改时间。
3. `void addHeader(String name, String value)`:
- 参数:`String name` - 响应头的名称。
`String value` - 响应头的值。
- 返回值:无
- 作用:添加一个响应头到响应中。通过这个方法,可以设置任意自定义的响应头,向客户端发送一些自定义的响应信息。
4. `void addIntHeader(String name, int value)`:
- 参数:`String name` - 响应头的名称。
`int value` - 响应头的整数值。
- 返回值:无
- 作用:添加一个整数类型的响应头到响应中。通过这个方法,可以设置响应头的整数值,例如在响应中添加 "Content-Length" 头,指示响应正文的长度。
5. `boolean containsHeader(String name)`:
- 参数:`String name` - 响应头的名称。
- 返回值:`boolean` - 如果响应中包含指定名称的响应头,则返回 `true`,否则返回 `false`。
- 作用:检查响应中是否包含指定名称的响应头。可以通过这个方法来判断某个响应头是否已经设置过。
6. `String encodeRedirectURL(String url)`:
- 参数:`String url` - 要进行重定向的 URL。
- 返回值:`String` - 编码后的重定向 URL。
- 作用:对 URL 进行编码,以便在进行重定向时保持会话信息。该方法主要用于在进行重定向时对 URL 进行编码,以确保会话信息正确传递。
7. `String encodeRedirectUrl(String url)`:
- 参数:`String url` - 要进行重定向的 URL。(已弃用)
- 返回值:`String` - 编码后的重定向 URL。(已弃用)
- 作用:对 URL 进行编码,以便在进行重定向时保持会话信息。(已弃用)
8. `String encodeURL(String url)`:
- 参数:`String url` - 要进行编码的 URL。
- 返回值:`String` - 编码后的 URL。
- 作用:对 URL 进行编码,以便在进行页面重载时保持会话信息。该方法主要用于在生成包含会话信息的 URL 时使用。
9. `String encodeUrl(String url)`:
- 参数:`String url` - 要进行编码的 URL。(已弃用)
- 返回值:`String` - 编码后的 URL。(已弃用)
- 作用:对 URL 进行编码,以便在进行页面重载时保持会话信息。(已弃用)
10. `void sendError(int sc) throws IOException`:
- 参数:`int sc` - HTTP 状态码(例如 404 表示 Not Found)。
- 返回值:无
- 作用:发送一个错误状态码作为响应。通过这个方法,可以向客户端发送一个指定的 HTTP 错误状态码,通知客户端发生了错误。
11. `void sendError(int sc, String msg) throws IOException`:
- 参数:`int sc` - HTTP 状态码。
`String msg` - 错误消息。
- 返回值:无
- 作用:发送一个错误状态码和错误消息作为响应。通过这个方法,可以向客户端发送一个指定的 HTTP 错误状态码和自定义错误消息,通知客户端发生了错误。
12. `void sendRedirect(String location) throws IOException`:
- 参数:`String location` - 要重定向的 URL。
- 返回值:无
- 作用:发送一个重定向响应。通过这个方法,可以将客户端重定向到指定的 URL。
13. `void setDateHeader(String name, long date)`:
- 参数:`String name` - 响应头的名称。
`long date` - 响应头的日期值,以毫秒为单位的时间戳。
- 返回值:无
- 作用:设置一个日期类型的响应头。通过这个方法,可以设置响应头的日期值,例如在响应中设置 "Last-Modified" 头,告诉客户端该资源的最后修改时间。
14. `void setHeader(String name, String value)`:
- 参数:`String name` - 响应头的名称。
`String value` - 响应头的值。
- 返回值:无
- 作用:设置一个响应头。通过这个方法,可以设置任意自定义的响应头,向客户端发送一些自定义的响应信息。
15. `void setIntHeader(String name, int value)`:
- 参数:`String name` - 响应头的名称。
`int value` - 响应头的整数值。
- 返回值:无
- 作用:设置一个整数类型的响应头。通过这个方法,可以设置响应头的整数值,例如在响应中设置 "Content-Length" 头,指示响应正文的长度。
16. `void setStatus(int sc)`:
- 参数:`int sc` - HTTP 状态码。
- 返回值:无
- 作用:设置响应的 HTTP 状态码。通过这个方法,可以设置响应的状态码,例如 200 表示 OK,404 表示 Not Found 等。