【转发和重定向的区别和应用场合 转发和重定向的区别】转发、重定向 转发--->Forward,100%不能带工程名 转发的特点:1)、可以传值; 2)、路径没有发生改变,其实总共只发起了一次请求; 3)、转发的方式只能跳转到本工程之内的url。 public class ForwardA,这个类存值//1.通过 HttpServletRequest存值req.setAttribute("msg","ForwardA存的值"); //2.通过转发的方式跳转到ForwardBreq.getRequestDispatcher("/forwardB.do").forward(req,resp); public class ForwardB,这个类取值获取刚才ForwardA存的值String msg = req.getAttribute("msg").toString(); System.out.println("获取的值为:"+msg); 在运行过程中,浏览器的输出路径没有发生变化:http://localhost:8080/ServletDemo007Day04/forwardA.do tips: 测试的时候一定要先访问@WebServlet("/forwardA.do")这个存值的,然后再访问@WebServlet("/forwardB.do")这个取值的,否则会报505空指针异常的错误 。 重定向--->Redirect,必须带工程名 重定向的特点:1)、不会传值,也不会携带值; 2)、路径会发生改变,其实这是发起了两次请求; 3)、重定向的方式可以跳转到本工程之外的url,比如:可以跳到其他工程的url或者百度等 。 public class RedirectA,这个类存值//1.通过 HttpServletRequest存值req.setAttribute("msg","RedirectA存的值"); //2.通过重定向的方式跳转到RedirectB 必须带上工程名resp.sendRedirect("/ServletDemo007Day04/redirectB.do"); public class RedirectB,这个类取值//获取刚才RedirectA存的值String msg = req.getAttribute("msg").toString(); System.out.println("获取的值为:"+msg); 在运行过程中,浏览器的输出路径发生了变化: 刚开始访问的是:http://localhost:8080/ServletDemo007Day04/redirectA.do然后运行结束后的路径变成了:http://localhost:8080/ServletDemo007Day04/redirectB.do同时也报了个505的空指针异常的错误:

文章插图
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
