Bepoz
파즈의 공부 일기
Bepoz
전체 방문자
오늘
어제
  • 분류 전체보기 (232)
    • 공부 기록들 (85)
      • 우테코 (17)
    • Spring (85)
    • Java (43)
    • Infra (17)
    • 책 정리 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Bepoz

파즈의 공부 일기

2020.05.19 - mvc프로젝트 다시하기(1)
공부 기록들

2020.05.19 - mvc프로젝트 다시하기(1)

2020. 5. 19. 23:26

지난 게시판 spring mvc 프로젝트를 마친지 한 2주쯤 된 것 같은데, 다시 해보려고 한다. 한 번 한다고 기억나는 것이 아니기에 계속해서 반복하려고 한다. 글 정리해둔것을 보면서 하려했는데 따라가기가 쉽지가 않더라... 다시 세세하게 기록하면서 해야겠다. 이번에는 최소한만 찾아보면서 할 예정이다. 

 

xml이 아닌 java 형식으로 진행할 것이다. 

기존의 java세팅 하듯이 RootAppContext.java / ServletAppContext.java / SpringConfigClass.java 와 pom.xml 세팅해둔다.

 

kr.co.kang.controller package 안에 homecontroller 만들고 redirect:main 허나 main.jsp 가 없으므로 main.jsp 만들어준다. html 은 지난 프로젝트와 동일시 가도록 하겠다.

다음과 같이 있는데 bottom_menu.jsp 와 top_menu.jsp 는 각 html공통 부분이라서 include 폴더에 따로 빼놨다.

그리고 main.jsp 에서 그 자리를 다음과 같이 c태그를 이용해 WebContent 이후의 폴더부터 기입하여 import 해주었다.

<%@taglib prefix='c' uri="~~~core"%> 선언은 필수

 

top_menu.jsp 보면 이렇게 board_main 어쩌고 있는데 일단 board를 처리해주는 controller를 만들어준다.

requestmapping 으로 /board 일괄처리해주고 그 안에서 main 은 board/main.jsp 로 가게끔 하였다. 

view 에서 board 폴더를 따로 만들어 준 것이다.

top_menu.jsp 인데 위에 봤던 것과는 다르게 href 를 board/main 그리고 위에 bepoz 부분은 href='main'으로 지정해두었다.

 

그런데 이렇게 하게되면 상대경로로 따지기 때문에 /board/main 으로 들어간 다음에 bepoz 버튼을 누르거나 다른 board/main 을 누르게되면, board/main 이나 board/board/main 으로 들어가게 된다. 그렇다고 href에 /main 이렇게 하게되면 절대경로로 인식이 되어 localhost:8080/main 이렇게 나오게 된다. 

 

jstl 기능을 이용해 contextPath를 구해주어야한다. taglib prefix='c' uri="~~core"선언해 준다음에

<c:url var='root' value='/' />

를 해준다. 그럼 이제 / 의 주소로 가게된다. homecontroller 에서 main 으로 두었으니 첫 화면으로 갈 것이다. 이를 el를 이용해 ${root} 으로 표현한 것이다. 뒤에 / 붙으니 ${root}/board/main 로 작성하지 않아도 된다.

 

top_menu.jsp 에서 게시판 밑의 부분을 user/login 등으로 분류 해놓고 href세팅

UserController 생성

login 일단 만들고 

login.jsp 생성하고 import 작업 c태그 작업 해준다. contextPath도 혹시 모르니 일단 해두었다.

나머지도 다 처리해준다.

<c:url var='root' value='/'/> 이것을 위와 같이 변경해준다. c:url 저걸로 하면 url에 sessionId가 뜨는 오류가 종종 생기기 때문이다. 

메인 화면에서 맨 위의 글 보기 눌렀을 때에 게시판으로 가고 더보기 눌렀을 때에도 그쪽으로 가고, 글 읽었을 때에 목록보기와 수정하기도 링크 연결해주었다.

modify 의 수정완료와 취소 또한 해준다. board/main으로 달아주었다.

login 내의 회원가입은 user/join 으로 로그인하는 action 은 main으로

회원가입 후에는 user/login 으로.

 

데이터베이스를 사용한다 이제. 

 

테이블은 다음과 같이 3개의 테이블

이 내용에 알맞은 bean을 만들어줄 것이다.

이제 mybatis 설정해준다.

WEB-INF/lib 폴더에 ojdbc6.jar을 세팅해준다.

WEB-INF 내에 properties 폴더를 만들어서 db.properties 를 file 형식으로 만들고 db 내용을 넣는다.

java형식은 쿼리문을 사용할 때에 interface 를 사용하는데 mapper 패키지를 만들어 임의의 mapper interface를 만든다.

ServletAppContext.java에 해당 정보를 기입해준다.

properties에서 파일을 가져다 쓰기 위해서 @PropertySource를 사용해준다.

@Value("${}") 통해 변수를 가지고온다.

 

그리고 밑에 이렇게 추가를 해준다. BasicDataSource는 import 시에 apache.commons.dbcp2로 import 해주어야한다.

앞서서 실수를 한 것이 있는데, pom.xml 세팅을 해줄 때에 repository 와 mybatis 관련을 추가를 안해주어서 추가해주었다. 여기에 첨부를 할테니 다음번 연습 때 사용하면 될 것 같다. 이제 이대로 실행 시에 오류가 없다면 정상적으로 작동하는 것이다.

 

pom.xml
0.00MB

일단 이건 요까지...

 

 

'공부 기록들' 카테고리의 다른 글

2020.05.23 mvc 프로젝트 다시하기(3)  (0) 2020.05.23
2020.05.22 mvc 프로젝트 다시하기(2)  (0) 2020.05.23
2020.05.12 ssafy 자소서를 작성하였다.  (0) 2020.05.12
2020.05.09 2020 카카오 인턴 코딩 테스트를 보았다...  (0) 2020.05.09
2020.05.02 미니 프로젝트(完) (페이지 구현하기, 메인화면 처리하기)  (0) 2020.05.03
    '공부 기록들' 카테고리의 다른 글
    • 2020.05.23 mvc 프로젝트 다시하기(3)
    • 2020.05.22 mvc 프로젝트 다시하기(2)
    • 2020.05.12 ssafy 자소서를 작성하였다.
    • 2020.05.09 2020 카카오 인턴 코딩 테스트를 보았다...
    Bepoz
    Bepoz
    https://github.com/Be-poz/TIL

    티스토리툴바