개발공부 일지
학원수업_56day [JSP,Servlet(23day) - DBCP / Path 본문
DBCP ( DateBase Connection Pool)
- DBCP / Connection Pool / Data Sources
웹 컨테이너(WAS) 가 실행되면서 DB와 미리 connection(연결)을 해놓은 객체들을 pool에 저장해 두었다가
→ 클라이언트 요청이 오면 connection을 빌려주고(제공)
→ 처리가 끝나면(사용자의 연결이 종료되면) 다시 connection을 (반환) 반납받아 pool에 저장 하는 방식 (성능향상)
빌려주고 반납할때 Synchrouized 해준다 ( 단일스레드 환경을 만듦)
pool 자체는 시스템상에서 (pool 이라는 바구니) 싱글톤으로 해주고
각 스레드별로는 Synchrouized 로 걸어준다
if(list_size()

DataSourceManager
: DBCP 구현체(apache-tomcat) 를
표준화된 javax.sql.DataSource Interface 타입으로 생성해서 관리하는 클래스
DBCP : DataBase Connection Pool 을 정의하는 객체
db 컨넥션을 생성, 소멸하는 방식이 아니라Pool 에 미리 생성해놓고 빌려주고 반납받는 동작원리로
시스템 성능 향상을 위해 사용하는 객체


우리가 쓰던 Connection Pool 이랑 다름..
절대경로 http://127.0.0.1:8888/webstudy/index.jsp
상대경로 현재 자신의 파일 위치를 기준으로 지정하는 경로
<form action="../FindController.do">
or
<img src="../images/iu.jsp">
jsp의 EL ${pageContext.request.contextPath} 을 이용하면
동적으로 현재 어플리케이션 명 즉 컨택스트 경로를 생성하므로
디렉토리 구조가 변경되어도 별도의 경로 변경 작업이 필요없다
<form action=" ${pageContext.request.contextPath}../FindController.do">
or
<img src="../images/iu.jsp">
컨트롤러의 예 : forward or redirect 시에 디렉토리명을 명시해야 한다
public class RegisterMemberController implements Controller {
@Override
public String handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
return "redirect:member/register-result.jsp";
}
}
JSP 기본(내장) 객체 중 하나인 pageContext
기존 index.jsp 와 경로가 다른 폴더에 있는 login.fail.jsp 가 주고받을 때
* login.fail
( ${pageContext.request.contextPath}/index.jsp"; )
</head>
<body>
<div class="container pt-3">
<script type="text/javascript">
alert("로그인 되지 않았습니다");
location.href = "${pageContext.request.contextPath}/index.jsp";
</script>
</div>
</body>
</html>
package org.kosta.myproject.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestController implements Controller {
@Override
public String handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
return "redirect:test-result.jsp"; // redirect로 응답할때 ""문자열안에 공백을 만들면 안됨. 넣을거면 trim
// redirect: 까지가 9글자이기에
// return "test-result.jsp"; // forword로 응답할때
}
}
'학원수업 > Web(HMTL,CSS,JSP,Servlet)' 카테고리의 다른 글
| 학원수업_58day [JSP,Servlet(25day) - StarUML / (0) | 2022.10.25 |
|---|---|
| 학원수업_57day [JSP,Servlet(24day) - media query/ SQL / ERD (0) | 2022.10.24 |
| 학원수업_55day [JSP,Servlet(22day) - FrontController, Ajax / JSON (0) | 2022.10.20 |
| 학원수업_54day [JSP,Servlet(21day) - JSON / Ajax (0) | 2022.10.19 |
| 학원수업_53day [JSP,Servlet(20day) - AJAX 비동기적처리 (GET, POST)/ HandlerInterceptor ] (0) | 2022.10.19 |