请求转发和重定向的区别以及JavaWeb三大作用域
2021/4/28 22:25:26
本文主要是介绍请求转发和重定向的区别以及JavaWeb三大作用域,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
三大作用域以及转发和重定向
- 学习总结
- 1. 转发和重定向
- 转发
- 重定向
- 转发和重定向的区别:
- 什么时候用转发什么时候用重定向
- 三大作用域
- 作用域类型
- 作用域方法
- 如何选择作用域
- 总结
学习总结
1. 转发和重定向
转发
-
转发原理图
-
转发方法
1)request对象与转发相关方法
request.getRequestDispatcher("/要跳转的地址").forward(request,response);
重定向
-
重定向原理图
-
重定向方法
1)response对象与重定向相关方法
response.sendRedirect("/要跳转的地址");
转发和重定向的区别:
区别 | 转发 forward | 重定向 redirect |
---|---|---|
地址栏不同 | 不会发生变化 | 会发生变化 |
根目录 | 包含项目访问地址 | 没有项目访问地址 |
跳转位置 | 服务器端进行的跳转,不可访问站外资源 | 浏览器端进行的跳转,可以访问站外资源 |
请求对象(域)中数据 | 请求域数据不会丢失,因为是同一个请求 | 请求域数据会丢失,因为不是同一个请求 |
是否可以访问WEB-INF下面的资源 | 可以访问WEB-INF下面的资源(包含静态和动态) | 不可以访问WEB-INF下面的资源(包含静态和动态) |
什么时候用转发什么时候用重定向
-
问:什么时候使用转发,什么时候使用重定向?
1)如果要保留请求域中的数据,使用转发,否则使用重定向。以后访问数据库,增删改使用重定向,查询使用转发。 -
问:转发和重定向后面的代码是否还会执行
1)无论转发或重定向后续的代码都会执行
三大作用域
作用域类型
作用域 | 类型 | 作用范围 |
---|---|---|
请求域 | HttpServletRequest | 只在同一次请求中起作用 |
会话域 | HttpSession | 同一个回话中起作用 一次会话是从浏览器打开开始,到关闭浏览器结束 |
上下文域 | ServletContext | 同一应用中起作用 上下文域也称application应用程序域,application作用范围为程序开始运行到运行停止 |
作用域方法
- 哪个作用域对象调用方法就操作对应的作用域数据
作用域相关方法 | 作用 |
---|---|
Object setAttribute(“键”) | 从中得到一个值 |
void setAttribute(“键”, Object数据) | 向作用域中存储键值对数据 |
void removeAttribute(“键”) | 删除作用域种的键值对数据 |
如何选择作用域
- 先考虑作用范围小的作用域,如果小作用范围的作用域能满足需求就使用小作用范围的作用域
- 由小到大的考虑顺序:请求域 --> 会话域 --> 上下文域
总结
以上就是对请求转发和JavaWeb三大作用域的详细介绍了,代码仅供参考,欢迎讨论交流。
这篇关于请求转发和重定向的区别以及JavaWeb三大作用域的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南