ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

请求转发和重定向的区别

2022-08-20 10:30:17  阅读:160  来源: 互联网

标签:请求 resp req 转发 import 重定向


package study;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;

/**
 * 请求转发 与 重定向 的区别
 * 1 请求转发的地址栏不会发生改变,而重定向的地址栏会发生改变
 * 2 请求转发只有一次请求,而重定向有俩次请求
 * 3 请求转发时request对象可以共享,而重定向时request对象不可以共享
 * 4 请求转发是服务端行为,重定向是客户端行为
 * 5 请求转发的地址只能是当前项目的资源,重定向可以是任意地址
 *
 * @author YAM
 */
@WebServlet("/s06")
public class Servlet06 extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("Servlet06...");

        String uname = req.getParameter("uname");
        System.out.println(uname);

        req.setAttribute("upwd", "123456");
        //请求转发
        //  req.getRequestDispatcher("index.jsp").forward(req,resp);

        //重定向
        // resp.sendRedirect("index.jsp");

        //请求转发 无法到百度 , 根路径 为 /servlet03_war_exploded/06://baidu.com
      //  req.getRequestDispatcher("http://www.baidu.com").forward(req, resp);
        //重定向 跳转至百度
        resp.sendRedirect("http://www.baidu.com");

    }
}

jsp代码:

<%--
  Created by IntelliJ IDEA.
  User: MasterYang
  Date: 2022/8/19
  Time: 22:45
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>$Title$</title>
</head>
<body>
<%-- Java 脚本段 --%>

<%
    String uname = request.getParameter("uname");
    String upwd = (String) request.getAttribute("upwd");
      out.print(uname);
out.print("----------");
    out.print(upwd);

%>

</body>
</html>

  

标签:请求,resp,req,转发,import,重定向
来源: https://www.cnblogs.com/MasterYang/p/16607267.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有