JSP 4. 자원의 식별 *주소경로

zhyun·2020년 11월 23일
0

JspSpring

목록 보기
5/39

복습

webStudy01 프로젝트

  • d:contents 폴더 아래 사진들 목록 클라이언트에게 보여줌
  • 사진들중에 선택할 수 있게 UI(UserInterface)를 만드는 과정을 하다가 끝남..
  • template 구조를 사용 => 책임 분리
  • imageList.tmpl (tmpl확장자)
    • UI를 만들기 위해 html 만듦
    • 중간이 뚫여있는 data를 치환(template메서드)
      • %title% 등..구멍이 뚫려있으면 UI가 아님..
      • %~~% 이런 구멍들을 data로 치환된 완벽한 UI를 응답데이터로 보내야함

템플릿 메서드

  • 순서
    • start메서드, hook 메서드,end메서드
    • 파일 읽기
    • %구멍% data로 치환 왁벽한 UI로 만듦
    • 응답메서드 내보내기

2020.11.23 월요일

  • imageList.tmpl에 javascript 콜백함수 넣음
  • 클라이언트가 선택한 이미지 파라미터로 받는걸로 바꿈
  • null처리
  • sendError처리

imageList.tmpl

콜백함수

  • 자바스크립트 함수 표현식 익명 함수의 대표적인 용도
  • 명시적으로 호출하는 함수가 아니라, 함수만 등록
  • 어떤 이벤트가 발생 or 특정 시점에 도달했을 때 시스템에서 호출되는 함수

서블릿의 콜백메서드 종류

  • HttpServlet이 갖고있는 메서드는 모두 콜백메서드
  • 우리가 직접 호출하지 않는다

lifecycle callback(singleton) : init, destory

request callback : service, doXXX

  • 매번 요청이 들어올때마다 반복 호출된다
  • service
    • request method 판단 (get인지 post인지 호출)
    • do[MethodName] 콜백을 호출하여 요청 처리
  • doXXX
    • request method 따라 처리될 구체적인 작업을 정의

리팩토링

  • 동일한 결과를 받아내기 위해 만들지만 구조를 변경

MVC

  • Model
    • getDataMap()에서 만들어진 Map
    • Map<String, Object> dataMap
    • ImageListServlet.java안에 메서드 있음
  • View
    • tmpl
  • Controller
    • ImageListServlet.java

모델2

  • 클라이언트에게 요청이 들어오면 요청과 응답 처리가 구분
  • 요청은 tmpl(view), 응답은 서블릿

자원의 식별 & 주소경로체계

File System Resource

  • 파일시스템 절대경로(drive)를 통해 접근

ClassPath Resource

  • classpath 이후절대경로(qualified name)를 통해 접근

Web Resource

  • 네트워크상 접근할 수 있는 제한된 리소스
  • 제한된 리소스에 접근하려면 URL체계를 통해 웹상에서 접근

웹소스 식별(identify) 방법

  • URI
    • Uniformed Resource Identifier(식별)
  • URL(Locator)
    • 자원의 위치를 기준으로 해서 식별
  • URN(Name)
    • 자원의 명칭을 기준으로 식별
    • 자원의 명칭을 등록하고 명칭의 중복문제 해결하려면 어려움
    • 식별성을 가지지못한다
  • URC(Content)
    • 자원이 속성을 기준으로 식별
    • 식별성을 가지지못한다

URL 표기방식

절대경로

  • protocol://IP[domainname]:port/depth.../name
  • 시작점부터~끝까지!

클라이언트사이드(모듈) VS 서버사이드(모듈)

  • 실행시점의 차이, 실행위치의 차이
  • 서버사이드모듈 %title%
  • 클라이언트사이드모듈 %title% 자리에 '이미지목록'으로 치환

client side 클라이언트 사이드

  • 반드시 context root부터 경로 기술
  • /webstudy01/images/hyuk1.jpg
  • img src = "<%=request.getContextPath%>"/images/hyuk1.jpg">
  • Context root : 변경될 수 있는 녀석이지만 배포가 이미 되서 변동될일은 없다

server side 서버사이드

  • context root이후의 경로를 기술

  • /images/hyuk1.jpg

  • 서버사이드에서는 절대경로만을 사용

  • 변경되지 않는 경로만으로 식별! 위에서도 얘기했지만 webStudy01(Context root)는 변동 가능

상대경로

  • 브라우저의 주소를 기준으로 상대경로가 시작됨
  • ../depth/name
  • 서버사이드에서 상대경로 쓰지 않음 (아래사진) '/'뺀 경로만 해서 서버돌리면 에러..


  • qualifiedname복사해서 web.xml에 복사

HomeWork

  • 구구단 tmpl과 서블릿 완성
  • 응답데이터 나갈때
  • sc(statuscode)
  • git이라는 구조 보강
profile
HI :)

0개의 댓글