[TIL] 9일차

myminimin·2023년 7월 27일
0

TIL

목록 보기
9/44
post-thumbnail

오늘 공부할 것

  1. 어제 코딩테스트 5문제 가볍게 다시 풀어보기
  2. 코딩테스트 5문제 풀기
  3. LeetCode 1개 이상 해석하고 풀기
  4. 내가 Guide Line Project에서 만든 JDBCUtil과 선생님의 Util을 비교해보자! 😭
  5. 4번에서 커넥션 풀 설정한 것도 비교도 해보자















✔ 오늘 수업

  • JSP - JDBC(Java Database Connectivity)
  • web.xml 이용해서 JDBC 연결 개선
  • 커넥션 풀로 성능 개선
    (요청이 있을 때마다 db와 새로 연결을 했다가 해제하면 connection 객체를 생성할 때 마다 네트워크 통신이 이루어지고 사용자 인증 같은 시간이 걸린다. 수천명이 동시에 접속을 한다면.....??? 빈번한 연결과 해제는 시스템 성능에 큰 영향을 미친다.)
    커넥션 풀 (예를 들어 수영장에서 튜브를 여러개두고 사용자가 요청 시 튜브를 빌려주고 나갈 때 반납을 반는... 그런 기능)
    직접 만들어서 사용할 필요 없고 WAS가 제공하는 것을 이용하는 것이 좋다


    JNDI(Java Naming and Directory Interface)

server.xml과 context.xml에서 설정
server.xml의 <GlobalNamingResources> 안에

  <Resource auth="Container"
            driverClassName="oracle.jdbc.OracleDriver"
 			type="javax.sql.DataSource"
 			initialSize="0"
 			minldle="5"
 			maxTotal="20"
 			maxIdle="20"
 			maxWaitMillis="5000"
            url="jdbc:oracle:thin:@localhost:1521:xe"
 			name="dbcp_myoracle"
 			username="musthave"
 			password="1234" />

context.xml의 </Context> 위에 적어주면 된다!

<ResourceLink global="dbcp_myoracle" name="dbcp_myoracle" type="javax.sql.DataSource" />
</Context>

이렇게 적어주면 된다.


✔ 어제 수업 복습

Cookie cookie = new Cookie("name", "value");
cookie.setPath(request.getContextPath()); // 경로를 컨텍스트 루트로 지정
cookie.setMaxAge(3600); // 유지시간 1시간(초단위)
response.addCookie(cookie); // 응답 객체에 추가

이 과정은 항상 사용하기 때문에 외워서 매번 쓰지말고 Util에 한 번 만들어두고 끌어다가 쓰자!


0개의 댓글