forward转发
forword处理流程:
1清空Response存放响应正文数据的缓冲区。
2如果目标资源为Servlet或JSP,就调用它们的service()方法,把该方法产生的响应结果发送到客户端;如果目标资源文件系统中的静态HTML文档,就读取文档中的数据把它发送到客户端。
forword处理特点:
1由于forword()方法先清空用于存放响应正文的缓冲区,因此源Servlet生成的响应结果不会被发送到客户端,只有目标资源生成的响应结果才会被发送到客户端。
2如果源Servlet在进行请求转发之前,已经提交了响应结(flushBuffer(),close()方法),那么forward()方法抛出IllegalStateException。为了避免该异常,不应该在源Servlet中提交响应结果。
测试代码
servlet1 请求转发至servlet2
Servlet1
Servlet2