2022.06.10 - [프레임워크/스프링] - [Spring] 왕초보 스프링 프로젝트 실습 예제 따라하기 - 1편
이 글은 1편에서 이어집니다
누구나 따라할 수 있는 스프링 프로젝트 실습 예제
📌 서버 생성
이제 이 프로젝트를 구동하려면 서버가 필요하다
서버를 생성해주기위해 서버창을 열어준다
상단에 Window - Show View - Servers를 찾아 눌러준다
나의 경우 아래에 Servers 창이 열려있다
이창을 드래그해서 프로젝트 익스플로러 아래에 위치시켜본다 (필수아님 편의를 위해)
그리고 저 파란 밑줄 Click this link to create a new server...를 클릭한다
위와 같은 창이 뜨는데 Tomcat 8.5 Server를 찾아 선택하고 Next 버튼 클릭
Browse 버튼을 클릭하고 1편에서 설치했던 아파치 톰캣 경로를 찾아 열어준다
그리고 Next 버튼 클릭
생략해도 문제없는 부분이지만 어떤 프로젝트를 이 서버에 쓸건지 설정하는 부분이다
study를 누르고 Add 버튼을 클릭한다음 Finish를 눌러준다
서버가 생긴 것을 확인할 수 있다
이 서버는 위에 재생버튼 비슷한걸로 켰다가 정지버튼으로 끌 수 있다
자 서버 생성도 끝났으니 키기 전에 Oracle 연동 설정부분을 확인하고 가자
📌 spring-model.xml 파일 확인 및 jdbc 설정
src > main > webapp > WEB-INF > spring-model.xml
경로의 파일을 열어준다
이 파일은 1편에서 설명했다싶이 DB와 Mapper관련 설정을 담고있는 파일이다
이클립스에서 Oracle과 연동할 때 쓰는 방식은 jdbc driver를 통해서이다
이 jdbc driver를 가져와야하는데 oracle이 설치된 경로를 가자
C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib
이 경로에 가보면 아래와 같은 jar파일들이 있는데 이중 ojdbc6.jar를 복사하여 tomcat 경로에 넣어줄것이다
우리가 확인해야할 부분 아래 사진을 참고하자
Oracle을 설치해서 ip주소와 포트번호를 적어주고
접속할 계정 이름, 비밀번호를 맞게 작성되어있는지 확인하자
아무것도 수정하지않고 1편부터 따라왔다면 건드릴 부분이 없을 것이다
설치된 오라클의 포트번호가 1521이 맞는지
scott라는 계정을 만들었는지 password는 tiger인지 한번 더 확인하고 이상이 없다면 서버를 가동하자
📌 서버 가동
서버를 가동하면 서버 옆에 Started가 떠있고
Console 창에 수많은 로그가 쭊쭊쭊~ 찍히기 시작하다가
Server startup in 15205 ms가 뜬다
에러없이 성공적으로 서버가 켜지면 이렇다
📌웹 접속
그럼 이제 웹을 켜봐야하는데 우리가 만든 서버에 대한 포트번호 정보를 알아야한다
서버 창의 Tomcat을 더블클릭한다
서버 Overview 화면이 열린다
여기서 포트번호를 확인할 수 있다
보다시피 8080이다
그리고 하나 더 확인해야하는데 아래쪽 Modules를 클릭한다
이렇게 Web Modules에 대한 정보가 뜨는데
우리가 지금 가동중인 study 모듈의 Path 정보를 알 수 있다
그러니까 정리해보면 우린 이 웹에 접속하기 위해
localhost:8080/study/
로 열면 된다는 것이다
이 모듈의 Path를 study를 생략하고 / 로만 설정해보도록 하자
Edit 버튼을 눌러 아래처럼 설정한다
그리고 OK 버튼을 누른뒤 컨트롤 S를 눌러 저장해준다
이렇게 서버의 설정을 변경한 후에는 서버를 재가동해주어야 제대로 적용되기때문에
서버창의 재생버튼을 다시눌러 서버를 재가동 해준다 (정지버튼 으로 stop하고 다시 start해도 된다)
다시 정상적으로 켜졌다면 이제 진짜 웹을 켜서 들어가보자
localhost:8080/
들어갔는데 HTTP Status 404로 에러가 뜬다
404에러의 의미는 해당 URL에 연결되어있는 무언가가 없다는 뜻이다
이제 우리가 살펴봐야하는건 Controller이다
1편에서도 설명했듯이 URL에 대한 내비게이션같은 역할을 하는 부분이 Controller이다
src>main>java>.....>main>controller>MainController.java 를 열어본다
그러면 @RequestMapping(value="index.do") 를 찾을 수 있을 것이다
이 부분이 내비게이션과 같은 부분이다 index.do라는 경로를 타고 들어오면
아래 선언된 함수를 수행하고 리턴하는 건데 여기서 리턴값은 "화면" 이다
index.do 의 경우엔 return index를 하고있는데 이것의 의미는
이 WEB-INF > view > index.jsp 를 띄우겠다는 의미이다
일단 해보도록 하자
1편에서 넣어놨던 샘플 데이터가 출력되는 것을 확인할 수 있다
만약 해당 화면이 뜨지않고 500에러와 함께 콘솔에 에러가 출력된다면 아래를 확인해보자
에러 내용이 jdbc connection 관련이라면 위에 ojdbc 복사가 안되어있을 수 있다
혹은 Cannot create PoolableConnectionFactory 관련이라면 Oracle이 제대로 가동되어있지 않은 것이니 링크를 참조하자
https://dlgkstjq623.tistory.com/120
table or view does not exists 라면 1편에서 DBeaver 설치 때 SAMPLE 테이블 생성을 하지 않은 것이다
여기까지 잘 실행되었다면 프로젝트를 무사히 구동한 것이다
어떻게 이 화면이 나오고 어떻게 데이터가 출력되는지는 다음 편에서 차례차례 흐름을 따라가보자
웹 프로젝트는 이렇게 시작된다는 것만 알아도 충분한 배움이 되었을 것이다