色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

js和java后臺交互 不用jsp

魏秀燕1年前8瀏覽0評論

當我們開發(fā)一個網站或者一個應用時,經常需要使用到JavaScript和Java后臺的交互。這里我們介紹一些方法來實現這種交互,而不依賴于jsp來實現。

一、使用Ajax進行交互

function ajax(url, method, data, success, error) {
var xhr = new XMLHttpRequest();
if (method === 'GET') {
xhr.open('GET', url, true);
xhr.send();
} else if (method === 'POST') {
xhr.open('POST', url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(data);
}
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
success && success(xhr.responseText);
} else {
error && error(xhr.statusText);
}
}
}
 }

上面是一個簡單的封裝的ajax函數,此函數可以向服務端發(fā)送請求,并返回相應的結果。

二、使用WebSocket來實現實時通訊

var ws = new WebSocket("ws://localhost:8080");
ws.onopen = function () {
console.log('WebSocket已連接');
}
ws.onmessage = function (evt) {
console.log('收到WebSocket消息:' + evt.data);
};

上面的代碼展示了如何使用WebSocket對象來實現實時通訊,服務端和客戶端可以通過WebSocket對象來進行雙向通訊。

三、使用HttpURLConnection和OkHttp進行交互

// 使用HttpURLConnection
URL url = new URL("http://localhost:8080");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
if (connection.getResponseCode() == 200) {
InputStream inputStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
// 使用OkHttp
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("http://localhost:8080").build();
Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
String result = response.body().string();
System.out.println(result);
}

上述代碼展示了如何使用Java中的HttpURLConnection和OkHttp庫來實現與服務端的交互。

總結:以上幾種方式可以幫助我們實現JavaScript和Java后臺的交互,不僅限于jsp的方法。使用ajax發(fā)送請求可以實現異步請求和單頁面的應用,使用WebSocket可以實現實時通訊,而使用HttpURLConnection和OkHttp可以實現Java后臺與其它語言的交互。