【最近面试遇到的一些问题】forward 和redirect的区别

1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.

2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.

3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.

4.从效率来说
forward:高.
redirect:低.
时间: 2024-10-26 17:30:34

【最近面试遇到的一些问题】forward 和redirect的区别的相关文章

jsp中forward和redirect的区别(转)

一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下: request.getRequestDispatcher("new.jsp").forward(request, response);   //转发到new.jsp response.sendRedirect("new.jsp");   //重定向到new.jsp 在jsp页面中你也会看到通过下面的方式实现转发: <jsp:forward page="apage.jsp"

Spring MVC中页面跳转(forward or redirect)

一 处理方法返回值设置为String类,一切麻烦都没有了: @RequestMapping("/dologin") public String dologin(HttpServletRequest request, User user) { return "panel/bingo"; } 原因很简单,你返回一个String,一个字符串,这个字符串代表View的名字.你的返回值由谁来处理?答:由ViewResolver. 你告诉ViewResolver一个名字,这个名

JAVA面试题Forward和Redirect区别

1.从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址. redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL. 2.从数据共享来说 forward:转发页面和转发到的页面可以共享request里面的数据. redirect:不能共享数据. 3.从运用地方来说 forward:一

JSP中forward()与sendRedirect()的区别

jsp的页面跳转有两种方法:RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法. 它们的区别是: RequestDispatcher.forward()方法仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址,他是不会改变Request的值,如果需要在下一个页面中能从中获 取新的信息的话,可以Request.setAttribute()来放置一些标志,这样从下一个页面中获取.其写法如下: try{

jsp中页面之间的跳转forward与sendRedirect的区别_JSP编程

页面之间的跳转可以通过两种方式实现:forward和sendRedirect. forward:可以在JSP页面中使用,可以在Servlet中实现. 在JSP页面中使用<jsp:forward page="目标文件"/>,例如要跳转到userlist.jsp,可以写: 复制代码 代码如下: <jsp:forward page="userlist.jsp"/> 在Servlet中使用RequestDispatcher的forward方法,要跳转

[JAVA软件工程师-面试宝典-2013最新版]

[JAVA面试宝典-2013最新版] 一. Java基础部分......................................................................................................2 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?.....2 2.Java有没有goto?....................................................

JAVA EE一年工作经验面试问题

问题描述 有Java EE 一年开发经验的面试时一般会问到哪些问题啊?这一年我主要负责项目里的后台数据处理的,前台的那些经验不多,会有影响吗? 解决方案 前台没什么,主要问你框架,我给你提供点面试题: JAVA面试题0.1如何处理并发?单例 ---共享对象 还有就是 在执行算法和存储结构的方法前加锁 一.Java基础知识1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别.区别:首字母大写就可以看出他是个类,string和8种基本类型都属于类.2.字符串的操作: 写一个方

Spring Security4.1.3实现拦截登录后向登录页面跳转方式(redirect或forward)返回被拦截界面

一.看下内部原理 简化后的认证过程分为7步: 用户访问网站,打开了一个链接(origin url). 请求发送给服务器,服务器判断用户请求了受保护的资源. 由于用户没有登录,服务器重定向到登录页面 填写表单,点击登录 浏览器将用户名密码以表单形式发送给服务器 服务器验证用户名密码.成功,进入到下一步.否则要求用户重新认证(第三步) 服务器对用户拥有的权限(角色)判定: 有权限,重定向到origin url; 权限不足,返回状态码403("forbidden"). 从第3步,我们可以知道

常见面试题汇总

转自: http://blog.csdn.net/u010509143/article/details/11812299 1.用String的方法将数据类型转换为String. 2.有一个不定长度的String,其中前面是字母,后边是数字,例如:"abcd123.456″, 要求写一个方法得到其中的数字以String的形式返回,数字保留小数点后两位,不四舍五入,截去多余小 数,例如:"abcd123.456″,得到"123.45″ 如果数字没有小数点,要得到两位为0的小数,例