Spring Framework 와 MVC 를 이용하여 미니 프로젝트를 시작했다.
HTML 은 외부 다른 HTML 을 구해왔고 이를 jsp 로 변환하는 작업을 하였다.
기본적인 구조는 지금까지는 TestController 에서 다 처리를 해주었지만
이제는 controller, service, dao 따로 구분을 하고 controller 또한 내부적으로 여러갈래로 나누기로 했다.
view 또한 쓰임새에 따라 폴더를 만들고 나누기로 하였다.
최종 결과물은 게시판인데, 이제 공통적인 html 부분의 jsp 는 따로 빼서 간단하게 처리를 하였다.
다음과 같은데, 맨 위에 Bepoz 와 게시판 이름들 그리고 맨 밑에 내려보면 싸이트의 정보 같은 란이 중복이 되기 때문에
include 폴더 안에 bottom_info.jsp 와 top_menu.jsp 를 그 코드를 따로 옮겨 닮아 주었다.
그리고 긴 코드 대신 다음과 같이 taglib prefix='c' uri=~core를 이용해서
한 줄로 간단하게 옮겨 받아왔다.
이것이 top_menu.jsp 인데, Bepoz라는 글자를 누르면 href="main" 으로 가게되는데 이것은 상대경로로 가기 때문에
내가 만약 게시판 페이지에 들어와서 누르게 된다면 pjt/board/main 이 되어버려서 내가 생각한 main 페이지로 갈 수 없을 것이다. 그래서 /main 으로 바꿔 절대경로를 만들어주니깐 localhost:8080/main 으로 들어가서 오류가 뜨게된다.
그래서 c:url 을 이용해서 context path 를 변수에 담아주어서(root로 설정했음) ${root}main 을 불러와서 정상적으로 작동되게끔 하였다. 밑의 board/main 들 또한 다 마찬가지다. value 값을 내가 원하는 url 로 할 수 있는데 c:url은 자동으로 context path 까지 붙여주기에 편하다.
하지만 이거는 sessionId 가 url 에 뜨면서 오류가 날 수 있으므로
<c:set var='root' value="${pageContext.request.contextPath}/"/> 를 사용하자.
이후에 mybatis 적용하고 이것저것했다... 글 작성하기 애매하니 첨부파일로 첨부
'공부 기록들' 카테고리의 다른 글
2020.04.27 미니 프로젝트(3) (유효성 검사, 아이디 중복 확인 처리, 저장처리) (0) | 2020.04.27 |
---|---|
2020.04.26 - 미니프로젝트(2) (상단 메뉴 db 가져와서 구성하기) (0) | 2020.04.26 |
2020.04.22~23 - MVC(8) (예외처리, MyBatis Java, MyBatis XML, RestController) (0) | 2020.04.23 |
2020.04.21 MVC(7) (JSR-303, JSR-380, Validator 커스터마이징, Interceptor) (0) | 2020.04.21 |
2020.04.20 MVC(6) (쿠키, 유효성 검사, JSR-303) (0) | 2020.04.20 |