何时使用 forward()、include() 和 sendRedirect()?

sen*_*oux 1 servlets jakarta-ee

我是 Java EE env 的新手,我阅读了很多课程来了解这三种方法之间的区别,但其中大部分都包含定义......我需要一个具体的例子, 何时使用这三种方法中的每一种?

  • 发送重定向()
  • 向前()
  • 包括()

小智 6

以下几点可以帮助您了解何时使用哪种方法:

发送重定向()

这适用于客户端。
它总是发送一个新的请求。
它可以在服务器内部和外部使用
示例:response.sendRedirect("servlet2");

向前()

forward() 方法在服务器端工作。
它将相同的请求和响应对象发送到另一个 servlet。
它只能在服务器内工作。
示例: request.getRequestDispacher("servlet2").forward(request,response);

包括()

include 方法用于在翻译阶段包含文件。
include 指令的一个很好的例子是包含具有多页内容的通用页眉和页脚。
或者在输入无效的登录详细信息时加载相同的登录页面


Jaf*_*Ali 5

何时使用此方法。

发送重定向

当您希望客户端启动不完全依赖于先前操作的全新请求时。

向前

这是服务器端处理,客户端没有任何指示。有两个条件一:请求被完全处理并转发到像JSP这样的诱人技术来生成视图。二:请求需要由另一个 Servlet 进一步处理,由该 Servlet 决定最终输出。

包括

这可用于将请求发送到另一个 servlet 以进行额外处理,但最终输出将由当前 servlet 决定。

希望这可以帮助。