이 단계에서는 검색 기능을 처리하기 위한 JavaScript 코드를 추가하는 방법을 배우게 됩니다.
index.jsp 파일의 <head> 섹션 안에 다음 JavaScript 코드를 추가합니다:
<script>
function search() {
var searchText = document.getElementById("searchInput").value;
console.log("Search Text:", searchText); // Output search text to console
var xhr = new XMLHttpRequest();
xhr.open("GET", "/UserServlet?username=" + searchText, true); // Send GET request and append username as parameter to URL
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var response = JSON.parse(xhr.responseText);
displayResults(response);
}
};
xhr.send();
}
function displayResults(results) {
var searchResultsDiv = document.getElementById("searchResults");
searchResultsDiv.innerHTML = "<p>Search Results:</p>";
// Check if results is an array
if (Array.isArray(results)) {
// Loop through each user object in the results array
results.forEach(function (user) {
// Create a new div element for displaying user information
var userDiv = document.createElement("div");
userDiv.className = "user-info"; // Add a class for styling
// Add user information to the new div element
userDiv.innerHTML = `
<p>User ID: ${user.userId}</p>
<p>User Name: ${user.userName}</p>
<p>User Gender: ${user.userGender === 1 ? "Male" : "Female"}</p>
<p>User Age: ${user.userAge}</p>
<p>User Nation: ${user.userNation}</p>
<p>User Email: ${user.userEmail}</p>
<p>User Phone: ${user.userPhone}</p>
<p>User Address: ${user.userAddr}</p>
`;
// Append the new div element to the search results div
searchResultsDiv.appendChild(userDiv);
});
} else {
// If results is not an array, display corresponding message
searchResultsDiv.innerHTML = "<p>No results found</p>";
}
}
</script>
이 JavaScript 코드는 검색 기능을 처리합니다. 사용자가 "Search" 버튼을 클릭하면 search() 함수가 호출되어 검색 텍스트를 매개변수로 /UserServlet에 AJAX 요청을 보냅니다. 서버에서 반환된 응답은 displayResults() 함수를 사용하여 파싱되어 searchResults div 에 표시됩니다. 2. index.jsp 파일을 저장합니다.
이제 JavaScript 를 사용하여 AJAX 요청의 구현을 완료했습니다. 프로젝트를 실행하고 검색 기능을 테스트할 수 있습니다.