지난번에 server.xml에 Resource 등록했었는데 단점이 있어..
프로젝트 삭제했다가 다시 붙이면 context가 다시 생겨서 resource 링크 잡아놓은것이 사라져버려.. 그래서 server.xml을 수정하는건 좋지않아. 그래서..
우선 server.xml 다시 원상복귀 시키고
http://tomcat.apache.org –> Documentation –> Tomcat 7.0 –> 8. JNDI Resources 참조(http://tomcat.apache.org/tomcat-7.0-doc/jndi-resources-howto.html)
META-INF에 context.xml만들고 저번의 Resource붙여..
<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="OracleCP" auth="Container" driverClassName="oracle.jdbc.OracleDriver" type="javax.sql.DataSource" url="jdbc:oracle:thin:@localhost:1521:xe" username="oraclejava" password="oraclejava" maxActive="200" maxWait="-1" /> </Context>
/webdev/WebContent/jdbc/dbcpTest.jsp 실행하면 잘 되네..
실행되는 과정을 보면.. context.xml이 실행될 때 자동으로 resource link를 만들어 집어넣어..
C:\Java\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\server.xml보면
이렇게 자동으로 들어가있네.. 그러니까 지가 알아서 잘 실행이 된다는거지..
여기까지 잘 실행되었으면..
이제 BoardDao 수정해주자..
package board.model; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; public class BoardDao { private Connection cn = null; private PreparedStatement st = null; private ResultSet rs = null; /* public BoardDao() { try { Class.forName("oracle.jdbc.OracleDriver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } //드라이버 로드.. }*/ public void getConnection(){ try { /* cn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:xe", "oraclejava", "oraclejava");*/ Context init = new InitialContext(); DataSource ds = (DataSource) init.lookup("java:comp/env/OracleCP"); cn = ds.getConnection(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } //아래 생략..
index.jsp로 잘 수행되나 확인해봐..
굿..!
아.. UserDao도 고쳐야지..
package user.model; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; public class UserDao { private Connection cn = null; private PreparedStatement st = null; private ResultSet rs = null; /* public UserDao() { try { Class.forName("oracle.jdbc.OracleDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } }*/ public void getConnection(){ try { /* cn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:xe", "oraclejava", "oraclejava");*/ Context init = new InitialContext(); DataSource ds = (DataSource) init.lookup("java:comp/env/OracleCP"); cn = ds.getConnection(); } catch (Exception e) { e.printStackTrace(); } } //아래생략..
로그인도 잘 되네.. 굿..!
C:\Java\apache-tomcat-7.0.27\webapps\webdev.war Finish (단, 기존의 webdev폴더는 먼저 삭제하고)
이클립스 웹서버는 stop하고
C:\Java\apache-tomcat-7.0.27\bin\startup.bat실행.. 그러면 디플로이된거 보일거야..
이제 http://localhost/webdev/Login.do 실행해봐.. 안되네..
혹시 경로때문인가..
dispatcher-servlet.properties를 controller밑으로 옮기고.. (conf폴더는 지워)
web.xml 수정 (mapping은 그냥 이름바꾼거야.. 의미맞게)
<servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>controller.DispatcherServlet</servlet-class> <init-param> <param-name>mapping</param-name> <param-value>dispatcher-servlet.properties</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
DispatcherServlet 수정
public class DispatcherServlet extends HttpServlet { //properties 받을 맵 생성 private Map<String, AbstractController> commandMap = new HashMap<String, AbstractController>(); //servlet 최초에 실행하는 메서드 @Override public void init(ServletConfig config) throws ServletException { //param-value(property 파일의 경로)를 읽어와 String props = this.getClass().getResource("").getPath()+config.getInitParameter("mapping");
그거 때문이 아니구나..
JAVA_HOME을 맨처음 이클립스 띄울때 안잡아 놨었잖아.. 그러면 default로 jre찾는 경로가 C:\Java\jdk1.7.0_03\jre가 아니라 자바기본폴더의 jre를 잡아. 그 경로가 틀린 거 때문에 ojdbc6.jar를 못읽어서 그런거같아..
C:\Java\jre7\lib\ext\ojdbc6.jar를
C:\Java\jdk1.7.0_03\jre\lib\ext\ 폴더에 복사해줘..
그리고 다시 해봐
'Java, Spring > 10일' 카테고리의 다른 글
10일차 2 - 오라클서비스, ObjectAid UML, SVN (0) | 2012.09.20 |
---|---|
10일차 3 - 조회수증가, 게시글수정/삭제, 개행처리 (0) | 2012.09.20 |