簡體   English   中英

如何將HTML表單數據發送到Java http服務器

[英]How to send HTML form data to Java http server

我想將一些HTML表單數據發送到我用Java編寫的程序。 我打算使用AJAX發送數據並將一些類添加到我的Java代碼中,以使其表現為http服務器。 到目前為止,我一直將php用於此類操作,但是AJAX和設置http服務器都是新手。 我一直在網上尋找指南,但是大多數頁面要么與我正在做的工作不夠相似,要么對於像我這樣的初學者來說太混亂了。

有人可以給我展示一個基本示例嗎?(1)使用AJAX發送表單元素,以及(2)用Java檢索該數據? 甚至鏈接到一個體面的指南(同時顯示兩者)將不勝感激。

我知道那里有一些示例顯示了如何進行操作(1),但是如果沒有可用的服務器,我似乎無法測試客戶端,反之亦然。

我也不確定要在Java中實現哪種服務器解決方案。 我已經准備好建議Jetty的指南,其他建議Simple的指南,然后建議websocket的指南。 我不確定如何進行。

至於(2),我假設您必須以某種方式從http請求中提取數據? 這個怎么做?

我不是在尋找完整的解決方案,也不是在尋找特定的答案。 只是一些讓我入門的東西(無論是代碼還是指南),但這與我想做的事情有關。 干杯。

由於您是Java應用程序的新手,因此我建議您使用Java Servlet,它是Java服務器的最基本類型。

這是我所有的示例代碼,其中考慮到服務器的AJAX,並在Java servlet中檢索數據。

您可以自己在Tomcat上部署該程序,但是使用某些IDE(Intellij IDEA,Eclipse,NetBeans ...)更容易。

這是我的代碼。 這些就是您所需要的,僅此而已。

Servlet.java

import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;


public class Servlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException
    {
        String text = request.getParameter("text");  //Retrieve data
        PrintWriter out = response.getWriter();
        out.println("Hello, you've typed" + text);
    }
}

的index.jsp

<%--
  Created by IntelliJ IDEA.
  User: pwwpche
  Date: 2014/4/21
  Time: 14:38
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>

    <title></title>
    <script type="text/javascript" src="bootstrap/js/jquery.min.js"></script>
    <script type="text/javascript">
        function submit(){
            var msgContent = document.getElementById("txtMessage").value;
            $.ajax({
                url: "myServlet",
                data: {
                    text : msgContent
                },
                success: function (data) {
                    alert(data);
                },
                error: function (data) {
                    console.log(data);
                }
            });
        }
    </script>
</head>
<body>
<form action="myServlet">
    <input type="text" name="mytext" id="mytext">
    <input type="submit" onclick="submit()">
</form>
</body>
</html>

web.xml中

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <servlet>
        <servlet-name>servlet</servlet-name>
        <servlet-class>Servlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>servlet</servlet-name>
        <url-pattern>/myServlet</url-pattern>
    </servlet-mapping>
</web-app>

至於如何部署,可以通過使IDE進行工作來節省能源。 由於某些網絡問題,我無法在此處上傳圖片:(但是您可以使用關鍵字“ java servlet tomcat”之類的Google來搜索。網上有大量的教程:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM