更新时间:2023-02-14 来源:黑马程序员 浏览量:

在某些情况下,针对客户端的情况,一个Servlet类可能无法完成全部工作。这时,可以使用请求重定向完成这一工作。请求重定向指Web服务器接收到客户端的请求后,可能由于某些条件的限制,不能访问当前请求URL所指向的Web资源,而是指定了一个新的资源路径,让客户端重新发送请求。
为了实现请求重定向,HttpServletResponse接口定义了一个sendRedirect()方法,该方法用于生成302响应码和location响应头,从而通知客户端重新访问Location响应头中指定的URL,sendRedirect()方法的完整语法如下所示:
public void sendRedirect(java.lang.String location)throws java.io.IOException
在上述方法代码中,参数location可以使用相对URL,Web服务器会自动将相对URL翻译成绝对URL,再生成Location头字段。
sendRedirect()方法的工作原理如图10-13所示。
方法的工作原理.jpg)
图10-13 sendRedirect()方法的工作原理
在图10-13中,当客户端访问Servlet1时,由于在Servlet1中调用了sendRedirect()方法将请求重定向到Servlet2,因此,浏览器收到Servlet1的响应消息后,立刻向Servlet2发送请求,Servlet2对请求处理完毕后,再将响应消息回送给客户端浏览器并显示。
全国13城校区全覆盖|黑马程序员AI大模型开发(Python),就近学习、全国就业
2026-04-08黑马程序员AI大模型开发(Python)|大厂共建+实战赋能,学完即具备企业项目能力
2026-04-08黑马程序员AI大模型开发(Python)|5阶段体系化教学,从入门到精通全覆盖
2026-04-08黑马程序员AI大模型开发(Python)|培养企业应用型人才,适配行业核心需求
2026-04-08黑马程序员AI智能应用开发|上市品牌背书,大厂联合研发,打造AI复合型人才
2026-04-08全国13城校区全覆盖|黑马程序员AI智能应用开发,就近学、就近就业
2026-04-08