본문 바로가기
국비교육

국비교육 52일차

by Diligejy 2019. 2. 18.

오늘 학습 내용

1. JDBC Connection Pool


JSP 기본 설정

1.

1) workDir 설정


3)

이 부분에서 Location 복사


4)

5)

Tomcat을 재시작해준다.


6)

설정을 토대로 jsp파일을 실행해준 뒤 F5(새로고침) 해주면


다음과 같이 디렉토리가 생기는 것을 확인할 수 있다.




2

VO설계와 Entity설계는 다르다


Student와 Score는 has a 관계이며

DB에서 테이블은 참조관계를 통해 2개를 생성해야 한다.


VO와 Entity의 차이점 : 기본적으로 JOIN하는 참조 Column이 없다.


3. 

주/종 헷갈리면 => 참조되는 테이블을 주 테이블이라고 생각하라.


주종관계의 테이블은 상속관계를 통해 VO로 구현한다.


4.

비즈니스 로직은 계산 메소드만 있음

계산형 메소드는 코드가 짧아야 함


Vo나 Entity는 UseBean으로 사용할 수 있고 여러가지 가능하지만, 

계산형 메소드는 받아서 계산만 하기 때문에 코드가 짧은 게 중요하다.


5.

https://docs.oracle.com/en/database/oracle/oracle-database/18/jjdbc/JDBC-getting-started.html#GUID-98F62472-1415-4099-A6B6-7C13C6AEC040

// JDBC escape syntax
CallableStatement cs1 = conn.prepareCall
                       ( "{call proc (?,?)}" ) ; // stored proc
CallableStatement cs2 = conn.prepareCall
                       ( "{? = call func (?,?)}" ) ; // stored func
// PL/SQL block syntax
CallableStatement cs3 = conn.prepareCall
                       ( "begin proc (?,?); end;" ) ; // stored proc
CallableStatement cs4 = conn.prepareCall
                       ( "begin ? := func(?,?); end;" ) ; // stored func

6.

9.1.3 JDBC Thin Driver Support for Oracle Advanced Security

The JDBC Thin driver cannot assume the existence of an Oracle client installation or the presence of the sqlnet.ora file. Therefore, it uses a Java approach to support Oracle Advanced Security. Java classes that implement Oracle Advanced Security are included in the ojdbc6.jar and ojdbc7.jar files. Security parameters for encryption and integrity, usually set in the sqlnet.ora file, are set using a Java Properties object or through system properties.

6-1

ojdbc6.jar

파일을


에 삽입해준다.

7.


9번과 10번이 DB를 붙이는 과정에 대한 설명.


 Context

|

Session  - Config

|            ⓐ context.xml - 등록(이름), DB연결 

|            cf. Server.xml(전역)

|                      |

|                Context.xml(App)

|                     |

|                Web.xml

request

|

pageContext



9) JNDI Resources의 내용


복사 뒤 


context.xml에 복사





다음과 같이 수정해준다.

maxTotal 의 뜻 : 최대 접속 유저 수

maxIdle = "10" : 1인당 어플리케이션으로 10개까지만 식별할 수 있게 해주겠다는 뜻

maxWaitMillis의 뜻 : 대기시간 없이 접속한다. 



driverClassName을 수정해주는 이유 : oracle.jdbc.driver.OracleDriver로 경로가 다르기 때문에 수정해주어야 한다.


수정해준 뒤 JDBCTemplate를 가져와서 

다음과 같이 예전 코드의 getConnection() 부분을 주석처리 해준다.


새로 getConnection()클래스를 만들어준 뒤


try Catch를 만들어주고 


이 부분을 복사해서 붙여넣기를 해준다.


그럼



envContext.lookup("jdbc/mybig");으로 수정해준 뒤

빨간색 뜨는 부분에서 다음과 같이 import를 해준다. 




8.

C:\Program Files\Java\jre1.8.0_192\lib\ext\ojdbc14.jar 삭제(이클립스를 끈 상태로)

=>왜? => 우선순위가 있어서 두개가 있으면 못읽음 



다음과 같이 사라짐


web.xml 中

<WatchedResource>WEB-INF/web.xml</WatchedResource><!-- 내꺼 있으면 내꺼부터 읽고 -->

<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource><!--  없으면 전역에 있는거를 읽는다-->


dbTest.java파일을 만들어주면 



9.

9)번 도움말에 들어가면 다음과 같이 있음

전역으로 심을 때는 ResourceLink 활용



server.xml 수정



이렇게 한 뒤 톰캣과 servers를 삭제한다.




dbtest.jsp실행시키면 NameNotFoundException 발생

-> context.xml에 전역을 위해 ResourceLink를 삽입해주어야 한다.



출처 : https://tomcat.apache.org/tomcat-8.5-doc/config/context.html#Resource_Links


다음을 참조하여



다음과 같이 입력해준다.


10.

1) 

2) 클래스들의 라이브러리가 tomcat-jni.jar

3) DataSource의 역할 : 타입을 맞춰주는 역할

4) 


'국비교육' 카테고리의 다른 글

국비교육 54일차  (0) 2019.02.20
국비교육 53일차  (0) 2019.02.19
국비교육 50일차  (0) 2019.02.14
2월 13일 국비교육 50일차  (0) 2019.02.13
2월 12일 국비교육 49일차  (0) 2019.02.12

댓글