서블릿이란?
서블릿이란 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술이다. 즉 다시 말해, 자바로 웹을 만들기 위해 사용하는 기술로, 클라이언트의 요청을 처리하여 응답을 해주는 프로그램이다. (자바 소스코드 속에 HTML코드가 들어가는 형태)
서블릿들은 서블릿 컨테이너 내에서 관리되며 사용자의 요청에 맞는 서블릿을 사용하여 응답을 보내주는 형식.
서블릿 컨테이너의 역할
- 웹서버와의 통신 지원
- 서블릿 생명주기 관리
- 멀티쓰레드 지원 및 관리
- 선언적인 보안 관리
JSP란?
JSP는 Java Sever Page의 약자로 서블릿과는 반대로 HTML코드 안에 자바 코드가 들어가 있는 형식이다.
이를 사용하여 웹 서버에서 처리되고 웹 브라우저로 전송되기 전에 동적 콘텐츠를 생성합니다.
이전 JSP가 나오기 이전에는 웹 개발을 할때 서블릿을 이용하여 개발을 하였지만 JSP는 서블릿의 단점을 보완하여 나온 자바 웹 개발 기술이라 생각하면 된다.
CGI란?
CGI는Common Gateway Interface의 약자로 웹 서버와 웹 애플리케이션 사이의 인터페이스를 제공하는 표준 프로토콜이다. CGI를 사용하면 웹 서버는 웹 브라우저에서 전달된 요청을 받아서 외부 프로그램에 전달하고, 해당 프로그램이 실행한 결과를 다시 웹 브라우저에 반환합니다.
이는 동적인 웹 페이지를 만들때 사용되며 다양한 언어로 작성이 가능하다.
MVC패턴이란?
MVC패턴은 디자인 패턴의 일종으로 Model, View, Controller로 이루어져 있다.
MVC 패턴은 주로 웹개발에 있어서 사용자 인터페이스, 비지니스 로직, 사용자의 요청처리 및 연결다리 이렇게 3가지로 역할을 나누었고,
MVC패턴을 사용하면 유지보수성, 애플리케이션의 확장성, 그리고 유연성이 증가하고, 중복코딩이라는 문제점 또한 사라지게 되는 것이다.
*유연성은 새로운 요구사항에 따른 변화를 적은 비용으로 처리가 가능하다는 의미이다.*
*디자인 패턴(Design Pattern)은 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴이다*
'백엔드 멘토링' 카테고리의 다른 글
2023/04/05 - java 11, 17 특징 (0) | 2023.04.07 |
---|---|
2023/03/26 - 객체지향 개념 및 UML,CBD,SOA (0) | 2023.04.07 |
OSI 7계층 및 TCP/IP 4계층 정리 (0) | 2023.02.26 |
2023.02.03 - java 8 의 optional은 무조건 사용하는게 좋을까?? (0) | 2023.02.03 |
2023.02.01 - Java 8의 특징 (0) | 2023.02.02 |