操作地点:浏览器
response.sendRedirect(url);
操作地点:服务器
当前请求未完成,服务器调用另一个程序继续完成整个请求
总结:
* 请求次数
* 重定向:请求2次,tomcat创建了两个request对象
* 转发:请求1次,tomcat创建了2个request对象
* request --> org.apache.catalina.connector.RequestFacade -- HttpServletRequest --ServletRequest
* request --> org.apache.catalina.core.ApplicationHttpRequest
* class ApplicationHttpRequest extends HttpServletRequestWrapper {
* public class HttpServletRequestWrapper implements HttpServletRequest {
* ApplicationHttpRequest -- HttpServletRequestWrapper -- HttpServletRequest
* 将第一个request中的内容,拷贝给第二个request。值相同
* 浏览器地址栏是否修改
* 重定向:修改,看到跳转后页面的内容
* 转发:没有修改,看到的转发后最后一个servlet响应的内容
* request设置的值,是否共享
* 重定向:数据不共享
* 转发:数据共享
原文:https://www.cnblogs.com/linhongwenBlog/p/14612726.html