JSP
와 비슷한 점이 있지만, JSP
는 HTML
문서 안에 Java
코드를 포함하고 있는 반면, 서블릿은 Java
코드 안에 HTML
을 포함하고 있다는 차이점HTML
을 사용하여 요청에 응답Java Thread
를 이용하여 동작MVC
패턴에서 Controller
로 사용HTML
변경 시 Servlet
을 재컴파일해야 하는 단점톰캣
과 같은 JSP/Servlet 컨테이너
에서만 실행 가능하며, 컨테이너 독립적으로 실행doGet()
또는 doPost()
를 호출request
정보 안에 있는 HttpServletRequest
와 서버에서 전송할 response
에 관련된 정보와 기능을 가진 HttpServletResponse
를 건네줌HttpServletRequest
인스턴스에 저장된 정보를 가지고 처리HttpServletResponse
인스턴스를 사용하여 브라우저에 결과를 반환URL
은 다음과 같은 구조를 가짐http://서버명/어플리케이션명/URL 패턴
@WebServlet
어노테이션
을 사용GET | POST | |
---|---|---|
특징 | 전송되는 데이터가 URL뒤에 QueryString으로 전달. 입력 값이 적은 경우나 데이터가 노출이 되도 문제가 없을 경우 사용 | URL과 별도로 전송. HTTP Header 뒤 body에 입력 스트림 데이터로 전달 |
장점 | 간단한 데이터를 빠르게 전송. form tag뿐만 아니라 직접 URL에 입력하여 전송 가능 | 데이터의 제한이 없음 최소한의 보안 유지 효과를 볼 수 있음 |
단점 | 데이터 양에 제한이 있음 (location bar(URL + parameters)를 통해 전송할 수 있는 데이터의 사이즈는 2kb(2048byte)로 제한 | 전송 패킷을 body에 데이터를 구성해야 하므로 전달 데이터의 양이 같을 경우 GET방식보다 느림 |