【问题标题】:Java server that can get POST requests from JS client可以从 JS 客户端获取 POST 请求的 Java 服务器
【发布时间】:2017-06-08 04:11:27
【问题描述】:

基本上,我只是想创建一个简单的 HTML 页面,可以将一串文本发送到服务器。服务器在本地主机上的某个端口上运行并接收该字符串。

我找到了code 一个可以处理 POST 请求的简单服务器:

public static void main(String args[]) throws Exception
{
    ServerSocket s = new ServerSocket(8080);

    while (true) {
        Socket remote = s.accept();
        System.out.println("Connected");
        BufferedReader in = new BufferedReader(new InputStreamReader(remote.getInputStream()));
        PrintWriter out = new PrintWriter(remote.getOutputStream());

        String str = ".";

        while (!str.equals("")) {
            str = in.readLine();
            if (str.contains("GET")) {
                break;
            }
        }

        System.out.println(str);

        out.println("HTTP/1.0 200 OK");
        out.println("Content-Type: text/html");
        out.println("Access-Control-Allow-Origin: null");
        out.println("");
        out.flush();
    }
}

但我不知道我应该进一步做什么。我了解到我需要使用可以发送异步请求的XMLHttpRequest

function sendData(data) {
    var XHR = new XMLHttpRequest();
    var urlEncodedData = "message";
    var urlEncodedDataPairs = [];
    var name;
    for (name in data) {
        urlEncodedDataPairs.push(encodeURIComponent(name) + '=' + encodeURIComponent(data[name]));
    }
    urlEncodedData = urlEncodedDataPairs.join('&').replace(/%20/g, '+');
    XHR.open('POST', 'http://localhost:8080', true);
    XHR.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    XHR.send(urlEncodedData);
}

所以,我正在启动我的服务器,使用 JS 脚本打开 .html 文件,然后脚本连接到服务器。那么我该如何处理脚本发送的消息呢?如何解码和打印?而且,最终,我是否以正确的方式编写消息发送者?

【问题讨论】:

  • 我猜你将在“裸机”上开发这个百万年......阅读有关 java servlet 的信息。 Java 很少有“轻架构”(非 servlet)的 httpframeworks,但 servlet API 是最简单的入门开发者
  • 使用 Tomcat 或类似的东西来创建普通的服务器应用程序

标签: javascript java ajax post xmlhttprequest


【解决方案1】:

如果您只是尝试访问您为测试和继续构建而创建的端点,请尝试使用Postman。您应该能够为您的 POST 请求编写自定义正文。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-02
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    • 2021-08-04
    相关资源
    最近更新 更多