[2023.12.04] 개발자 교육 51일 차 : 강의-서블릿&JSP 실습 [구디 아카데미]

DaramGee·2023년 12월 4일
0

복습



  • @어노테이션
    - @WebServlet : 클래스 앞, 서블릿을 URL에 매핑할 때 사용
    - @RequestMapping : 메소드 앞 스프링에서는 제공
    - @Controller : 컨트롤계층 역할
    - 자바에서는 Reflection API를 지원하고 있음.
    • 힙 영역에 로드되어있는 클래스 타입의 객체를 통해 필드/메소드/생성자를 접근제어자와 상관없이 사용할 수 있도록 지원하는 API
      - 컴파일 시점이 아닌 런타임 시점에 동적으로 특정 클래스 정보를 추출해 주는 프로그래밍 기법을 지원
      - 주로 프레임워크 또는 라이브러리 개발 시 사용됨
      - 예 ; Spring DI(dependency Injection), Test프레임워크(JUnit), JSON 라이브러리
  • 서블릿
    - 서블릿은 늦은 초기화(스프링은 이른 초기화)
@WebServlet(urlPatterns={"/hello","/hello/*""}, ==loadOnStartup== =1)    
  • 미리 초기화 해두고 싶은 서블릿에 붙이는 옵션

강의 내용

  • 매핑 패턴 소개(React에서도 사용되는 컨셉 & 아래의 순서대로 호출이 됨, 마지막은 default)
    - exact mappig - 정확한 매핑 정보에 대해서만 호출이 됨(/basic/hello.do) -> 페이지 많으면 어째? ㅎㄷㄷ
    - path mapping - 와일드 카드와 함께 사용하여 호출이 됨(/basic/ )
    - extention mapping - 확장자가 do로 끝나기만 한다면 가로채서 호출이 됨(
    .do, *.gd) ->만개씩 처리 가능
    - default mapping -슬래시가 있다면 호출이 됨. (/) -> 스프링 기본값

java.lang.reflect 패키지
: 클래스 정보를 얻을 수 잇는 기능 제공
: 실행 중 객체 생성, 메소드 호출 등 가능하게 함.
: 프레임워크, 라이브러리에서 사용가능함.

  • 코드 작성 시 절대경로보다 상대경로를 설정하는 것이 좋음(외부에서 활용할 때 경로 재설정 필요 x)
  • 스프링은 Request와 Session만 기억하자?? 뭔말이지
    - Session 타입의 경우, 기본은 30이나 가져와서 시간 설정 변경 가능함.

유효범위(스프링은 Session과 리퀘스트만 기억하자)
1. pageContext :
현재 페이지에서만 사용 가능(EL 사용만 가능)
2. request :
요청이 유지, 요청 시 새로 생성(독립적, 제한적)
forward시 사용이 가능
3. session :
사용자마다 1개씩 생기는 개별저장소
서버 부담 대단히 높음(메모리 부담 제일 높음)
4. application :
공통 저장소(세션과 다른 부분)
모든 클라이언트 공유가능 -> 보안 취약
Web App 시작 및 종료까지 계속 유지(독)
=> 사용방법은? 저장소
저장할 때 : setAttribute(이름,값);
읽어올 때 : getAttribute(이름-String):값 - Object;
지울 때 : removeAttribute(이름); ,
세션 session.invalidate();

강의 마무리

0개의 댓글