【问题标题】:How to submit a form from a html file to a java file? [duplicate]如何将表单从 html 文件提交到 java 文件? [复制]
【发布时间】:2011-08-20 07:59:09
【问题描述】:

我正在实现一种网络搜索引擎(使用 Lucene 库),到目前为止,我所拥有的是一个 html 文件,其中包含一个小表单,其中包含一个输入文本到 inter 关键字和一个提交按钮来发送表单,重点是我得到的代码是一个 .java 文件(需要其他 .jar 文件),我是 .jsp 的新手以及 html 和 java 如何相互连接,我的问题很清楚:如何从 html 提交表单文件到java文件,java如何从html文件中接收数据? 我记得在 php 中我们做例如 $_GET['keyword'] 但在 java 中不知道。

感谢您的支持, 问候。

【问题讨论】:

  • 我不想粗鲁,但这是一个非常大的问题,离“我如何编写计算机程序?”仅一步之遥。这不是几个段落就能回答的问题。我认为你需要一本关于 JSP 和 servlet 的书。

标签: java html jsp lucene search-engine


【解决方案1】:

一个小问题,一个大答案!

要了解的主要内容是,您当前的图片中缺少一大块:在 HTML 和 Java 之间,您需要一个 Web 服务器。并且不仅仅是一个 Web 服务器,一个知道如何运行 Java 程序的 Web 服务器 - 这称为 servlet 引擎。令人高兴的是,其中有很多,很容易获得。您应该获取TomcatJetty;两者都非常好(如果您要选择 Jetty,我会建议使用版本 6 而不是版本 7 - 长篇大论)。

一旦你有了你的网络服务器,你需要给它你的 HTML 和你的 Java,这样它就可以将 HTML 提供给客户端,并运行 Java。为此,您可以将它们打包到一个名为“web 存档”或 WAR 的东西中,该文件具有特定的布局,以及一个名为 web.xml 的配置文件。它可能会帮助您查看一个非常小的example WAR

这里要理解的关键是 servlet 引擎将如何调用您的 Java 代码。为此有一个标准框架,您可以在其中将代码编写为称为 servlet 的东西。 Oracle 有一个关于这些的tutorial,但它相当密集; servlet 确实比它可能建议的要简单得多。我上面提到的示例 WAR 有一个非常简单的示例,其中包含使其工作所需的配置。你会发现 javax.servlet.http 包的文档是必不可少的——在那里可以找到大多数 servlet 可以使用的有用 API(在父 javax.servlet 包中也有重要的东西)。

在安装 servlet 引擎、编写 servlet 并将其打包为 WAR 之后,您需要弄清楚如何启动 servlet 引擎并将 WAR 提供给它。在那里,恐怕我要离开你阅读文档了。我认为每个人的做法都略有不同!

无论如何,这应该会让你继续前进。这确实是 Java Web 编程世界中最基本的部分。除了 servlet,您还应该了解一些称为 JSP 的东西。在那之后,有一个巨大而复杂的空间,称为 Web 框架,旨在简化 Web 应用程序的编写。每个人都有自己的最爱——我的叫Stripes,它非常简单,但确实能完成任务。之后,您可能还想查看更复杂的框架,例如 JSFWicket,然后可能是“全栈”框架,例如 SpringSeam,或者其他更专注的服务器 -诸如Enterprise JavaBeans之类的辅助技术。或者您可能只想坚持使用 servlet!

【讨论】:

    【解决方案2】:

    创建一个servlet 类并将其映射到特定的 URL 模式,例如/servleturl。让 HTML <form> 操作指向该 URL。

    <form action="servleturl" method="post">
        <input type="text" name="foo" />
        <input type="text" name="bar" />
        <input type="submit">
    </form>
    

    在 servlet 类中,重写 doPost() 方法并通过 request.getParameter() 收集提交的值。

    String foo = request.getParameter("foo");
    String bar = request.getParameter("bar");
    // ...
    

    然后,在同一个 servlet 方法中,根据其文档导入、实例化和/或调用该 Java 程序。例如,

    YourProgram program = new YourProgram();
    program.process(foo, bar);
    // ...
    

    【讨论】:

      【解决方案3】:

      您需要能够运行 Java Servlet 和 Java Server Pages 的东西。

      对于规范检查 Tomcat 的开源实现,例如:http://tomcat.apache.org

      然后您可以实现自己的 servlet 并覆盖适当的方法。您可能想从这里开始了解一下:http://java.sun.com/developer/onlineTraining/Programming/BasicJava1/servlet.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-06
        • 2015-01-10
        • 1970-01-01
        • 2018-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多