更新时间: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对请求处理完毕后,再将响应消息回送给客户端浏览器并显示。
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27