서블릿, JSP, MVC 패턴의 차이
2022. 1. 24. 12:01
Spring
순서대로 보자면, 발전 순서는 이렇다. 순수 자바로 모든 웹 처리 구현 → 서블릿 → JSP → MVC1 → MVC2 어떤 차이점이 있는지 알아보자. 서블릿 JSP, MVC도 모두 서블릿을 활용한 기술이다. 하지만 서블릿은 개발자가 웹 응답이냐 요청 처리에 관여를 해야하고 동적 HTML 생성도 불편하기 때문에 불편함을 느끼게 되었다. 어떤 것이 불편했을까 살펴 보자. 어떤 것이 불편 했을까 웹 서버 요청, 응답에 대한 처리를 직접 해야 함. 동적 HTML 생성이 아주 불편함. 등 여러가지 아래 코드는 서블릿으로 구현한 회원 가입 기능이다. 보는 바와 같이 브라우저에 응답할 Content-Typer과 같은 정보들을 직접 컨트롤 해야 하고 특히 HTML 처리가 엄청나다. 이런 징그러운 코드를 사용하지 않기 ..
서블릿과 톰캣의 관계
2022. 1. 24. 11:57
Spring
서블릿이란 HTTP 요청으로부터 웹 페이지를 동적으로 생성하는 서버 프로그램이다.(자바 클래스) 개발할 때 마다 이런 기능을 구현할 수 있겠지만 불편하기 때문에 서블릿이라는 것이 생겨났고, 성능 향상이 되었다. 서블릿은 JPA와 같이 인터페이스가 되며, 이를 지원하는 것이 아파치 톰캣(WAS)이다. JSP와 비슷하지만 서블릿은 자바 코드에서 HTML을 포함하고, JSP는 HTML에 자바 코드를 포함한다. 서블릿에서 동적으로 HTM 만들기 어려워서 JSP가 등장한 것이다. JSP는 결국 내부적으로 서블릿을 호출하게 된다. 이 JSP와 서블릿을 실행할 수 있는 것이 아파치 톰캣이다. 출처 : 위키백과 만약 서버를 바꾸고 싶다면 초록색 박스인 톰캣만 서블릿과 JSP(JSP를 사용한다면)를 지원하는 서버로 갈아..
서블릿과 동시 요청 처리(멀티 쓰레드)
2022. 1. 24. 11:53
Spring
서블릿은 웹 요청과 응답 처리를 해주는 자바 API이다. 즉, 웹 서버처리에 필요한 요청과 응답을 관리하는 것이다. 서블릿을 구현(서블릿은 인터페이스)하는 것들이 톰캣과 같은 WAS 서버인데 톰캣은 apache라는 웹 서버를 포함하고 있다. 즉, 우리가 HttpServlet 같은 것을 사용하여 요청 받고 응답받고 하는 코드들이 톰캣이 서블릿을 구현하여 웹 요청을 처리 해주기 때문인 것이다. 자세히 알아보도록 하자.https://dev-monkey-dugi.tistory.com/119 웹 서버에서는 정확히 무엇을 처리해야 할까? 웹 서버는 웹의 요청과 응답을 관리한다고 했다. 일단 요청이 오고 응답을 주어야 애플리케이션 로직이 당연히 의미가 있는 것이니까 **여기서 웹 서버가 처리한다고 하는 것은 정적 리..