데이터 요청을 제어하는 컨트롤러 역할을 하기위해 서블릿클래스를 생성합니다.
사용자의 요청을 JSON형태로 반환합니다.
package user;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/UserSearchServlet") // 사용자 검색 서블릿
public class UserSearchServlet extends HttpServlet { // JSON형태의 응답 생성
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8"); // 넘어온 값 인코딩 처리 설정
response.setContentType("text/html;chrset=UTF-8");
String userName = request.getParameter("userName"); // 요청에 담긴 파라미터값 저장
response.getWriter().write(getJSON(userName)); //
}
public String getJSON(String userName) { // 넘어온 JSON값을 파싱
if(userName == null) userName = "";
StringBuffer result = new StringBuffer("");
result.append("{\"result\":[");
UserDAO userDAO = new UserDAO(); // 회원정보 인스턴스
ArrayList<User> userList = userDAO.search(userName); //search 실행결과 리스트값
for(int i = 0; i < userList.size(); i++) {
result.append("[{\"value\": \"" + userList.get(i).getUserName() + "\"},");
result.append("{\"value\": \"" + userList.get(i).getUserGender() + "\"},");
result.append("{\"value\": \"" + userList.get(i).getUserEmail() + "\"}],"); //하나의 회원 형태를 배열의 원소형태로 출력
}
result.append("]}");
return result.toString();
}
}
'개인프로젝트 > JAVA CRUD' 카테고리의 다른 글
[내가 만든 프로젝트 코드 분석 | JSP게시판에 Ajax추가하기] 4. Ajax를 이용해서 서블릿과 통신하기 (0) | 2024.01.26 |
---|---|
[내가 만든 프로젝트 코드 분석 | JSP게시판에 Ajax추가하기] 2.데이터베이스 연결하기 (1) | 2024.01.26 |
[내가 만든 프로젝트 코드 분석 | JSP게시판에 Ajax추가하기] 1.조회 화면 구성하기 (0) | 2024.01.25 |