在学习Servlet后,我们知道了如何页面跳转和从页面获取参数等。下面要说的就是其中的页面跳转,页面跳转是开发一个web应用经常会发生的事情。比如登录成功或是失败后,分别会跳转到不同的页面。跳转的方式有两种,服务端跳转(转发)和客户端跳转(重定向)。
这两种当然是有不同之处,下面就来看看两者的区别。
转发的特点:
- 地址栏不发生变化,显示的是上一个页面的地址
- 请求次数:只有1次请求
- 根目录:http://localhost:8080/项目地址/,包含了项目的访问地址
- 请求域中数据不会丢失
代码如下图所示:
在浏览器地址栏输入http://localhost:8080/JWeb/LoginServlet,
效果如下图所示:
可以看到页面成功跳转了,但是地址栏没有发生变化。
下面再看重定向
特点:
- 地址栏:显示新的地址
- 请求次数:2次
- 根目录:http://localhost:8080/ 没有项目的名字
- 请求域中的数据会丢失,因为是2次请求
代码如下图所示: