본문 바로가기
레거시

2022.02.18의 기록

by GroovyArea 2022. 2. 18.

▶ 오늘 실현 가능한 세부 목표

 

=>  공부 관련

1) 금일 배운 내용 복습 

2) CS 지식 개발 상식 (객체지향 vs 절차지향 & Restful API와 설계 규칙)

3) 자바의 정석 13장 스레드

4) 14장 람다와 스트림

4) MVC 자바 프로그램

 

 

=>  파이널 프로젝트 관련

1) 팀명 : 필라피트(필라테스&피트니스)?

2) 포지션 (나는 Back)


 수업 공부 관련

MVC 디자인 패턴

JSP

  • 단순 처리 : redirect 이동
  • 응답 : request 속성값으로 결과를 전달 html ⇒ forward 이동

EL

pageContext.setAttribute(String attributeName, Object attributeValue)

  • 스코프 객체에 속성명(문자열)과 속성값(인스턴스)을 저장하는 메소드
  • pageContext 내장객체에 속성값을 저장 - Page Scope
  • Page Scope : 속성값을 저장한 웹프로그램에서만 속성값을 반환받아 사용 가능

pageContext.getAttribute(String attribute)

  • 속성명을 전달받아 스코프 객체에 저장된 속성값(인스턴스)을 반환하는 메서드
  • Object 타입의 인스턴스를 반환하므로 명시적 객체 형변환하여 사용
  • 속성값이 없는 경우 null 반환

${속성명}

  • EL 표현식의 속성명으로 스코프 객체에 저장된 속성값을 제공받아 출력
  • ⇒ getAttribute() 메서드와 JSP 표현식을 동시에 구현하는 것과 같은 효과 제공
  • 속성값이 없는 경우 EL 미실행 - 값 미출력
  • 스코프 객체에 의해 제공되는 속성값이 인스턴스인 경우 ${속성명, 필드명} 형식의 표현식을 사용하여 인스턴스의 필드값을 제공받아 출력
  • ⇒ 필드명은 Getter 메소드를 호출하기 위한 이름
  • ⇒ EL 표현식에서 지정된 필드의 Getter 메소드가 없는 경우 PropertyNotFountException 발생

 

@SuppressWarnings

  • 경고를 제거하는 어노테이션

Request Scope

  • 속성값을 저장한 웹프로그램과 스레드가 이동된 웹프로그램에서만 속성값을 반환받아 사용 가능

포워드 이동

  • 현재 웹프로그램의 명령을 실행하는 스레드를 다른 웹 프로그램으로 이동하여 명령을 실행하도록 제공하는 기능
  • ⇒ 스레드가 이동되는 웹프로그램에게 현재 웹프로그램이 사용하는 request, response 인스턴스를 사용 가능

 

대괄호 연산자

EL 표현식에서 . 연산자 대신[] 연산자를 사용하여 필드명(맵키)로 필드값(맵값)을 제공받아 출력
⇒ 주로 List나 배열 객체의 경우 인덱스 값을 위해 대괄호 연산자를 사용

 

EL - Array

  • 스코프 객체의 속성값이 배열인 경우 EL 표현식에서 . 연산자로 첨자를 표현하여 배열 요소를 사용할 경우 ELException 발생
  • ELException : EL 표현식이 잘못된 경우 발생되는 예외
  • 스코프 객체의 속성값이 배열인 경우 표현식에서 [ ] 안에 첨자를 표현하여 배열 요소 값을 출력 가능
  • EL 표현식에서 다른 스코프 객체의 속성값을 제공받아 맵키로 사용할 경우 [ ] 연산자 안에 표현하여 맵값 출력 가능

EL Implicit Object

  • 11가지 내장 객체
  • 1가지의 pageContext 객체 외에 모든 객체가 Map이다.
  • 속성값을 저장한 객체에 따라 속성값의 사용 범위 구분

scope attribute의 맵 객체

  • ⇒ 속성값 사용 범위(Scope) : Page Scope, Request Scope, Session Scope, Application Scope
  • 속성값을 저장하는 객체가 다른 경우 같은 속성명을 사용하여 속성값 저장 가능
  • ⇒ 동일한 객체에 같은 이름의 속성명을 사용하여 속성값을 저장할 경우 기존 속성값 대신 새로운 속성값 저장

EL 표현식의 속성명으로 속성값을 검색하는 순서

  • ⇒ page Scope → request Scope → session Scope → application Scope
  • ⇒ 스코프 객체의 속성명을 다르게 선언하는 것을 권장
  • session : 권한 관련 정보
  • request : 요청에 대한 값

Request Parameter

  • EL 표현식에서 param 내장객체 또는 paramValue 내장객체를 이용하여 전달값을 제공받아 출력 가능 - 전달값의 이름을 이용하여 전달값 구분

Request Header

Cookie

  • 쿠키값은 문자열만 저장 가능하며 한글 저장 불가능

Context Init Parameter

  • context-param : 모든 웹프로그램에게 값을 제공하기 위한 엘리먼트

PageContext

  • WAS가 만들어줌
  • 웹프로그램에 필요한 객체들이 저장되어 있음.
  • ServletRequset는 HttpServletRequest의 부모
  • requset 말고 EL을 이용하여 pageContext,request.contextPath를 쓰자

 개인 공부 관련 1

 


 개인 공부 관련 2

어노테이션(Annotation)

  • @Overrode : 어노테이션이며 타입은 Override.
  • 미리 정의 된 태그들을 이용해서 주석 안에 정보를 저장하고 javadoc.exe라는 프로그램이 이 정보를 읽어서 문자를 작성하는데 사용함.
  • ⇒ 이 기능을 이용하여 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시킨 것.

스레드(Thread)

  • 프로세스 (Process) : 실행 중인 프로그램
  • 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)를 할당받아 프로세스가 된다.
  • 프로세스 = 데이터 + 메모리등의 자원 + 하나 이상의 쓰레드

스레드를 구현하는 방법

  1. Thread 클래스를 상속받는 방법
  2. Runnable 인터페이스르 구현하는 방법 : 재사용성이 높고 코드의 일관성을 유지할 수 있기 때문에 보다 객체지향적인 방법

 파이널 프로젝트 관련

> 토요일 2시 강남 회의 이지스터디

1. 기획서

2. 화면 설계서

3. 장소 정하기

반응형

'레거시' 카테고리의 다른 글

2022.02.20의 기록  (0) 2022.02.20
2022.02.19의 기록  (0) 2022.02.19
2022.02.17의 기록  (0) 2022.02.17
2022.02.16의 기록  (0) 2022.02.16
2022.02.15의 기록  (0) 2022.02.15