servlet的请求转发和重定向

1、调用的方式不同

转发:request.getRequestDispatcher(url).forward(request,reponse);====路径不用加上下文

重定向:response.sendredirect(url);=====路径需要加上下文


2、请求次数不同

转发:1次

重定向:2次


3、跳转方式不同

转发:服务器内部跳转,浏览器不知

重定向:告知浏览器:302 设置location  发生二次跳转


4、地址不同

转发:浏览器请求地址不变

重定向:浏览器的请求地址发生改变


5、参数不同

转发:参数保留

重定向:参数丢失


6、跨域不同

转发:只能在同一个项目中的url跳转

重定向:可以跨域     跳到项目以外的路径


你可能感兴趣的:(Servlet)