繁体   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