[TIL] 면접 대비 벼락치기 공부

Jongmin·2020년 2월 2일
0

Java SE

Java Platform, Standard Edition, Java SE.

Java EE

Java Platform, Enterprise Edition, Java EE.
자바를 이용한 서버측 개발을 위한 플랫폼.

SE와 EE의 차이

https://210life.tistory.com/entry/Java-EE%EC%99%80-Java-SE%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90
자바는 프로그래밍 언어와 플랫폼을 모두 아우르고 있다.
이때 자바 플랫폼은 자바 프로그램을 실행시키는 환경으로, 몇 가지 종류가 존대한다.
1. 표준 에디션의 자바 플랫폼(Java SE)
2. 엔터프라이즈 에디션의 자바 플랫폼(Java EE)
3. 마이크로 에디션의 자바 플랫폼(Java ME)
4. JavaFX

이때, Java SE는 자바 프로그래밍 언어의 핵심 기능들을 제공.
Java EE는 Java SE를 베이스로 하여 추가적인 기능 제공.
대규모, 다계층, 확장성, 신뢰성 그리고 보안 네트워킹 애플리케이션의 개발과 실행을 위한 추가적인 API 및 환경 제공.

MVC 패턴

MVC 패턴은 디자인 패턴의 하나이다.
MVC는 Model, View, Controller의 두문자로, 애플리케이션 구성요소를 이 세개로 나누어 구분하는 디자인 패턴이다. MVC 패턴에서 애플리케이션은 이들 세 구성요소가 밀접하게 연결되어 작동한다.
사용자는 view를 통해 애플리케이션이 제공하는 정보를 얻는다.
또한 controller를 조작하면 프로그램은 model에 이를 반영하여 데이터를 가져오거나 수정하고, 이를 view에 반영하여 다시금 전달한다.
각각의 특징은 다음과 같다.

  • Model
    애플리케이션의 정보, 데이터. 혹은 이러한 데이터, 정보의 가공을 책임지는 컴포넌트.
    이들이 가져야 할 규칙은
    1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.
    2. 뷰, 컨트롤러에 대해 알아서는 안된다.
    3. 변경 요청에 대한 처리방법, 변경 후의 통지 방법을 구현해야 한다.
  • View
    사용자 인터페이스.
    1. 모델이 가지고 있는 정보를 따로 저장해서는 안된다.
    2. 모델, 컨트롤러에 대해 알아서는 안 된다.
  • Controller
    데이터와 사용자 인터페이스 사이를 잇는 다리 역할.
    1. 모델, 뷰에 대해 알고 있어야 한다.
    2. 모델, 뷰의 변경을 모니터링 해야한다.

JSP

Java Server Pages
HTML 코드에 Java 코드를 삽입한 형태로, 동적웹페이지를 생성하는데 사용된다.
JSP가 호출되면 이는 Servlet으로 변환되어 Servlet으로 취급되어 사용된다.

Java Servlet

Java Servlet.
Java 코드 내부에 HTML 코드가 삽입된 형태. 즉, JSP와 반대로 된 형태를 가지고 있다. 하지만 하는 역할은 같다. 동적 웹페이지를 만드는데 사용된다.
WAS는 Servlet Container로도 불린다. 즉, WAS는 서블릿을 기반으로 움직이므로 Servlet에 대한 개념도 알아두어야 한다.

JSP vs. Servlet

JSP : HTML 코드에 Java 코드가 삽입됨.
Servlet : Java 코드에 HTML 코드가 삽입됨.
두 도구 모두 동적 웹페이지를 제공하기 위해 사용된다.
일반적으로 JSP가 더 높은 작업 효율을 보인다.
Servlet은 Java코드로 HTML 페이지를 만들어서 반환해야 하는데 이때 여러 태그를 생각하며 작성하기가 쉽지 않다. HTML 코드로 구조를 잡고 기능을 추가하는 방식의 JSP가 작업하기 편하다.
하지만 아래에서 설명할 WAS는 서블릿을 기반으로 작동하며, JSP 또한 Serlvet으로 변환되어 사용된다. 따라서 Servlet도 숙지해야 한다.

WAS

Web Application Server.
웹 서버에서 동적 컨텐츠를 제공하고자 할 때 사용하는 별도의 서버.
주로 웹 서버는 정적 컨텐츠를, WAS는 동적 컨텐츠를 제공하는 식으로 역할을 구분한다.
WAS는 대부분이 자바 기반이며, Web container 혹은 Servlet container로 불린다.

Servlet의 생명주기

  1. 클라이언트가 서버에 요청을 보냄. jsp를 요청했다면, 대응하는 Servlet 파일을 생성.
  2. 해당 Servlet 클래스를 메모리에 로드한다.(최초 요청에 한해 한번)
  3. Servlet 객체를 생성하고, init() 메소드를 호출하여 초기화한다.
  4. serivce() 메소드를 호출해서 브라우저의 요청을 처리하도록 한다.
  5. service() 메소드는 HTTP 요청에 따라 doGet(), doPost()를 호출하여 요청을 처리하도록 한다.
  6. 서버는 destory()를 호출하여 Servlet 객체를 제거한다.

객체의 생성, 초기화는 비용이 큰 작업이므로, 톰캣은 이미 생성된 Servlet 객체를 메모리에 남겨둔다.
또한 톰캣이 종료되기 전이나, reload 전에 모든 Servlet을 제거한다.


SI

System Integration, 시스템 통합
네트워크, 하드웨어, 소프트웨어 등 IT에 관련된 요소들을 결합시켜 하나의 정보시스템으로 운영될 수 있도록 구축해주는 IT 사업.

SM

System Management, 시스템 운영
SI 프로젝트의 결과로 구축된 시스템을 운영하고 발생하는 문재에 대처하는 업무를 한다.

profile
취업하고 싶다

0개의 댓글