일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Photo
- 하늘풍경
- 여름성경학교
- AF-S NIKKOR 18-35mm f/3.5-4.5G ED
- Nikon
- AF-S 18-35mm
- 풍경
- 18-35mm
- camera
- 출사
- D750
- 사진
- spring
- 85mm f/1.8G
- 85mm 1.8g
- daily
- AF-S NIKKOR 85mm f/1.8G
- 50mm f/1.8G
- af-s 18-35
- 꽃
- 푸른초장교회
- 렌즈
- 니콘
- 푸초
- nikkor
- 카메라
- 일상
- AF-S NIKKOR 50mm f/1.8G
- 경치
- 50mm
- Today
- Total
병갈이 블록
DB연결 커넥터 초기화 리스너 구성. 본문
리스너를 구성하기 위해 생각해야 할 것들.
1. 리스너는 ServletContextListener 인터페이스를 구현한 클래스이다.(implements ServletContextListener를 해야된다.)
아래 두개의 클래스를 임포트한다.
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
2. ServletContextListener 인터페이스의 두가지 메서드를 구현해야한다.
public void contextInitialized(ServletContextEvent sce) { 초기화 내용을 구성할 클래스. }
public void contextDestroyed(ServletContextEvent sce) { 구현 안해도 됨. }
3. 알아야 할 주소들.
1. mysql 드라이버 주소 - "com.mysql.jdbc.Driver"
2. mysql 접속 주소 - "jdbc:mysql://localhost:포트번호/스키마이름?characterEncoding=utf8"
3. ConnectionPool 드라이버 주소 - "org.apache.commons.dbcp2.PoolingDriver"
4. ConnectionPool 접속 주소 - "jdbc:apache:commons:dbcp:풀이름" //풀이름은 구성중에 지정하도록...
4. 3번의 4에서 만든 접속주소는 따로 커넥션을 제공하는 클래스를 만들때 사용한다.
--잠깐 정리.--
listener는 웹 어플리케이션이 동작할 때 초반에 동작된다.
즉, 서버가 실행될 때 초반에 mysql과 연동된 connection을 만들어 보관 및 관리하는
ConnectionPool을 만들어서 그 풀에 접속가능한 주소를 등록한다.
이 후, 별도의 Connection을 제공하는 클래스는 mysql과 직접 연결된 Connection을 주는것이 아닌,
ConnectionPool에 접속하는 커넥션을 제공하게 된다.
(코드 일부:: return DriverManager.getConnection("Pool접속URL"); )
5. 모든 코드를 만들었으면, test페이지 작성.
필요한 클래스만 임포트 한다.(Connection, SQLException, 커넥션을 제공하는 클래스)
간단하게 try-catch문으로 예외없이 정상처리 되었다면 "성공"문구를, 예외가 발생하여 catch문에 걸린다면 "실패"문구를 나타내도록 한다.
그리고 테스트.
**의외로 복잡한 과정이라 보여지는 부분인데(mysql에 사용자도 등록해야하고 권한도 부여해야하고 스키마 이름 틀리면 안되고...)
늘 에러없이 잘 진행되는 부분임. 참 다행이라 여겨진다는...
MySQL 관련.
1. 사용자 등록.
create user 'ID'@'호스트' identified by 'PW';
- create user >> 유저를 만든다.
- ID >> 생성할 유저 id
- 호스트 >> 접속할 호스트를 등록.
: localhost - 로컬호스트에서 접속.
: % - 모든 호스트에서 접속.
- identified by 'PW' >> 뒤에 PW로 사용자를 인증하겠다는 의미.
2. 사용자 권한 부여
grant 권한 on 스키마.테이블 to ID@'호스트' identified by 'PW';
1번에서 생성된 유저(ID@'호스트')를 특정 스키마의 특정 테이블에 관하여 특정 권한을 부여함.
- 권한 : 특정 명령에 관한 권한을 정함. 모든 권한은 ALL PRIVILEGES
- 스키마.테이블 : 특정 스키마와 그 스키마의 특정 테이블을 지정할 수 있음.
특정 스키마의 모든 테이블이면 스키마.*
- ID@'호스트' identified by 'PW' : 1번에서 생성된 유저와 동일한 정보여야함.
'IT(Old) > JSP 실습 과정 기록' 카테고리의 다른 글
로그인 기능 구현하기. (0) | 2017.07.15 |
---|---|
회원가입 과정 구현. (0) | 2017.07.14 |
예외처리에 관해서... (0) | 2017.07.14 |
서블릿을 기점으로 페이지 포워딩. (0) | 2017.07.13 |
처음 홈페이지 구성해보기. 간단한 서블릿 구성. (0) | 2017.07.12 |