015、(案例)重定向

1、浏览器访问本地资源A,本地资源A返回重定向让浏览器去访问本地资源B。

2、浏览器自动的去访问本地资源B,本地资源B返回重定向让浏览器访问外部资源百度。

3、百度自动的去访问百度。

1、本地资源1:

ResponseDemo01.java

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("/ResponseDemo01")
public class ResponseDemo01 extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req,resp);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("Demo01...");
        //方式一、
        //设置状态为重定向
        resp.setStatus(302);
        //设置响应头
        resp.setHeader("Location","/loginServlet/ResponseDemo02");

//        resp.sendRedirect("ResponseDemo02");
    }
}

 ResponseDemo02.java

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("/ResponseDemo02")
public class ResponseDemo02 extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //方式一
//        resp.setStatus(302);
//        resp.setHeader("Location","http://www.baidu.com");


        //方式二:因为返回状态和响应头都是不变的,因此Response对象有一个方法可以简化操作。
        System.out.println("demo02...1...");

        resp.sendRedirect("http://www.baidu.com");

        //
        System.out.println("demo02...2...");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req,resp);
    }
}

测试:

在浏览器中输入:localhost/loginServlet/ResponseDemo01     按确定键就会切换到百度首页。

控制台输出:

Demo01...
demo02...1...
demo02...2...

发布了285 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/l0510402015/article/details/104738252