1、请求的转发
在服务器里面资源跳转的方式。将请求再转发到其他地址,转发过程中使用的是同一个request请求,转发后浏览器地址栏内容不变。 请求转发的过程发生在服务器内部,只能从当前应用内部查找相应的转发资源,而不能转发到其它应用的资源。
转发时(共享同一个request和response),两个servlet的访问顺序,传参:
1)访问顺序: 第1个GET方式,第2个走的是doGet()。 第1个POST方式,第2个走的是doPost()。
2)在第1个servlet转发代码之后,不能再调用类似 转发或重定向 的代码。否则会500异常,因为转发之后,不能再回到此处进行跳转到别的页面
3)读取页面参数: 由于是共享同一个request,请求页面的参数在两个servlet当中都可以读取出来。---请求页面中,GET方式的参数是在地址栏中通过"?name=Jack&age=22"上传,POST方式是通过<input>组件上传的。
4)两个servlet之间传参: 在第1个中request.setAttribute(),在第2个中request.getAttribute();
2、实现方法
转发通过方法forward(request,response)实现,他能将request对象转发到其他的servlet程序内,它能够共享request对象里面的资源。
具体实现方式如下:
req.getRequestDispatcher("/002").forward(request,response);