千家信息网

servlet转发与重定向怎么使用

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要讲解了"servlet转发与重定向怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"servlet转发与重定向怎么使用"吧!我们在学s
千家信息网最后更新 2025年01月31日servlet转发与重定向怎么使用

这篇文章主要讲解了"servlet转发与重定向怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"servlet转发与重定向怎么使用"吧!

我们在学servlet的时候,有两个很重要的概念:转发与重定向。

老师讲完之后帮我们总结好了它们各自的特点:

重定向:

1. 地址栏发生变化
2. 重定向可以访问其他站点(服务器)的资源
3. 重定向是两次请求。不能使用request对象来共享数据

转发:

1. 转发地址栏路径不变
2. 转发只能访问当前服务器下的资源
3. 转发是一次请求,可以使用request对象来共享数据

可是听完还是一头雾水?这俩到底什么玩意?

生活中的例子


转发-----你找我借钱,我没钱,但是我可以帮你找人借钱。帮你找人借钱这个动作由我去执行,这里的我指的是web服务器,比如tomcat!

重定向-----你找我借钱,我说没钱滚蛋,你只好乖乖溜走了。然后自己去找其他人借,这里的你指的是浏览器。

项目中的例子


转发 :登录成功后跳转到登录成功的界面,比如home.jsp
我对tomcat说:"我登录成功后能不能把我带进系统主页"?
tomcat说:"没问题,我帮你!"
/**   * 管理员登录   * @return   */  @RequestMapping("/login")  public String login(Admins admin, HttpServletRequest request, HttpSession session) {    if (adminService.checkUser(admin.getUsername(), admin.getPassword())) {      session.setAttribute("username", admin.getUsername());    }    return "/admin/home.jsp";  }
重定向: 用户退出系统,重定向到登录界面
我对tomcat说:"我退出后能不能帮我再登录一下"?
tomcat说:"滚一边去,自己登录去,我才不帮你!"
//退出  @RequestMapping("/logout")  public String  list(HttpSession session) throws Exception{    session.invalidate();    //重定向到index.jsp    return "redirect:/index.jsp";  }
小结:转发可以继续访问tomcat服务器资源,比如jsp。
重定向必须要再向servlet(Controller)发次请求。

感谢各位的阅读,以上就是"servlet转发与重定向怎么使用"的内容了,经过本文的学习后,相信大家对servlet转发与重定向怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0