
브라우저가 HTML을 통해 서버에 요청을 전달하면 서버는 요청과 함께 사용자가 전달한 정보를 추출하여 요청된 기능을 처리한다. 이때 서버에서 사용자의 요청을 처리하는 대표적인 자바 기술이 서블릿이다.
| 메소드 | 호출 시점 | 기능 |
|---|---|---|
| init() | 서블릿 객체가 생성된 직후 | 멤버 변수 초기화 |
| service() | 브라우저가 요청할 때마다 | 서블릿이 처리해야 할 구체적인 작업 처리 |
| destory() | 서블릿 객체가 삭제되기 직전 | 자원 해제 |
서블릿 컨테이너는 자신이 생성하고 관리할 객체에 대한 정보를 web.xml파일을 통해서 획득한다. 따라서 서블릿 클래스를 사용하기 위해서는 반드시 서블릿 클래스를 web.xml 파일에 등록해야 한다.
< servlet > : 작성된 서블릿 클래스를 등록할 때 사용
< servlet-name > : 서블릿 객체의 이름 (중복을 허용하지 않음)
< servlet-class > : 패키지 경로를 포함한 전체 경로가 등록되어야 함
< servlet-mapping > : 브라우저의 요청 URL과 서블릿을 매핑하는 설정
< url-pattern > : URL 형식을 지정
<servlet>
<servlet-name>monday</servlet-name>
<servlet-class>com.multi.servlet.e_practice.Monday</servlet-class>
<init-param>
<param-name>temp</param-name>
<param-value>good</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>monday</servlet-name>
<url-pattern>/monday2.do</url-pattern>
</servlet-mapping>
매번 web.xml 파일을 수정하는 대신에 서블릿에서 어노테이션을 이용하여 복잡한 xml 설정을 대체하는 기능을 제공한다.
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/bye2") // <-- 어노테이션
public class Hello extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("안녕히가세요.!!");
String name = request.getParameter("name");
String message = request.getParameter("message");
System.out.println("이름은: "+name+ "메시지는 "+ message);
}
}
본 포스팅은 멀티캠퍼스의 멀티잇 백엔드 개발(Java)의 교육을 수강하고 작성되었습니다.