JavaWeb第二讲 重定向与转发 doGet()与doPost()
(一)重定向与转发
转发**(服务器行为)**
request.getRequestDispatcher("url").forward(request, response);
重定向**(客户端行为)**
response.sendRedirect("url");
1.地址栏区别
Forward是服务器请求资源,服务器直接访问目标地址的url,把那个url的响应内容读取过来,然后把这些内容再发给浏览器。浏览器根本不知道服务器发送的内容从哪里来的,所以地址栏不变。
Redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,所以地址栏显示的是新的URL。Redirect利用服务器返回的状态码实现。客户端浏览器请求服务器时,服务器会返回一个状态码。服务器通过setStatus(int status)方法设置状态码。如果服务器返回301或者302,则浏览器会到新的网址重新请求该资源。
2.数据共享区别
Forward:转发页面和转发到的页面可以共享request里面的数据。
Redirect:不能共享数据。
3.应用区别
Forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
Redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等
4.从效率来说
Forward:高。
Redirect:低。因为浏览器至少提交了两次请求。
(二)doGet()与doPost()
1.get是用来从服务器上获取数据,而post是用来向服务器传递数据;
2.get将表单中数据按照variable=value的形式,添加到action所指向的URL后面,并且两者用" ? “连接,变量之间用” & "连接;而post是将表单中的数据放在form的数据体中,按照变量与值对应的方式,传递到action属性所指定的URL。
3.get是不安全的,因为在传输过程中,数据是被放在请求的URL中,对用户可见;而post的所有操作对用户来说都是不可见的。
4.get传输的数据量小,这主要应为受url长度限制,通常在1024字节左右;而post可以传输大量的数据,所有上传文件只能用post提交。
5.get限制form表单的数据集必须为ASCII字符;而post支持整个IS01-0646字符集。
6.get是form表单的默认方法。
JavaWeb第二讲 重定向与转发 doGet()与doPost()相关推荐
- javaweb里边的重定向与转发的区别
关于这个问题,最初是我在学servle的写的登录成功与错误返回的网址不同而进行深入了解的,下边介绍一下使用办法:转发:request.getRequestDispatcher("succes ...
- JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(下)(各种乱码、验证码、重定向和转发)
HttpServletRequest获取请求头信息 (1)获取客户机请求头 String getHeader(String name) Enumeration<String> getHe ...
- JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)
HttpServletResponse简介 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 request和re ...
- javaweb重定向和转发的区别
JavaWeb学习随记 重定向与转发的区别(面试题) 相同点 页面都会实现跳转 不同点 请求转发的时候,url不会产生变化 重定向时候,url地址栏会发生变化 简单的重定向代码: resp.sendR ...
- 【相对/绝对路径】JavaWeb项目中,请求转发与重定向的路径写法
相对路径.全路径 是要不以/开头,都是相对路径.相对路径是从当前资源出发,去寻找其他资源. 只要路径中以/开肉,就是全路径.全路径是从项目根目录出发,去寻找其他资源. 在开发中,写文件路径时,最好使用 ...
- struts result type redirect 重定向和转发的区别
我们在使用struts2进行配置struts.xml的时候,<result>中有个tyep属性用来配置跳转类型 默认不写时tyep="dispatcher",我们可以根 ...
- WebApp 安全风险与防护课堂(第二讲)开课了!
本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 在昨天的公开课中,由于参与的小伙伴们积极性和热情非常高,我们的讲师Carl ...
- springmvc重定向到另一个项目_Spring MVC重定向和转发详解
Spring MVC请求方式分为转发.重定向两种,是用forward和redirect关键字在controller层进行处理.本文我们就来探讨一下Spring MVC请求方式中的Spring MVC重 ...
- 重定向和转发的区别+使用情景
重定向和转发的区别: // 重定向 response.sendRedirect("xxx.jsp或者servlet"); // 转发 request.getRequestDispa ...
最新文章
- putty 串口登录开发板
- IDEA----破解
- windows下安装配置cwrsync
- php 面向过程分页,无JS,完全php面向过程,数据分页
- 学习响应式BootStrap来写融职教育网站,Bootsrtap第四天Header处理
- WPF 实现验证码控件
- axure 链接html文件,通过WuliHub免费托管原型Axure HTML文件
- oracle 分区字符转换,Oracle 普通表与分区表转换
- 如何添加天锐绿盾屏幕水印
- java学生管理系统报告_java学生管理系统总结报告.doc
- 电量统计(1)-原理
- setting文件详解
- openwrt关闭网卡端口
- 《这样思考,人生就不一样》/《思考的整理学》 博客思听 2010年1月
- apache服务器查看网络爬虫记录的方法说明
- 计算机微软云同步怎样安装软件,在windows10/8/7系统安装和设置OneDrive 同步文件...
- 【STM32F407的DSP教程】第3章 Matlab简易使用之基础操作
- PAT甲级真题目录(按题型整理)(转自柳神)
- oracle sysdate取年月日,oracle获取当前年月日时分秒季度周
- 最详细的Cydia使用教程------完全版。新补充Cydia1.1.1离线安装(升级)方法。