转发
转发是发生在服务器内部的资源跳转,客户端访问服务器发生转发只有一次请求,并且访问路径(即浏览器地址栏中路径不变),转发由request对象发出。
使用
RequestDispacher dispacher = request.getRequest.Dispacher("转发路径");
dispacher.forward(request,responce);
链式编程
request.getRequest.Dispacher("转发路径").forward(request,responce);
注意:
1. 转发的路径不带虚拟目录
2. 转发是一次请求,可以使用request域对象共享数据
3. 转发只能访问本服务器内资源
重定向
重定向跳转的资源可以在服务器内部也可以在服务器外部,重定向地址栏发生变化,重定向是两次请求,由responce对象发出。
使用
responce.sendRedirect("重定向路径");
注意
1. 重定向是两次请求,所以不能通过request数据域共享数据。
2. 重定向可以跳转到外部服务器的资源
responce.senRedirect("https://www.baidu.com");
3. 重定向路径带虚拟路径
路径填写规则
访问路径由浏览器发出带虚拟路径,由服务器发出不带虚拟路径