본문 바로가기

학원/JSP - 학원

커넥션 풀로 데이터베이스와 JSP 연동

728x90

DBCP(데이터베이스 커넥션 풀) 기법

 

- A : 엑세스

- 풀을 데이터베이스에 미리 연결해두고, 클라이언트가 풀에 접속해서 데이터베이스 사용

- 퍼포먼스가 좋아지게 되며 따라서 JDBC보다 DBCP기법을 더 많이 사용

 

server.xml

DBCP를 사용하기 위해 설정하는 것

 

 

- 서버스에 톰캣 파일 안에 존재함

- server.xml에 위 내용 추가

 

name = java.comp/env로 찾아감

auth(관리자) = 대부분 

type : 이 타입으로 나중에 값을 반환(데이터 소스 타입으로 변환을 해야함)

max~

- 데이터베이스에 연결된 사람

- 대기자

- 밀리세컨 기준 - 위에는 10초

 

DataSource를 통한 DBCP 사용

 

- 객체 생성 이후

- lookup메소드로 찾음(java:comp/env로 name인 jdbc/oracle 찾아감), 데이터소스 타입으로 캐스팅하고 ds에 넣음

 

 

JSP 페이지에서 DBCP 사용 예제

https://tomcat.apache.org/

 

Apache Tomcat® - Welcome!

The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the

tomcat.apache.org

 

- 다큐멘테이션 - 톰캣9.0 - jdbc 데이터소스 - 오라클 8,9,10g - 리소스 복사

 

<Resource name="jdbc/oracle" auth="Container"
              type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
              url="jdbc:oracle:thin:@localhost:1521:xe"
              username="scott" password="tiger" maxActive="100" maxIdle="30"
              maxWait="10000"/>

 

- 이렇게 변경

 

 

 

- 데이터소스 설정을 안해서 이런 오류가 뜸 - sever.xml에 설정(아까 위에서 만든거 집어넣음)

- jspwork를 찾아서

 

 

- 자동 닫기 된 부분을 지우고 저렇게 다시 만들어준 다음

- 컨텍스트 앞에

 

- 이렇게 집어넣어 줌

- name에서 myoracle를 그냥 oracle로 바꾸면 됨

 

PreparedStatement 인터페이스

 

- 두번째 단락은 위에서 했던 3줄짜리 코드를 한줄로 만든 형태

- statment와 차이점은 쿼리 부분의 id에 ?를 주고 이 값을 밑에 prepare~에서 줌

Statement와 PreparedStatement 비교

 

- 스테이트먼트는 미리 다 만들어두고 사용

 

- 프리페어는 쿼리만 만들어두고 값은 아래에서

 

<예제>

 

- 아이디에 링크를 달아서 클릭하면 수정을 할 수 있도록

 

 

- 이런 방식으로 id를 넘길 수 있음

 

아이디를 선택하면 아이디를 조건절로하여 테이블의 해당 아이디 관련 데이터를 수정

 

 

- updateMember.jsp

 

- viewMember은 앞선 수업의 예제 참조하고, 바뀐 부분은 위에 있는 id 부분

- id 부분 value 앞에 readonly 줘야 함 

 

 

- updateProcess.jsp

 

<%
request.setCharacterEncoding("utf-8");
%>

 

위 내용을 <doctype>부분에 붙여 넣으면 한글처리도 완료

728x90

'학원 > JSP - 학원' 카테고리의 다른 글

사용자 관리 1단계 2번  (0) 2022.03.21
사용자 관리 1단계 1번  (0) 2022.03.18
데이터베이스와 JDBC를 이용한 JSP와의 연동  (0) 2022.03.16
자바빈  (0) 2022.03.07
예외처리  (0) 2022.03.07