분류 전체보기 216

서블릿의 생명주기 메서드

서블릿도 자바 클래스이기 때문에 실행하게 되면 당연히 초기화 과정, 메모리에 인스턴스를 생성하여 서비스를 수행한 후 다시 소멸하는 과정을 거친다. 이런 단계를 거칠 때마다 서블릿 클래스의 메서드가 호출되어 초기화, 데이터베이스 연동, 마무리 작업을 수행한다. 이러한 각 과정에서 호출되어 기능을 수행하는 메서드들이 서블릿의 생명주기 메서드이다. 따라서 서블릿 생명주기 메서드란 서블릿 실행 단계마다 호출되어 기능을 수행하는 콜백 메서드를 말한다. 생명주기 단계 호출 메서드 특징 초기화 init() - 서블릿 요청 시 맨 처음 한 번만 호출됨 - 서블릿 생성 시 초기화 작업을 주로 수행함 작업 수행 doGet() doPost() - 서블릿 요청 시 매번 호출됨 - 실제로 클라이언트가 요청하는 작업을 수행함 종..

HttpServlet의 메서드와 기능

HttpServlet GenericServlet은 일반적인 여러 통신 프로토콜에 대한 클라이언트/서버 프로그램에서 서블릿 기능을 구현하는 클래스이다. HttpServlet은 이 GenericServlet을 상속받는다. HttpServlet은 이름에서 알 수 있듯 HTTP 프로토콜을 사용하는 서블릿 기능을 구현하는 클래스이고, 이 HttpServlet을 상속받게 되면 HTTP 프로토콜로 동작하는 웹 브라우저의 요청을 처리하는 서블릿을 만들 수 있다. HttpServlet 메서드의 기능들 메서드 기능 protected doDelete(HttpServletRequest req, HttpServletResponse resp) 서블릿이 DELETE request를 수행하기 위해 service()를 통해 호출됨 p..

서블릿 API 계층 구조와 기능

서블릿은 자바로 만들어졌기 때문에 클래스들 간의 계층 구조를 가짐. 서블릿 API는 Servlet과 ServletConfig 인터페이스를 구현해서 제공, GenericServlet이 Servlet, ServletConfig 인터페이스의 추상 메서드를 구현. 그리고 HttpServlet이 GenericServlet을 다시 상속받음. 서블릿 API 기능 서블릿 API 구성 요소 특징 서블릿 구성 요소 기능 Servlet 인터페이스 - javax.servlet 패키지에 선언되어 있음 - Servlet 관련 추상 메서드를 선언함 - init(), service(), destroy(), getServletInfo(), getServletConfig() 를 선언함 ServletConfig 인터페이스 - javax...

서블릿과 서블릿 컨테이너 이해하기

1. 서블릿 서버쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스이다. 서블릿은 자바로 작성되어 있으므로 자바의 일반적인 특징을 모두 가진다. 하지만 일반 자바 프로그램과는 다르게 독자적으로 실행되지는 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다는 점에서 차이가 있다. 2. 서블릿의 동작 과정 서블릿은 서버에서 실행되다가 웹 브라우저에서 요청을 하면 해당 기능을 수행한 후 웹 브라우저에 결과를 전송한다. 서버에서 실행되므로 보안과 관련된 기능도 훨씬 안정적으로 수행할 수 있다. 서블릿의 동작 과정을 순서대로 나타내면 다음과 같다. 클라이언트가 웹 서버에 요청하면 웹 서버는 그 요청을 톰캣과 같은 웹 애플리케이션 서버(WAS)에 위임한다. 그러면 WAS는 ..

이클립스에서 웹 애플리케이션(WAR 파일) 배포하기(윈도우/Mac)

윈도우 1. 이클립스 상단 메뉴의 File -> Export... 클릭 2. Web -> WAR file 클릭 3. Web project: 배포하고자 하는 프로젝트명 Destination: 저장하고자 하는 위치 여기서는 Destination으로 톰캣 위치의 webapps 내에 webShop.war로 설정하였다. 4. Finish를 누르면 다음과 같이 톰캣 디렉터리 내부의 webapps 폴더를 보면 war 파일이 생긴 것을 볼 수 있다. 5. 톰캣 루트 디렉터리 하위의 bin 폴더에서 startup.bat 파일을 실행 6. 그럼 이렇게 로그가 뜨는데 한글이 깨진다.... 어쨌든 마지막 줄에 [org.apache.catalina.startup.Catalina.start] 라는 글자가 적혀있다면 톰캣이 실행된..