Supersett
개발자의 하루
Supersett
Blockchain Dev
전체 방문자
오늘
어제
  • 분류 전체보기
    • 프론트
    • 회사생활
    • 블록체인
    • 프로젝트
      • 창업 프로젝트 (DRF + AWS)
      • Spring 프로젝트
    • [중앙대]멋쟁이 사자처럼
    • 기술서적
    • Problem Solving
      • 알고리즘
    • 일기장
      • 하루 정리
      • 삽질 일기
      • 조급할 때 눌러보기

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 멋사 중앙대
  • 블록체인정보가공
  • 글리치해커톤
  • 프로젝트
  • 비트코인
  • DEPROMEET
  • 멋쟁이 사자처럼 서류
  • Multichain API
  • 해커톤
  • 취업준비
  • 디프만16기
  • 구글소셜로그인
  • 자바
  • 멋쟁이 사자처럼 면접
  • 면접준비
  • 블록체인 서버설계
  • 국비
  • Near Explorer
  • java
  • 자바스크립트
  • 멋쟁이 사자처럼
  • 멋쟁이사자처럼 중앙대
  • Near Scan
  • 국비지원
  • Luniverse
  • 국비교육
  • 컴퓨터학원
  • 니어프로토콜
  • 신입개발자
  • 초보개발자

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Supersett

개발자의 하루

220106 [목] servlet 공부 ( feat. git )
일기장/하루 정리

220106 [목] servlet 공부 ( feat. git )

2022. 1. 6. 10:57

[오늘의 계획]
1. 수업내용 복습

2. 노션에 필기한거 티스토리에 정리해서 옮기기 (시간 좀 걸릴예정)

3. 오늘 회의 아웃라인 작성하기(우선순위 설정)

4. 깃 포스팅 정독


[오늘의 공부]

▶Context 

"Context"란 "어떤 객체를 핸들링하기 위한 접근 수단"의 의미를 가진다. 해당 서블릿을 수행하려면 "서블릿 Context"를 획득해야 그것을 통해 그 서블릿을 수행할 수 있는 것.

 

▶Context Path : 프로젝트 명을 의미하며 url의 호스트, 포트명 다음에 나온다. 웹 어플리케이션을 구분하기위한 path

ex) localhost:8080/itwill/main.do

▶Context root : Content directory의 경로. 해당 경로에 메타 정보와 웹 정보를 관리하는 META-INF와 WEB-INF 파일이 자동생성되며 JSP파일은 여기 하위에 저장되어야 경로를 찾을 수 있다.

 

이 서블릿을 여러사람이 동시에 막 같이 호출하면 count 값이 어떻게 될까요? 각 client는 한번씩 호출했지만, 다른 사람도 같이 호출했기에, 메모리 상의 같은 공간에 있는 count 값은 client가 호출한 갯수만큼 증가 될 것입니다.

따라서 해당 서블릿이 global 변수(엄밀히 global 변수가 아니라 instance변수죠)를 사용하고 있는 경우는 반드시 Multi-treading 을 염두에 두면서 개발하셔야 합니다.

흔히들 실수하는 부분이 DB Connection을 Servlet의  init()부분에서 맺어 두고 public void service(... req, ... res)에서 그 DB Connection을 이용해 DB SQL작업을 하는 경우입니다. 이 경우, 여러 client가 같은 DB Connection 을 공유하기 때문에 주의하지 않으면 DB Transaction 이 얽힐 수가 있는 거지요...

그런데...., Servlet을 "정의"하실 때, SingleThreadModel을 implements 하면, 해당 서블렛은 Multi-Thread로 동작하지 않고 한 순간에 하나의 Client만이 service() 메소드 내로 들어오는 것을 보장해 줍니다.

즉,

public class MyServlet extends HttpServlet​

이라 하지 않고,

public class MyServlet extends HttpServlet implements SingleThreadModel​
라고만 하면, "Servlet Invoker"는 해당 서블렛을 Single Thread 형식으로 동작시켜 줍니다. 한순간에 하나씩 service() 메소드가 호출되는 거죠...

▶http , https 차이점?

 

▶meta data??

 

▶오늘 배운거 흐름 정리해보자!!!! 그림그려가면서

 

 

 

 

 

출처 ) https://pro9dan.tistory.com/entry/Context-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

[스터디 계획]



[스터디 결과]

 

 

 

 

 

 

 

 

 

 

 

Context 란 무엇인가?

개발자라면 context 라는 단어를 한번쯤은 모두 접해 보았을 것입니다. 그런데 context가 뭐냐? 누군가 이렇게 물어본다면 딱히 대답하기가 힘들죠. 사용만 할 줄 알지 정확히 개념이 서지 않아서 그

pro9dan.tistory.com

 



국비지원 #국비교육 #국비 #초보개발자 #신입개발자 #컴퓨터학원 #자바 #JAVA #취업준비 #면접준비

'일기장 > 하루 정리' 카테고리의 다른 글

220108 [토] 쿠키,세션,웹서버vs웹브라우저,JNDI,  (2) 2022.01.08
220107 [금] Servlet X Jdbc  (0) 2022.01.07
220105 [수] git 파헤치기  (2) 2022.01.05
220103 [월] TIL의 시작  (0) 2022.01.03
220101 [토] 성공해라. 성공하면 니 개소리도 명언이다.  (0) 2022.01.01
    '일기장/하루 정리' 카테고리의 다른 글
    • 220108 [토] 쿠키,세션,웹서버vs웹브라우저,JNDI,
    • 220107 [금] Servlet X Jdbc
    • 220105 [수] git 파헤치기
    • 220103 [월] TIL의 시작
    Supersett
    Supersett
    하루를 돌아보고 공부한 티를 내기 위해 블로그를 만들었습니다.

    티스토리툴바