两种跳转方式分别是Response和forward,两者区别如下:
一、指代不同
1、forward:是一个计算机语言指令,用于将请求转发给一个HTML文件,JSP文件,或者是一个程序段。
2、response:用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。
二、功能不同
1、forward:之前的request不变,而继续由转发后的文件或程序处理。
2、response:只提供了一个数据集合cookie,用于在客户端写入cookie值。若指定的cookie不存在,则创建。若存在,则将自动进行更新。结果返回给客户端浏览器。
三、规则不同
1、forward:如果使用了非缓冲输出的话,使用<jsp:forward>之前,jsp文件已经有了数据,那么文件执行就会出错。
2、response:负责将信息传递给用户。Response对象用于动态响应客户端请求,并将动态生成的响应结果返回到客户端浏览器中。
参考资料来源:百度百科-forward
参考资料来源:百度百科-Response对象
在JSP中跳转有两种方式
forward跳转:<jsp:forward page ="跳转页面地址">
response跳转:response.sendRedirect("跳转页面地址");
两种跳转的区别如下
forward跳转:
服务器端跳转,地址栏不改变。
执行到跳转语句后马上执行跳转,之后的代码不再执行(跳转之前一定要释放全部资源)。
request设置的属性在跳转后的页面仍然可以使用。
response跳转:
客户端跳转,地址栏改变。
所有代码执行完毕后跳转。
跳转后页面不能使用上一个页面的request。
使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。