隨著現代網絡應用的發展,JavaScript(簡稱JS)和Java的對接變得越來越常見。JavaScript主要用于前端開發,而Java用于后端開發,這意味著JS和Java的對接可以實現前后端的無縫銜接。
在JS和Java的對接中,最常見的場景是JS調用服務器上的Java接口。這個過程涉及到JS向服務器發送請求,服務器處理請求并返回數據,再由JS將數據展示在頁面上。以下是一個簡單的例子:
const xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (this.readyState === 4 && this.status === 200) { const response = JSON.parse(this.responseText); console.log(response); } }; xhr.open("GET", "http://example.com/api/users"); xhr.send();
這段JS代碼向"http://example.com/api/users"發送了一個GET請求,并在服務器返回數據后將響應解析為JSON格式并輸出到控制臺。
下面是服務器端Java代碼的示例:
@RestController @RequestMapping("/api") public class UserController { @GetMapping("/users") public List<User> getUsers() { List<User> userList = new ArrayList<>(); // 獲取用戶列表代碼 return userList; } }
這個簡單的Java代碼演示了如何創建一個RESTful接口,用于返回用戶列表數據。@RestController和@RequestMapping注解用于指定路由和處理程序。@GetMapping注解用于指定HTTP GET請求處理程序。在這個示例中,我們只是返回了一個空列表,但在實際應用中,開發人員需要在方法中編寫代碼,從數據庫或其他數據源中獲取用戶列表數據,并將數據轉換為需要的格式。
當JS發送請求時,服務器端代碼將響應并返回數據。JS代碼可以解析響應并使用其中的數據,無需刷新頁面。通過這種方式,JS代碼可以與服務器交互并獲取需要的數據,實現完整的Web應用程序。