Java 프레임워크 만들기 - JSP

자바 서블릿 JSP 연동 - Java Servlet JSP RequestDispatcher.forward, 이클립스(Eclipse)

carrotweb 2021. 4. 6. 23:14
728x90
반응형

1. "Project Explorer"의 "test2"에서 오른쪽 버튼을 클릭하여 컨텍스트 메뉴 [New > Servlet]를 클릭합니다.

"Create Servlet"창이 나타납니다. Servlet를 생성하기 위해 "Java package"와 "Class name"를 입력합니다.

"Java package"에는 "test2" 프로젝트의 "Group Id"인 "com.home.project"와 프로젝트명을 결합하여 입력합니다. "com.home.project.test2"을 입력합니다.

패키 지명은 클래스 파일들이 저장되는 곳으로 다른 패키지들과 구분되는 고유 값이어야 합니다.

"Class name"은 서블릿명입니다. "TestServletJsp"을 입력합니다.

입력하고 "Next >"버튼을 클릭합니다.

서블릿 설명, 파라미터 설정, 웹 경로를 설정합니다.

"Description"은 서블릿에 대한 설명을 입력합니다.

"URL mappings"의 "/TestServletJsp"를 선택하고 "Edit..."버튼을 클릭한 후 "Pattern"를 "/testservletjsp"로 입력합니다. 웹 경로를 소문자로 변경하였습니다. 변경하지 않아도 됩니다. "OK"버튼을 클릭합니다.

"Next >"버튼을 클릭합니다.

서블릿의 인터페이스를 추가하고 메서드들을 체크합니다.

메서드 중에서 "service"를 추가 체크한 후 "Finish"버튼을 클릭합니다. doGet과 doPost는 체크를 하지 않아도 됩니다.

Servlet Life Cycle(생명주기)는 간단하게 설명하면

init(최초 한번 실행) -> service -> doGet/doPost -> destory 순으로 이루어집니다.

기본적으로 "service"에서 로직을 처리한 후 "doGet/doPost"에서 처리하여 출력하는데, "service"에서 "RequestDispatcher"를 통해 Jsp파일을 호출하여 처리할 수 있습니다.

2. "test2" 프로젝트의 "Java Resources"에서 "src/main/java"에 "com.home.project.test2" 패키지에 "TestServletJsp.java" 파일이 생성됩니다.

"service"메서드에 "RequestDispatcher"를 이용하여 Jsp파일을 연결하고 "forward"로 전달하게 코딩하고 저장합니다.

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	request.setAttribute("name", "홍길동");
	RequestDispatcher requestDispatcher = request.getRequestDispatcher("/WEB-INF/jsp/testservlet.jsp");
	requestDispatcher.forward(request, response);
}

 

반응형

 

3. "test2" 프로젝트의 "src > main > webapp > WEB-INF"에서 오른쪽 버튼을 클릭하여 컨텍스트 메뉴 [New > Folder]를 클릭합니다.

 

"New Folder"창에서 폴더명으로 "jsp"입력한 후 "Finish"버튼을 클릭합니다.

 

4. "test2" 프로젝트의 "src > main > webapp > WEB-INF > jsp"에서 오른쪽 버튼을 클릭하여 컨텍스트 메뉴 [New > JSP File]를 클릭합니다.

 

"New JSP File"창에서 파일명으로 "testservlet.jsp"입력한 후 "Finish"버튼을 클릭합니다.

 

5. "test2" 프로젝트의 "src > main > webapp > WEB-INF > jsp"에 "testservlet.jsp" 파일이 생성됩니다.

 

jsp파일에서 "TestServletJsp.java"의 "service"에서 "request.setAttribute"로 설정한 값을 사용하기 위해 "request.getAttribute"을 이용하여 코딩하고 저장합니다.

<%=request.getAttribute("name")%>님, 안녕하세요.

 

6. "Servers"탭에서 "Tomcat8"를 선택하고 "start"버튼(start the server)을 클릭합니다. 웹 브라우저에서 "http://localhost:8080/test2/testservlet.jsp"입력합니다.

 

728x90
반응형