디비연결

7603 단어 projuctprojuct
  1. DBConn.java 파일을 만들고 WEB-INF 라이브러리에 ojdbc6.jar넣어주기 라이브러리에 넣으면 자동으로 빌드패스가 됨
    ojdbc6.jar 자바랑 오라클이랑 통신하기위한 프로토콜 들고있음

연동할때 web.xml, context.xml의 코드 가 있는곳
http://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#Oracle_8i,_9i_&_10g

public static Connection 디비연결() {
		try {
			Context initContext = new InitialContext();
			Context envContext = (Context) initContext.lookup("java:/comp/env");
			DataSource ds = (DataSource) envContext.lookup("jdbc/myoracle");
			Connection conn = ds.getConnection();
			System.out.println("db연결성공");
			return conn;
		} catch (Exception e) {
			e.printStackTrace();
		}
		System.out.println("연결실패");
		return null;
	}


2.WEB.INF 안에 web.xml파일만들기
jdbc/myoracle이거는 context.xml의 name과 맞춰야됨

<web-app version="4.0"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee                       http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd">
	<resource-ref>
		<description>Oracle Datasource example</description>
		<res-ref-name>jdbc/myoracle</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>
</web-app>


3.META-INF 안에 context.xml파일 만들기
context.xml은 메모리에 올릴때 한번실행

oracle.jdbc.driver.OracleDriver 모든 규칙이 들어가있는 라이브러리
driverClassName="oracle.jdbc.driver.OracleDriver"
driverClassName="oracle.jdbc.OracleDriver" 옛날꺼
127.0.0.1 루프백 ip 나한테 돌아오는 ip
1521접속 -> 포트 번호
mysid -> xe
maxTotal="20" maxIdle="10" 최대 동시접속 20명 10개 만들어둔다

<Context>
<Resource name="jdbc/myoracle" auth="Container"
              type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
              url="jdbc:oracle:thin:@127.0.0.1:1521:xe"
              username="cos" password="cos1234" maxTotal="20" maxIdle="10"
              maxWaitMillis="-1"/>
</Context>


4.webapp안에 jsp파일 만들어서 디비연결 테스트하기

<%@page import="com.cos.blog.db.DBConn"%>
<%
DBConn.디비연결();
%>

오류나면 오라클xe서비스 돌고있는지 확인

좋은 웹페이지 즐겨찾기