当前位置: 首页 > 知识库问答 >
问题:

使用getRequestDispatcher理解JSP代码行

殳飞扬
2023-03-14
req.getRequestDispatcher("jsp/viewArticles.jsp").forward(req, resp);

因此,我们获取请求的调度程序,并提供路径。好的,到目前为止。现在我们将reqresp转发给它。

现在我迷路了:我们从这个req获取RecestDispatcher,所以RecestDispatcherreq的成员方法。那么为什么我们需要将req本身转发到这个RecestDispatcher呢?这个方法不能仅仅使用this来访问req吗?

我发现了一个与我相同的问题,但它不理解解释,这就是为什么我作为一个绝对的servlet初学者再次提出这个问题。

getRequestDispatcher()和forward()方法是如何工作的?

只是为了澄清,reqresp的类型分别是HttpServletRequestHttpServlet响应


共有2个答案

萧自珍
2023-03-14

RequestDispatcher的JavaDoc中有一个提示:

The difference between this method and ServletContext.getRequestDispatcher(java.lang.String) is that this method can take a relative path.

因此,本质上,您可以通过ServletContext请求RequestDispatcher,在这种情况下,您只能使用绝对路径,或者您可以通过ServletRequest请求它,在这种情况下,您可以使用相对于该请求路径的路径。

吴嘉禧
2023-03-14

从API deginition开始,RequestDispatcher接收来自客户端的请求并将其发送到服务器上的任何资源(如servlet、HTML文件或JSP文件)的对象。servlet容器(又名Tomcatt)创建RequestDispatcher对象,该对象用作位于特定路径或由特定名称给定的服务器资源的包装器

getRequestDispatcher()方法可从当前请求对象或当前Servlet上下文对象获得。使用req。getRequestDispatcher(path)用于相同上下文中的相对路径,并首选ServletContext。获取绝对路径的getRequestDispatcher(path)。

在转发之前,您可以将参数对象作为属性添加到req中。将setAttribute(“key”,valueObject)方法设置为服务器端的前向参数。请求处理来自客户机的数据,您可以完成它,响应将处理页面、标题、cookie等。

希望这能有所帮助

 类似资料:
  • 本部分试图从专题和业务流程的角度来剖析 Neutron 代码,以便理解如此设计的内涵。

  • 本文向大家介绍SpringBoot使用Jsp的示例代码,包括了SpringBoot使用Jsp的示例代码的使用技巧和注意事项,需要的朋友参考一下 本文是简单总结一下SpringBoot使用Jsp的Demo。 前言 在早期做项目的时候,JSP是我们经常使用的java服务器页面,其实就是一个简化servlet的设计,在本文开始之前,回顾一下jsp的几大对象,如图。 而在现在SpringBoot框架流行的

  • 我是spring MVC的新手。我需要在jsp中编写java代码(虽然这不是一个好的实践,但我没有其他选择)。我的Jsp现在是 但它给出了一个错误“org.apache.jasper.JasperException:无法为JSP编译类:”。有人能帮忙吗?? 包含的标题是 org.apache.jasper.compiler.DefaultErrorHandler.javac错误(andler.ja

  • 问题内容: 我是Java EE的新手,我知道类似以下三行内容 这是一种古老的编码方式,在JSP版本2中,存在一种避免在JSP文件中使用Java代码的方法。什么是替代JSP 2行,该技术称为什么? 问题答案: 自从2001年标签库(例如JSTL)和EL(表达语言,那些东西)的诞生以来,在JSP中确实不建议使用scriptlet(那些东西)。 scriptlet的主要缺点是: 可重用性:您无法重用sc

  • 如何在c: if条件中使用"ft"的值。 以下是我在JSP中使用代码的方法(示例代码) 我的任务说明:需要减去两个日期并检查条件是否大于48小时,该行应高亮显示为绿色,否则精细(无变化)。 所以我从数据库中获取值,并在JSP页面中进行验证,以根据条件突出显示行。

  • 我正在学习React.js。我熟悉下面的代码 但我得到了以下代码作为问题的解决方案。 我不能理解上面的代码。谁能帮我理解一下? 这里的是什么? 我知道播音员。为什么我在这里传递它和这里