请求转发(dispatcher)与重定向(redirect)在意义和用法上有一定区别,记下笔记,加强记忆~
1、请求转发浏览器只发送一次请求,重定向则是浏览器发送了两次请求,可以在浏览器调试页面看到请求个数的区别。
2、请求转发后浏览器地址显示的是请求第一次到达的地址,不是转发后到达的地址,重定向显示最后到达的地址。
3、请求转发是在服务器内部转发出去,重定向是浏览器二次发送。
4、请求转发用的是request域对象(服务器行为),重定向用的是response域对象(客户端行为)。
5、请求转发由于是在服务器内部,不能请求本网站外的资源,重定向可以去请求在本网站外部的资源。
6、请求转发:在最终的servlet中,request对象和中转的那个request对象是同一个对象,重定向:在最终的servlet中,request对象和中转的那个request对象不是同一个对象。
7、请求转发:“/”代表当前WEB应用的根目录(WEB应用:http://localhost:8080/project),重定向:“/”代表当前WEB站点的根目录(WEB站点:http://localhost:8080/)