15.2 Response_功能介绍
- 功能: 设置响应消息。
-
- 1.设置响应行
- 格式: HTTP/1.1 200 ok
- 设置状态码: setStatus(int sc)
- 2.设置响应头:setHeader(String name, String value)
- 3.设置响应体:
- 使用步骤:
- 获取输出流
- 字符输出流:
PrintWriter getWriter()
- 字节输出流:
ServletOutputStream getOutputStream()
- 使用输出流, 将数据输出到客户端浏览器
15.3 Response_案例_完成重定向
package com.xww.web.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet( "/responseDemo1")
public class ResponseDemo1 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String contextPath = request.getContextPath();
response.sendRedirect(contextPath+"/responseDemo2");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
package com.xww.web.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet( "/responseDemo2")
public class ResponseDemo2 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("demo2..");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
15.4 Response_重定向特点
15.4.1 重定向(redirect )的特点
- 1.地址栏发生变化 ;
- 2.重定向可以访问其他站点(服务器)的资源 ;
- 3.重定向是两次请求。不能使用request对象来共享数据。
15.4.2 转发(forward )的特点
- 1.转发地址栏路径不变;
- 2.转发只能访问当前服务器下的资源;
- 3.转发是一次请求,可以使用request对象来共享数据。