-1
基本的には、サーバーに文字列を送信できる単純なHTMLページを作成しようとしています。サーバーはlocalhost上のいくつかのポートで実行され、その文字列を受け取ります。JSクライアントからPOST要求を受け取ることができるJavaサーバー
私はPOSTリクエストを処理できる単純なサーバー用codeを見つけた:
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();
}
}
しかし、私は、私はさらに何をすべきかわかりません。だから、私はJSスクリプトでの.htmlファイルを開く、私のサーバーを始めている
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);
}
、およびスクリプトは、サーバーに接続します。私は、非同期リクエストを送信することができXMLHttpRequest
を使用する必要があることを学びました。どのようにすれば、スクリプトが送信するメッセージを処理できますか?どのようにデコードして印刷できますか?そして、最終的には、正しい方法でメッセージ送信者を書いていますか?
私はあなたがこれを "ベアメタル"百万年に開発すると思います... javaサーブレットについて読んでください。 Javaには軽いアーキテクチャー(非サーブレット)のhttpframeworksはほとんどありませんが、サーブレットAPIは開発者を起動するのに最も簡単です –
Tomcatなどを使って通常のサーバーアプリケーションを作成します –
[フォーム送信のようなJavaScript投稿要求] ://stackoverflow.com/questions/133925/javascript-post-request-like-a-form-submit) – Amir