서블릿(Servlet)은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램을 말한다.
웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종인 서블릿을 실행시켜 보자
package hello.servlet.basic;
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(name = "Servlet", urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("first servlet");
}
}
어노테이션 살펴보기
@WebServlet(name = "helloServlet", urlPatterns = "/hello")
먼저 서블릿의 이름과 url을 설정해준다
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("first servlet");
}
HttpServlet에서 상속받은 service method를 override해준다
설정을 끝내고 localhost:8080/hello로 접속하면 화면에서 first servlet을 확인할 수 있다
@WebServlet(name = "helloServlet", urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("request = " + request);
System.out.println("response = " + response);
}
}
출력된 request, response 객체 살펴보기
request = org.apache.catalina.connector.RequestFacade@6fefd385
response = org.apache.catalina.connector.ResponseFacade@63e098c2
톰캣 라이브러리가 출력된다.
request 객체로 query parameter 읽어오기
@WebServlet(name = "Servlet", urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
System.out.println("id: "+ id);
}
}