[英]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.