Response_重定向_hehe.employment.over.15.2

文章目录

  • 15.2 Response_功能介绍
  • 15.3 Response_案例_完成重定向
  • 15.4 Response_重定向特点
    • 15.4.1 重定向(redirect )的特点
    • 15.4.2 转发(forward )的特点

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 {
     
//        //1. 设置状态码为302
//        response.setStatus(302);
//        //2.设置响应头location
//        response.setHeader("location","/day15/responseDemo2");


        //简单的重定向方法
        //动态获取虚拟目录
        String contextPath = request.getContextPath();
        response.sendRedirect(contextPath+"/responseDemo2");
//      response.sendRedirect("/day15/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对象来共享数据。

你可能感兴趣的:(#,间接,over,java,servlet)