(一)重定向与转发

转发**(服务器行为)**

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()相关推荐

  1. javaweb里边的重定向与转发的区别

    关于这个问题,最初是我在学servle的写的登录成功与错误返回的网址不同而进行深入了解的,下边介绍一下使用办法:转发:request.getRequestDispatcher("succes ...

  2. JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(下)(各种乱码、验证码、重定向和转发)

    HttpServletRequest获取请求头信息  (1)获取客户机请求头 String getHeader(String name) Enumeration<String> getHe ...

  3. JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)

    HttpServletResponse简介 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 request和re ...

  4. javaweb重定向和转发的区别

    JavaWeb学习随记 重定向与转发的区别(面试题) 相同点 页面都会实现跳转 不同点 请求转发的时候,url不会产生变化 重定向时候,url地址栏会发生变化 简单的重定向代码: resp.sendR ...

  5. 【相对/绝对路径】JavaWeb项目中,请求转发与重定向的路径写法

    相对路径.全路径 是要不以/开头,都是相对路径.相对路径是从当前资源出发,去寻找其他资源. 只要路径中以/开肉,就是全路径.全路径是从项目根目录出发,去寻找其他资源. 在开发中,写文件路径时,最好使用 ...

  6. struts result type redirect 重定向和转发的区别

    我们在使用struts2进行配置struts.xml的时候,<result>中有个tyep属性用来配置跳转类型 默认不写时tyep="dispatcher",我们可以根 ...

  7. WebApp 安全风险与防护课堂(第二讲)开课了!

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 在昨天的公开课中,由于参与的小伙伴们积极性和热情非常高,我们的讲师Carl ...

  8. springmvc重定向到另一个项目_Spring MVC重定向和转发详解

    Spring MVC请求方式分为转发.重定向两种,是用forward和redirect关键字在controller层进行处理.本文我们就来探讨一下Spring MVC请求方式中的Spring MVC重 ...

  9. 重定向和转发的区别+使用情景

    重定向和转发的区别: // 重定向 response.sendRedirect("xxx.jsp或者servlet"); // 转发 request.getRequestDispa ...

最新文章

  1. putty 串口登录开发板
  2. IDEA----破解
  3. windows下安装配置cwrsync
  4. php 面向过程分页,无JS,完全php面向过程,数据分页
  5. 学习响应式BootStrap来写融职教育网站,Bootsrtap第四天Header处理
  6. WPF 实现验证码控件
  7. axure 链接html文件,通过WuliHub免费托管原型Axure HTML文件
  8. oracle 分区字符转换,Oracle 普通表与分区表转换
  9. 如何添加天锐绿盾屏幕水印
  10. java学生管理系统报告_java学生管理系统总结报告.doc
  11. 电量统计(1)-原理
  12. setting文件详解
  13. openwrt关闭网卡端口
  14. 《这样思考,人生就不一样》/《思考的整理学》 博客思听 2010年1月
  15. apache服务器查看网络爬虫记录的方法说明
  16. 计算机微软云同步怎样安装软件,在windows10/8/7系统安装和设置OneDrive 同步文件...
  17. 【STM32F407的DSP教程】第3章 Matlab简易使用之基础操作
  18. PAT甲级真题目录(按题型整理)(转自柳神)
  19. oracle sysdate取年月日,oracle获取当前年月日时分秒季度周
  20. 最详细的Cydia使用教程------完全版。新补充Cydia1.1.1离线安装(升级)方法。

热门文章

  1. PHP实现四种排序-插入排序
  2. uri和url的区别
  3. IE盒模型和标准盒模型
  4. OpenCV中findContours函数的使用
  5. Linux内核调试技术——kprobe使用与实现
  6. SQLServer禁用、启用外键约束
  7. web farm 讨论引出
  8. Frame和Iframe横向滚动条的解决方案
  9. ubuntu14.04 访问windows目录的方法 mount.cifs方式 取代smbfs方式
  10. 关于real210开发板linux系统可能无法解析域名的问题解决方法