转发和重定向
转发:
request
.getRequestDispatcher("/地址").forward(request
, response
);
转发的特点:
地址栏不发生变化,显示的是上一个页面的地址请求次数:只有1次请求根目录:http://localhost:8080/项目地址/,包含了项目的访问地址请求域中数据不会丢失
servlet转发到jsp页面,可以直接用${}来用servlet里面setAttribute的内容
重定向: 重定向的特点:
地址栏:显示新的地址请求次数:2次根目录:http://localhost:8080/ 没有项目的名字请求域中的数据会丢失,因为是2次请求
疑问
问:什么时候使用转发,什么时候使用重定向? 答:如果要保留请求域中的数据,使用转发,否则使用重定向。以后访问数据库,增删改使用重定向,查询使用转发。
问:转发或重定向后续的代码是否还会运行? 答:无论转发或重定向后续的代码都会执行