✏️ 서술형&면접 준비/Spring & Web

개념정리/기술면접 준비_Web

jishushu 2022. 8. 28. 18:19
728x90
반응형

1. MVC패턴 동작방식 

MVC패턴이란  어플리케이션(이하 app) Model, View, Controller라는 영역으로 나누어 Model app 데이터베이스 사이에 오고가는 데이터(, 비즈니스 데이터) 담당하며,(; Vo, Dao, Dto, Service) View web 보여 지기 위한 표현 부분을 담당합니다. Controller Model View 영역 사이에 위치하여,  영역 간의 통신을 담당.

(호텔에 비유하자면, Model 사람(Data) 투숙하는 호실, View 밖에서 봤을 때의 외관, Controller 체크인, 아웃을 위한 호텔 카운터라고 생각하면 되겠네요.)

 

2. model1 model2 패턴의 차이

model1 model2 가장  차이는 View 역할.

model1 Controller View 역할까지 같이 수행함으로써, 프로젝트 제작 기간이 단축되나 코드의 재사용성이 낮다. (JSP/Servlet <-> Service/Dao)

model2 Controller View 차별화됨으로써 프로젝트 제작 기간이 늘어나지만, 코드의 재사용성이 높다.

(JSP <-> Servlet <-> Service/Dao)

 

3. JSTL 무엇이고 사용하는 이유

JSTL이란 Jsp Standard Tag Library  약자로서 jsp에서 자바의 각종 기능을 태그로 사용할  있도록 제공 되어지는 라이브러리. 이를 통해, 자바의 조건문, 반복문 등을 jsp에서 쉽게 사용할  있으며 EL 태그를 통해 컨트롤러에서 전송한 값을 쉽게 사용할  있다.

 

4. JSP에서 세션에 값을 저장하고 꺼내는 방법

jsp에서 세션에 값을 저장하고 꺼내는 방법은 우선 컨트롤러 부분에서 HttpSession 클래스를 활용하여 세션을 생성하여 jsp 전송하면 jsp 세션이 전달되고, jsp에서는 sessionScope (EL태그) 통해  세션을 사용할  있다. 반대로, HttpSession 클래스의 invalidate() 함수를 이용하면 세션을 해제할  있다.

이를 활용하여 로그인/로그아웃을 구현할  있다.

 

5. jsp에서 한글이 깨지는 문제가 발생 

jsp에서 한글이 깨지는 경우는

1. 컨트롤러에서 HttpServletResponse 클래스를 이용하여 인코딩 처리를 하지 않았거나,

2. jsp에서 인코딩 선언을 하지 않은 경우

  가지를 통해 한글 깨짐 현상을 해결할  있다.

 

6. JSP

Java Server Pages  약자로, 서블릿의 사용을 통해 웹페이지의 내용이나 모양을 제어하는 기술.

 

7. Servlet

서블릿은 클라이언트의 요구를 받아 그에 대한 처리를  , 결과를 되돌려주는 서버 모듈입니다.  클라이언트(View) 요청을 처리하고  결과를 다시 클라이언트에게 전송하는 Servelt 클래스를 구현하는 자바 기반  어플리케이션 프로그래밍 기술입니다. 흔히 CGI(Common Gateway Interface)라고 합니다. java thread 이용하여 동작하며 MVC패턴에서 Controller 이용.

 

8. ajax

필요한 데이터를 받아서 페이지의 이동없이 브라우저의 일부분만 업데이트 하는 방법으로, 비동기 방식의 javascript XML.

* 장점: 페이지의 이동 없이 고속화면 전환, 서버의 처리를 기다리지 않고 비동기 요청이 가능함.

* 단점: 보안상의 문제, 요청 남발할 경우 서버 부하의 문제 발생.

 

9. RESTful

REST, RESTful이란 개념을 한마디로 정의한다면 URL(자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반)이라   있다. , 웹서비스에 있는 리소스의 구조적 상태(자원의 구분과 수행하려는 동작 ) URL에서 인지할  있는 . REST Representational State Transfer 줄임말로써 표현 가능한 상태 전송이란 뜻을 가지고 있다.  사이트의 이미지, 텍스트, DB 내용 등의 모든 자원에 고유한 URI 부여.

이러한 관점에서 REST 무슨 개체에 대한 작업을 하려고 하는지 쉽게 이해할  있다.

* RESTful   서비스를 구현하고자 한다면, 지켜야   가지 기본적인 원칙이 있다.

1. 명시적으로 HTTP 메서드를 사용할 .

2. 상태를 저장하지  . (Be stateless)

3. 디렉토리 구조와 유사한 URI  사용할 .

4. XML 혹은 JSON 혹은  가지 방법 모두를 사용하여 리소스를 전송할 .

 

10. 쿠키과 세션의 차이점

- 쿠키는 사용자 컴퓨터(Client) 브라우저에 저장된 작은 조각으로 일반적으로 쿠키는 인증을 하는데 사용.

또한 사이트 환경 설정, 쇼핑 카트 항목  서버 세션 식별에 대한 쿠키 값을 저장하기도 한.

- 세션은 사용자가  서버에 접속해 있는 상태를 말합니다. 사용자가 브라우저를 열어 서버에 접속   

접속을 끊을(브라우저를 종료) 시점까지를 세션이라고 합니다. 서버와 접속이 종료되면 접속했던 PC에는 정보가 남지 않게 되며, 서버에서는 자동으로 세션을 삭제하기도 한다.

  구분   쿠키   세션
  저장위치   클라이언트   서버
  저장형식 텍스트형식   Object
  종료시점   쿠키 저장  설정(설정하지 않으면 브라우저 종료  소멸)   정확한 시점을   없음. (시간설정 가능, 직접 제거 가능)
  자원   클라이언트의 자원을 사용   서버의 자원을 사용
  용량제한   한 도메인  20, 쿠키 하나  4KB/ 300   서버가 허용하는  용량 제한 없음.

 

11. Get/Post 전송방식의 특징

GET  POST  브라우저에서 입력한 값이 서버로 넘어가는 방식을 지정하는 .

* GET방식의 특징 :

1. 데이터의 길이가 256byte 넘지 않는 비교적 짧은 데이터를 전송할  사용

2. 사용자의 웹브라우저에 주소를 노출시켜도 관계없을  사용

3. 요청 해더의 URL 붙어서 전송 

* POST방식의 특징 :

1. 비교적 길이가 길고 복잡한 양식의 데이터를 전송할  사용

2. 사용자의 웹브라우저에 주소나 데이터가 노출되는 것을 피하고자   사용

3. 요청 해더와는 별도로 전달(표준 입출력 방식으로 데이터를 전송할  사용)

 

12. jquery

자주 사용하는 자바스크립트 코드를 재사용할  있는 형태로 가공해 프로그래밍의 효율을 높여준다.

반응형