转发和重定向的区别

(1)问题分析

考官主要是针对你对javaweb页面跳转技术的考核,如:获取servlet转发和响应重定向的方式?

(2)核心答案解析

1)重定向是浏览器发送请求并受到响应以后再次向一个新地址发请求;转发是服务器受到请求后为了完成响应转到一个新的地址。

2)重定向中有两次请求对象,不共享数据;转发只产生一次请求对象且在组件间共享数据。

3)重定向后地址栏地址改变;而转发则不会。

4)重定向的新地址可以是任意地址;转发的新地址必须是同一个应用内的某地址。

(3)问题扩展

获取servlet的转发和响应重定向的方式?

转发的方法:

1)通过HttpServletRequest的getRequestDispatcher()方法获得

2)通过ServletContext的getRequestDispatcher()方法获得

重定向的方法:

3)HttpServletResponse的sendRedirect()方法。

(4)结合项目使用

重定向可以实现图片的异步上传。

一般访问web-inf下面文件,只能通过转发来实现

点击此处
隐藏目录