● FrontController(프론트 컨트롤러)
사용자의 모든 요청을 받아내기위해 필요한 컨트롤러
새로운 프로젝트를 Dynamic Web Project로 만들어준다.
자바 소스 폴더에 com.exam.app 패키지를 만들고 그 안에 controller와 domain.common 패키지를 만들어 준다.
그리고 webapp의 WEB-INF 안에 view 폴더를 만들고 프로젝트에 우클릭으로 JAVA EE Tools를 선택해 generate로 web.xml 파일을 만들어 준다.
MET-INF의 context.xml 파일은 이전에 만들었던 05프로젝트에서 가져와 복사 붙여넣기 해줬다.
FrontController.java 파일로 들어가
마우스 우클릭해서 source의 override/implement에서 init과 service를 체크하여 받아준다.
init을 service보다 위로 올려준다.
맵도 작성해준다.
빨간 줄이 그인 SubController를 눌러 interface로 SubController를 만들어준다.
실행에 받을 request와 response를 작성해준다.
book 패키지 안에 book을 위한 CRUD 클래스들을 만들어 준다.
Book 안에 만든 클래스들에 각각 implements SubController 해줘서 SubController의 코드들을 받아준다.
그리고 만들어진 5개 클래스에 출력을 위한 System.out.println("BookAddController's execute() invoke..");를 각각 복사 붙여넣기 해준다.
FrontController의 init에 구현한다.
프로젝트를 실행시키면 콘솔창에 이렇게 뜨게 된다.
● null 체크
null체크를 위해 FrontController의 service 안에 if문으로 구현해준다.
그리고 init 안에 HomeController로 첫 페이지 컨트롤러를 만들어준다.
빨간 줄을 눌러 create를 해준다.
view 폴더에 index.jsp 를 만들어준다.
위에서 만든 HomeController 를 index.jsp와 연결시켜준다.
< 실행화면 >
● 인코딩
한글이 깨지는 것을 방지하기 위한 인코딩을 구현해볼 것이다.
새로운 폴더로 Filter를 만드록 안에 코드를 작성한다.
그리고 web.xml 파일에 Filter를 작성한다.
HomeController에 한글문자를 작성해본다.
그리고 index.jsp 에 출력시켜본다.
같은 곳에 FrontController servlet을 작성해준다.
그리고 view 폴더 안에 새로운 tamplate이라는 jsp 파일을 만들어준다.
webapp 안에 resources 폴더를 만들고 그 안에 static 폴더를 만든다.
그리고 그 안에 이미지 등을 넣기 위한 asssets폴더와 css파일을 위한 css폴더, js파일을 위한 js폴더를 만든다.
common.css에 스타일을 작성한다.
index.jsp 파일로 돌아와서 css와 js를 연결시켜준다.
web.xml에 Defalut Servlet을 작성해준다.
static 폴더 밑에 jsp 폴더를 만들고 footer, link, nav, topHeader jsp 파일을 만들어준다.
html 코드는 다 없애준다.
'IT수업 > JSP_SERVLET' 카테고리의 다른 글
IT 수업 18주차 (106) MVC 패턴 3 (도서 add) (0) | 2024.04.22 |
---|---|
IT 수업 18주차 (105) MVC 패턴 2(코드) (0) | 2024.04.22 |
IT 수업 17주차 (103) 서블릿에서 DB연결 (1) | 2024.04.19 |
IT 수업 17주차 (102) Listener (2) | 2024.04.19 |
IT 수업 17주차 (101) Filter 2 (0) | 2024.04.19 |