JSP 面试题 目录

JSP 中如何设置响应头?

推荐答案

在 JSP 中,可以通过 response 对象来设置响应头。response 对象是 HttpServletResponse 类的一个实例,提供了多种方法来设置 HTTP 响应头。常用的方法包括:

  • setHeader(String name, String value):设置一个具有指定名称和值的响应头。
  • addHeader(String name, String value):添加一个具有指定名称和值的响应头,如果同名的头已经存在,则不会覆盖,而是添加一个新的头。
  • setIntHeader(String name, int value):设置一个具有指定名称和整数值的响应头。
  • addIntHeader(String name, int value):添加一个具有指定名称和整数值的响应头。
  • setDateHeader(String name, long date):设置一个具有指定名称和日期值的响应头。
  • addDateHeader(String name, long date):添加一个具有指定名称和日期值的响应头。

示例代码:

-- -------------------- ---- -------
--
    -- ------ -------------- ----
    ---------------------------------- ----------- ----------------

    -- ------ --------------- ----
    ----------------------------------- ------------

    -- ------ ---------------- -------
    --------------------------------------- ------

    -- ------ --------- -------
    --------------------------------- -------------------------- - ---- - ------
--

本题详细解读

在 JSP 中,response 对象是 HttpServletResponse 类的一个实例,它代表了服务器对客户端的响应。通过 response 对象,开发者可以控制 HTTP 响应的各个方面,包括响应头的设置。

1. setHeaderaddHeader 的区别

  • setHeader(String name, String value):如果响应头已经存在,则覆盖原有的值;如果不存在,则创建一个新的响应头。
  • addHeader(String name, String value):如果响应头已经存在,则添加一个新的值,而不是覆盖原有的值。

2. setIntHeaderaddIntHeader 的使用

这两个方法用于设置或添加整数值的响应头。例如,Content-Length 头通常用于指定响应体的长度。

3. setDateHeaderaddDateHeader 的使用

这两个方法用于设置或添加日期值的响应头。例如,Expires 头用于指定响应的过期时间。

4. 注意事项

  • 响应头的设置必须在向客户端发送任何内容之前进行,否则可能会抛出 IllegalStateException 异常。
  • 某些响应头(如 Content-Type)对客户端的行为有重要影响,因此需要谨慎设置。

通过合理使用这些方法,开发者可以灵活地控制 HTTP 响应的行为,从而满足不同的业务需求。

纠错
反馈