이 책은 MYSQL 세팅으로 되어 있던지라 Oracle 을 사용하는 저에게는 조금 세팅을 수정할 필요가 있더군요.
그래서 조금 검색을 해 세팅을 한 후 Chapter1의 예제를 실행해보는데 성공했습니다.
아래 카페에서 참고했어요.
http://cafe.naver.com/oraclesql.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=73
Tomcat 5.5 기준입니다.
먼저 {CATALINA_HOME}\conf 로 이동 한 후 아래 파일들을 수정합니다.
server.xml
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<!-- 아랫 부분을 추가합니다 -->
<Resource name="jdbc/SpringDS" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@IP주소:포트:SID"
username="username" password="password" maxActive="150" maxIdle="10"
maxWait="5000"/>
</GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<!-- 아랫 부분을 추가합니다 -->
<Resource name="jdbc/SpringDS" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@IP주소:포트:SID"
username="username" password="password" maxActive="150" maxIdle="10"
maxWait="5000"/>
</GlobalNamingResources>
web.xml
맨 마지막 줄 </web-app> 위에 넣습니다.
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/SpringDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
맨 마지막 줄 </web-app> 위에 넣습니다.
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/SpringDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
context.xml
맨 마지막 줄 </Context> 위에 추가합니다.
<ResourceLink global="jdbc/SpringDS" name="jdbc/SpringDS" type="javax.sql.DataSource"/>
맨 마지막 줄 </Context> 위에 추가합니다.
<ResourceLink global="jdbc/SpringDS" name="jdbc/SpringDS" type="javax.sql.DataSource"/>
classes12.jar / ojdbc14.jar 파일 복사
위의 두 파일이 해당 경로에 복사되었는지 확인합니다.
{CATALINA_HOME}\common\lib
위의 두 파일이 해당 경로에 복사되었는지 확인합니다.
classes12.jar
{JAVA_HOME}\jre\lib\ext
{CATALINA_HOME}\common\lib
예제의 컴파일 및 배포는 이클립스 워크스페이스 기준으로..예제 파일을 그대로 IMPORT 했다고 했을때..
D:\Workspaces\SFW\chapter1\spring>ant deploy
하시면 {CATALINA_HOME} 이 PATH로 잡혀있는곳으로 자동 배포됩니다.
그리고 톰캣을 내렸다가 올립니다.
이제 http://localhost:8080/chapter1/user/login.jsp
으로 접속하셔서 로그인 화면이 뜨면 성공한거지요.
집 서버에 Oracle XE 버젼을 깔아두고 테스트 해봤는데 잘 되는군요.
이렇게 편하게 오라클 공부를 할 수 있다는것도 정말 좋고 스프링 프레임워크를 접할수 있다는것도 행운입니다.
아 물론 프로젝트 때문에 조금 쫓기기는 하겠지만요;
추가적으로 Oracle에 맞게 바꾼 첫번째 예제 CREATE TABLE 쿼리도 올려놓겠습니다.
userinfo.sql
CREATE TABLE USERINFO (
userId varchar(12) NOT NULL PRIMARY KEY,
password varchar(12) NOT NULL,
name varchar(20) NOT NULL,
email varchar(50),
adminYN NUMBER(1) NOT NULL
);
INSERT INTO USERINFO VALUES('admin', 'admin', '관리자', 'admin@javajigi.net', 1);
INSERT INTO USERINFO VALUES('javajigi', 'javajigi', '자바지기', 'javajigi@javajigi.net', 0);
CREATE TABLE USERINFO (
userId varchar(12) NOT NULL PRIMARY KEY,
password varchar(12) NOT NULL,
name varchar(20) NOT NULL,
email varchar(50),
adminYN NUMBER(1) NOT NULL
);
INSERT INTO USERINFO VALUES('admin', 'admin', '관리자', 'admin@javajigi.net', 1);
INSERT INTO USERINFO VALUES('javajigi', 'javajigi', '자바지기', 'javajigi@javajigi.net', 0);
