请求重定向

1、请求重定向介绍流程
在这里插入图片描述
2、重定向特点

a)浏览器地址栏会发生变化
b)两次请求
c)不共享request数据
d)不能跳转到WEB-INF目录下
e)可以访问工程外部资源**(跟请求转发有区别 )

3、请求重定向实现过程

a)通过设置状态码和响应头

//        设置响应状态码302  重定向
      resp.setStatus(302);
//        设置响应头,说明新的地址在哪里
      resp.setHeader("Location","http://localhost:8080/Java_Web01_war_exploded/responsechongdingxinag02");

b)固定了状态码为302(推荐使用)

resp.sendRedirect("http://localhost:8080/Java_Web01_war_exploded/responsechongdingxinag02");

相关代码:

//Responsechongdingxinag01.java
package servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class Responsechongdingxinag01 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("到此一游,即将转向新网页!");
        resp.setContentType("text/html;charset=UTF-8");
        resp.getWriter().write("到此一游,即将转向新网页!");
//        设置响应状态码302  重定向
        resp.setStatus(302);
//        设置响应头,说明新的地址在哪里
        resp.setHeader("Location","http://localhost:8080/Java_Web01_war_exploded/responsechongdingxinag02");

//        resp.sendRedirect("http://localhost:8080/Java_Web01_war_exploded/responsechongdingxinag02");


    }

}
//Responsechongdingxinag02.java
package servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class Responsechongdingxinag02 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=UTF-8");
        System.out.println("重定向网页成功!");
        resp.getWriter().write("重定向网页成功!");
    }
}
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐