gpt4 book ai didi

java - JSP 中如何使用 .do 文件在 Java 和 Struts 框架之外的前端 Web 表单之间传递数据?

转载 作者:行者123 更新时间:2023-11-30 06:51:19 25 4
gpt4 key购买 nike

我将 JSP 与 Apache Tomcat 服务器一起用于 Web 项目。

我不明白.do 文件或它们是如何使用的,但是I see them come up在描述如何做我需要做的事情的答案中。

到目前为止我的理解是这样的:

  1. Struts 框架使用.do 文件,所以很多人认为它们是相互关联的
  2. .do 文件在 Java Servlet Specification 中描述因此不特定于 Struts
  3. .do 文件(我对此很感兴趣)的至少一个主要用例是用于在 HTML/JS 表单和 Java/JSP 之间轻松传递数据。

如果我创建一个表单,例如我链接的第一个答案中的表单:

  <form action="MyServlet.do" method="post">
<input type="text" name="nameThree" value="Enter a Name" onClick="if(this.value == 'Enter a Name'){this.value = '';}" />
<input type="submit">
</form>

它将抛出 404 错误,除非我创建它提到的 .do 文件。一旦创建了 .do 文件,代码就会运行,但似乎没有做任何事情,因为缺少一些部分。

我不确定 .do 文件是否应该为空,或者我是否应该将代码放入其中,等等。

因此我的问题是:在 Struts 框架的上下文之外,如何在 JSP 中使用 .do 文件在 Java 和前端 Web 表单之间传递数据?

最佳答案

我意识到这可能有点难以解释,所以我会尽我所能。

.do"扩展(在 URL 请求中)最常见于基于 struts 1 的 Web 应用程序中。也就是说,它的工作方式是将 webapp 配置为将带有 .do 扩展名的 http 请求路由到 strut servlet(通常在 web.xml 中)。这就是 struts 做事的方式(将 http 请求映射到表单、识别 post 与 get 请求、转发到操作类等)。

在非 struts 应用程序中,您的 http 请求需要路由到要提供服务的资源。您可以使用 servlet 执行此操作。或者,您可以只返回静态文件(如果您编写自己的 file.do),但 Tomcat 不会将该文件扩展名识别为需要翻译和编译的 JSP(因此 Tomcat 给您 404)。

您可能仍需要配置您的服务器 (tomcat) 以提供 HTML 页面。 JSP 是您可以在服务器上创建动态 HTML 的众多方法之一。您可以做很多事情(在今天的标准中被认为是不良做法,例如建立数据库连接、进行休息调用等)。最后,您可以在 JSP 中编写 Java。

如果您正在构建一个简单的 Web 应用程序,我建议使用一个不同的更简单的框架,如 Spring Boot,以使其更容易。如果你绝对想做 JSP,那么确保你的 http 请求总是获取 .jsp 文件。如果您需要特殊的扩展,您需要将它们映射到一个 servlet 并在 web.xml 中编写/配置它。

希望这对您有所帮助!

关于java - JSP 中如何使用 .do 文件在 Java 和 Struts 框架之外的前端 Web 表单之间传递数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40311108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com