Travel.zip
파일 추가하였습니다.
집안에 일이 있어 그동안 학습을 못하였네요. 부끄럽습니다.ㅠㅠ)
DB 연동 부분에 추가 질문 드립니다. 자꾸 질문드려서 죄송합니다.
컴파일후 new를 이용하여 추가하니 이러한 오류가 발생합니다..
Fri Oct 27 02:30:10 KST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
서버의 신원 확인없이 SSL 연결을 설정하는 것은 권장되지 않습니다. MySQL 5.5.45+, 5.6.26+ 및 5.7.6+ 요구 사항에 따라 명시 적 옵션이 설정되지 않은 경우 기본적으로 SSL 연결이 설정되어야합니다. SSL을 사용하지 않는 기존 응용 프로그램을 준수하기 위해 verifyServerCertificate 등록 정보가 'false'로 설정됩니다. useSSL = false를 설정하여 SSL을 명시 적으로 사용하지 않도록 설정하거나 useSSL = true로 설정하고 서버 인증서 확인을 위해 truststore를 제공해야합니다.
구글링해서 SSL를 설정하라고 해서 보면 스프링이 아니라 서블릿에서의 설정 jdbc:mysql://localhost:3306/디비이름?useSSL=false로 추가하라고만 나와 일단 올려주신 댓글을 믿고 변경을 해보니 The reference to entity "useSSL" must end with the ';' delimiter
오류가 발생하여 이 내용그대로 검색을 해보니 &를 추가해야한다는 것을 알게되었습니다. 일단 다시 &로 변경하니
이번에는
WARN : com.mchange.v2.c3p0.DriverManagerDataSource - Could not load driverClass com.mysql.Driver
java.lang.ClassNotFoundException: com.mysql.Driver
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.mchange.v2.c3p0.DriverManagerDataSource.ensureDriverLoaded(DriverManagerDataSource.java:101)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:133)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
이러한 Could not load driverClass com.mysql.Driver(driverClass com.mysql.Driver를로드 할 수 없습니다)라는 오류가 발생하고 있습니다.
버전의 차이인가 c3p0를 9.5버전서부터 바꿔도 보고 mysql의 버전을 5.1.44버전에 6.0.6 버전까지도 바꿔도 보고 jar파일이 없어서라는 글도 발견하여 직접 다운받아 실행을 해봐도 안돼고 있습니다.
그리고 추가 질문 드립니다. 학습내용에서 커넥션 풀 c3p0의 그룹이 com.mchange는 아에 되지를 않고 있습니다. 말씀하시는 버전이 이후에 이걸 사용한다고 하셨는데, 이게 문제인가 싶어 버전을 변경하면서 테스트를 해봐도 안돼는데, 제 컴퓨터가 문제인가요?
첫댓글 스프링 설정에서 JDBC URL에 아래와 같이 useSSL=false를 붙여주세요.
<property name="jdbcUrl" value="jdbc:mysql://localhost/spring4fs?characterEncoding=utf8&useSSL=false" />
이부분 해결하였습니다.
useSSL=false 를 추가적으로 넣은후 이러한 오류가 발생하였습니다. The reference to entity "useSSL" must end with the ';' delimiter.(엔티티에 대한 참조는 구분 기호;)
그리고 인터넷을 찾아보면(전부 서블릿 내용들이어서 대체 뭐냐?! 뭐냐?! 아`~ 스트레스 징징 거렸는데) ;걸 이야기한건 아마도 xml환경문서인 관계로 &로 넣어주어야 했던것 같습니다.
한가지 더 의문이 드는부분은 localhost: 다음으로포트번호가 나오던데, 포트번호 3306번호를 추가해주어야 하는건가요?
답을 단 것 보고서 다시 보니,,, & a m p ; 를 붙여서 쓴 게 &로 표시되고 끝났네요. XML에서 &를 속성 값에서 사용하려면 &가 아니라 "& a m p ;" 로 표시해야 합니다.(
그리고, MySQL 서버가 사용하는 포트 번호가 기본은 3306입니다. MySQL JDBC Driver는 포트 번호를 지정하지 않으면 3306을 포트 번호로 사용합니다. MySQL 서버가 사용하는 포트가 다르면 콜론과 포트 번호를 붙여줍니다.
아 또 많은걸 배우네요. "&"는 까먹지 않아야겠습니다.
그리고 변경포트시에 콜론과포트를 넣어야 한다는것도 메모했습니다. ^^