Notice
Recent Posts
Recent Comments
Link
«   2026/06   »
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
Tags more
Archives
Today
Total
관리 메뉴

개발공부 일지

학원수업_56day [JSP,Servlet(23day) - DBCP / Path 본문

학원수업/Web(HMTL,CSS,JSP,Servlet)

학원수업_56day [JSP,Servlet(23day) - DBCP / Path

짜몽- 2022. 10. 21. 10:52

 

 

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로 응답할때
	}
}