查看: 57|回复: 0

Java请求和响应:实现请求重定向

[复制链接]

4

主题

9

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2023-7-20 19:09:41 | 显示全部楼层 |阅读模式
 在某些情况下,针对客户端的情况,一个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所示。




图10-13 sendRedirect()方法的工作原理
  在图10-13中,当客户端访问Servlet1时,由于在Servlet1中调用了sendRedirect()方法将请求重定向到Servlet2,因此,浏览器收到Servlet1的响应消息后,立刻向Servlet2发送请求,Servlet2对请求处理完毕后,再将响应消息回送给客户端浏览器并显示。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表