Back Ground

게시판 만들기 - DBCP 본문

JSP/게시판 만들기

게시판 만들기 - DBCP

Back 2016. 6. 15. 21:59


MySQL -DBCP


server

 <Context docBase="BoardTest2" path="/BoardTest2" reloadable="true" source="org.eclipse.jst.jee.server:BoardTest2">
    
         <Resource name="jdbc/TestDB"
                   auth="Container"
                   type="javax.sql.DataSource"
                    maxTotal="100"
                    maxIdle="30"
                    maxWaitMillis="10000"
                     username="javauser"
                     password="1234"
                     driverClassName="com.mysql.jdbc.Driver"
                    url="jdbc:mysql://localhost:3306/javadb"/>
              
      </Context>


-------------------------------------------------------------------------------------------------------------------------------------------------






# DBCP ( DataBase Connection Pool )


웹페이지에 접속자 수가 많아졌을 때 그만큼의 오라클 접속요청을 수용 할 수 있게 데이터베이스의 효율성과 속도를 높이기 위해 사용.

동시접속자 과다로 서버가 다운될 수 있는 문제점을 해결하기 위해 존재함.


DBCP 매니저가 어느 정도의 연결을 확보해 놓고 있다가 클라이언트의 요청이 들어오면 연결 해 주고, 

  클라이언트 작업이 다 끝나면 연결을 다시 DBCP 매니저한테 반환하게 만드는 것.



DBCP 설정하기

Step1.

odbcXX.jar를 WEB-INF\lib 폴더 안에 집어 넣는다.


참고. 블로그 가이드 : 오라클(Oracle) 정식 드라이버(Driver) 받는 곳 - ojdbc.jar 

http://gangzzang.tistory.com/entry/%EC%98%A4%EB%9D%BC%ED%81%B4Oracle-%EC%A0%95%EC%8B%9D-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84Driver-%EB%B0%9B%EB%8A%94-%EA%B3%B3-ojdbcjar


▶ JDBC 드라이버 연결하기 - ojdbcXX.jar파일 복사

 



Step2. server.xml 변경

톰 켓 서버 XML 목록 중 server.xml을 들어가서 현재 작업중인 Web Project 이름이 있는 "Context" 태그를 조작하기 위해 한 태그 안에 끝맺음이 까지 묶여있는 부분을 없애고, </Context> 부분을 추가한다.




현재 작업중인 Project이름이 있는 <Context> 태그를 찾는다.



 


</Context>태그 추가하기







Step3. server.xml 변경 계속

Context 태그 안에 들어갈 내용은 톰캣 사이트에서 복사해서 붙여넣은 뒤, 사용자의 데이터베이스 환경에 맞춰서 저장하면 되겠다.


톰캣 페이지 -> http://tomcat.apache.org/



 에서 아래와 같이 소스를 복사한다. 


  




스크롤 내리면 1번 Context configuration 보인다.

거기서 Copy & Paste 한다.


- 톰켓 페이지


- Eclipse




Eclipse의 server.xml에 아래 Resource태그를 붙여넣었으면, 

username과 password는 DB사용자환경에 맞게 수정하고, 

url은 아래 표시된 대로 ①번과 ②번 확인하는 방법을 설명하겠다.


① 번에 대한 포트번호 확인 방법.



netstat -an 을 입력하면, 로컬주소와 외부주소 컬럼으로 나뉘어서 포트번호 확인을 할 수 있는데, 

로컬주소의 포트번호를 보면 되겠다.

오라클 설치 시 1521포트로 설정이 되어있겠지만, 1522인 경우도 있으니 한번 더 확인해 볼 것


로컬주소 : 내 컴퓨터의 인터넷 주소와 포트를 표시해 줌

외부주소 : 내 컴퓨터가 통신하고 있는 인터넷 상의 상대방 IP 주소와 연결중인 포트를 보여줌




 

② 번에 대한 서버이름 확인 방법.

: 서비스 목록에서 OracleServiceXXXX  에서 XXXX이 서버 이름이다.


 




Step4. 잘 되나 확인하기


톰캣 페이지 (http://tomcat.apache.org/) 에서 3번 Code example에서 코드를 복사하고,

Eclipse에서는 새로운 jsp파일을 만든 뒤, <% %> 영역 안에 붙여 넣는다.

물론 그에 맞는 클래스들은 <%@page import=""%> 로 import를 시켜야 한다.


- 톰켓 페이지


- Eclipse


 




이렇게 하고 실행했는데..


안됨..

Connection conn=ds.getConnection() 에서 NullPointException이라고 뜬다..


 




웹서핑결과 한 블로거님의 결정적인 도움을 받아..

http://egloos.zum.com/kaludin/v/2954509



이럴때는 server.xml 의 태그내용 일부를 바꾸면 된다.


 Apache Tomcat에서의 태그내용

 <Resource name="jdbc/myoracle" 

   auth="Container"

           type="javax.sql.DataSource

   driverClassName="oracle.jdbc.OracleDriver"

           url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"

           username="scott" password="tiger" maxTotal="20" maxIdle="10"

           maxWaitMillis="-1"/>

 

 수정되어 정상작동되는 태그내용

 <Resource name="jdbc/myoracle" 

           auth="Container"

           type="oracle.jdbc.pool.OracleDataSource" ←  결정적, 치명적 (복붙할 거라면 이 화살표와 단어는 제거)

           driverClassName="oracle.jdbc.driver.OracleDriver"

           url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"

           factory="oracle.jdbc.pool.OracleDataSourceFactory"

           user="javauser" password="1234" maxTotal="20" maxIdle="10"

           maxWaitMillis="-1"/>

 

출처- 거셩





' JSP > 게시판 만들기' 카테고리의 다른 글

게시판 만들기 - JS 자바스크립트  (0) 2016.06.16
게시판 만들기 - VO  (0) 2016.06.15
게시판 만들기 - DAO  (2) 2016.06.15
게시판 만들기 - DBManager  (0) 2016.06.15
게시판 만들기 - MySQL  (0) 2016.06.15
Comments