위 에러는 톰캣을 실행했을 시에
톰캣과 DB 가 제대로 연동되어 있지 않을 때 발생하는 에러이다.
위와 같은 경우가 발생할 경우에는
DB 커낵션, sqlsession 등 스프링 내 jdbc 연결을 담당하고 있는
root-context.xml 파일을 찾아서 DB 설정을 확인해주어야 한다.
나의 경우에는 root-context.xml 의 이름이 다르게 설정되어 있어서
다르게 설정되어 있는 xml 파일을 들어갔다.
이름이 다르게 설정되어 있더라도 중요한 것은
root-context.xml 파일의 위치는 webapp 경로의 아래에 위치한다는 사실이다
그리고 jdbc 연결 설정을 할 때, 스프링에서 반드시 잡아주어야 하는 부분이라,
프로젝트에 있어서 해당 파일의 위치는 파악하고 있는 것이 좋다.
1. root-context. xml 파일에 들어간다.
(해당 파일은 이름 및 저장되어 있는 경로가 개인별로 다를수 있으니 명심할 것)
2. 파일을 열고 처음에 DB 설정을 한 부분에 문제가 있는지 확인한다
<!-- postGre -->
<bean id="dataSource-postgre-system" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.postgresql.Driver"/>
# 나의 경우에는 아래의 연결이 잘못되어 있어서 발생했었다..
<property name="url" value="jdbc:postgresql://hahaha.hahihu.kr:5432/hahah" />
나의 경우에는 아래의 연결에서 오타가 나 있어서 에러가 발생했었다..
위를 제대로 이해하기 위해서는 spring 에서 db에 접속하는 방법을 알고 있으면 훨씬 이해하기가 쉬울 것이다.
접속하는 방법에 대한 것은 3가지 정도가 있는데
1. JDBC 만을 이용한 접속
- 이 경우에는 pom.xml 를 이용하여 jdbc 작성을 위해 driver 를 다운로드 하는 것
2. spring 에서 datasource 를 정의하고 이를 통한 접속
- 이 경우에 pom.xml 과 root-context.xml 이 사용된다.
3. Mybatis 를 이용한 접속
- 2번의 경우와 사용하는 파일은 똑같지만, sqlSessionFactory 라는 MyBatis 이용시 필요한 객체를 사용하여
db 에 접속하는 방법이다.
자세한 사항은 아래 링크를 참고하면 도움이 될 것이다.
참고링크
위 에러를 해결하는 데 있어 참고한 링크이다.