서블릿 기본 기능 수행 과정 클라이언트로부터 요청을 받는다. 데이터베이스 연동과 같은 비즈니스 로직을 처리한다. 처리된 결과를 클라이언트에 돌려준다. 서블릿 응답과 요청 수행 API 기능 요청이나 응답과 관련된 API는 모두 javax.servlet.http 패키지에 있다. 요청 관련 API : javax.serlet.http.HttpServletRequest class 응답 관련 API : javax.servlet.http.HttpServletResponse class 클라이언트가 서블릿에 요청하면 먼저 톰캣 컨테이너가 받은 다음, 사용자의 요청이나 응답에 대한 HttpServletRequest 객체와 HttpServletResponse 객체를 만들고 서블릿의 doGet()이나 doPost() 메서드를..
서블릿 서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스이다. 자바의 모든 특징을 가지지만, 차이점은 독자적으로 실행되지 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다는 것이다. 서블릿이 있는 웹의 동작 방식 클라이언트가 웹 서버에 요청하면 웹 서버는 그 요청을 톰캣과 같은 웹 애플리케이션 서버(WAS)에 위임한다. 그러면 WAS는 각 요청에 해당하는 서블릿을 실행한다. 그리고 서블릿은 요청에 대한 기능을 수행한 후 결과를 반환하여 클라이언트에 전송한다. 특징 서버 쪽에서 실행되면서 기능을 수행한다. 기존의 정적인 웹 프로그램의 문제점을 보완하여 동적인 여러 가지 기능을 제공한다. 스레드 방식으로 실행된다. 객체 지향적이다. 컨테이너에서 실행된다. 컨..
정의 정적인 웹 애플리케이션 기능을 그대로 사용하면서 서블릿, JSP, 자바 클래스들을 추가하여 사용자에게 동적인 서비스를 제공하는 프로그램이다. 웹 컨테이너에서 실행되는 JSP, 서블릿, 자바 클래스들을 사용해 정적 웹 프로그래밍 방식의 단점을 보완하여 서비스를 제공하는 서버 프로그램이다. 기본 구조 톰캣과 같은 웹 컨테이너에서 실행하는 웹 애플리케이션의 기본 구조를 파악해보자. 구성 요소 기능 Application Name 웹 애플리케이션의 루트 디렉토리. 다른 웹 애플리케이션 이름과 중복을 허용하지 않으며, JSP, HTML 파일을 저장한다. WEB-INF 웹 애플리케이션에 관한 정보가 저장된 곳이다. 이 디렉터리는 외부에서 접근할 수 없다. classes 웹 애플리케이션이 수행하는 서블릿과 다른 ..
정적 웹 프로그래밍 정적 웹 프로그래밍 : 아파치와 같은 웹 서버를 이용해서 웹 페이지들을 브라우저에 표시하는 방식. 클라이언트 요청이 오면 응답으로 정적인 파일들(HTML, CSS, JS)을 전송한다. 정적 파일들은 사용자 입장에서 변경되지 않기 때문에 요즘과 같은 real time(실시간)으로 변동이 생기는 홈페이지에는 부적합하다고 볼 수 있다. 정적 웹 프로그래밍의 여러 가지 구성 요소에 대해서 알아보자. 웹 서버 : 각 클라이언트에게 정적인 데이터만 서비스하는 컴퓨터를 의미한다. 클라이언트 : 네트워크로 서버에 접속한 후 서버로부터 서비스를 제공받는 컴퓨터를 의미한다. HTTP Protocol : Hyper Text Transfer Protocol의 약자로, www 서비스를 제공하는 통신 규약을 ..
일반적으로 많이 사용하는 표준화 소스 구조를 웹 애플리케이션 모델이라고 한다. 웹 애플리케이션의 종류에는 모델 1과 모델 2 방식이 있다. 모델 1 방식은 현대 개발 업계에서 사용하지 않는 방식으로 이 글에서 다루지 않는다. 모델 2는 지금에서도 사용하고 있는 MVC 패턴이라고 할 수 있다. 그럼 MVC 패턴에 대해 알아보자. MVC 패턴 Model - View - Controller의 약자로, 웹 애플리케이션을 화면 부분, 요청 처리 부분, 로직 처리 부분으로 나누어 개발하는 디자인 패턴이다. MVC 특징으로는 다음과 같다. 각 기능이 분리되어 있어 개발 및 유지보수가 편리하다. 각 기능의 재사용성이 높아진다. 디자이너와 개발자의 작업을 분업화해서 쉽게 개발할 수 있다. Model : 비즈니스 영역(데..
✅ 서블릿 웹 프로젝트 생성(feat. Eclipse) File ➡️ New ➡️ Dynamic Web Project 버전을 확인해주는 것은 중요하다. Dynamic WebModule 4.0 버전은 Java 1.8 버전 이상과 Servlet API 4.0, Tomcat 9 버전 이상이 필요하다. 설정할 것이 따로 없다. 넘기도록 하자. Content Root(= Content Path) : 기본적으로 프로젝트의 이름이 설정 되어 있다. Content directory : WebCotent 디렉토리 내에 WEB-INF와 META-INF가 생성되며, WebContent 내에 정적 소스 파일들(html, jsp, image, etc)이 저장 된다. 기본 프로젝트가 생성되었다. 프로젝트 내에 있는 것들에 대해서..