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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。