서블릿(Servlet) ?
Server와 Applet의 합성어로, 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램이다. 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술인데, 쉽게 말하면 웹을 만들기 위해 자바를 사용할 때 필요한 기술이라고 생각하면 된다.
우리가 흔히 로그인을 할 때, 아이디와 비밀번호를 입력하고 로그인 버튼을 누르는데, 이때 서버는 요청자의 아이디, 비밀번호를 확인 후 다음 페이지를 띄워준다. 띄워주는 것이 바로 서블릿(Servlet).
서블릿의 특징
1. HTML 변경시, 서블릿을 재컴파일 해야한다는 단점이 있음
2. MVC패턴에서 Controller로 이용됨
3. JAVA Thread를 이용하여 동작된다.
4. HTML을 사용하여 요청에 응답한다.
Servlet : Server 상에서 작동하는 Java기반의 Web Application Programming 기술.
Request/Response : Client로부터 데이터가 넘어오면 데이터를 받아서 처리하는 객체와 Client에게 응답을 할 수 있게 해주는 객체
Url Mapping : Web browser에서 Servlet을 동작시키기 위해 실제 Java 클래스의 이름 대신, Servlet 을 요청하기 위한 문자열을 Servlet 클래스와 Mapping(맵핑)시키는것
일반적으로 웹서버는 정적인 페이지만을 제공한다. 따라서 동적인 페이지를 제공하기 위해서 웹서버는 다른 곳에 도움을 요청하여 동적인 페이지를 작성해야 한다. 이 때, 웹 서버가 동적인 페이지를 제공할 수 있도록 도와주는 어플리케이션이 서블릿이다.
서블릿 또한 자바 프로그램의 다른 클래스들처럼 자바 가상머신인 JVM에서 동작해야 하므로, Class 파일이 생성되어야 한다. 그래서 Class 형태로 작성한다. JDK에서는 웹 어플리케이션을 제작할 수 있는 클래스가 제공되지 않고, 톰캣을 설치하고 나면 웹 어플리케이션을 제작할 수 있는 클래스가 제공되는데, 그 클래스가 바로 HttpServlet이다.
HttpServlet을 상속받은 클래스를 서블릿이라고 하는데, 이미 여러 기능이 만들어져 있기 때문에 개발자는 편리하게 웹 프로그램을 만들 수 있다.
get과 post?
Servlet 클래스에서 클라이언트는 서버에 get과post 두 가지 방식 중 하나로 요청을 한다. get 방식은 주소 창을 타고 넘어가기 때문에, 서버로 보내는 데이터를 사용자가 그대로 볼 수 있다. 그래서 보안에 취약하다는 단점이 존재한다. 255자 이하의 적은 양의 데이터를 전송한다. post 방식은 HTML header를 타고 넘어가기 때문에 보안에 강한 장점이 있고, 255자 이상의 대용량 데이터를 전송한다.
'JSP' 카테고리의 다른 글
| Session (3) | 2024.04.20 |
|---|---|
| Cookie (0) | 2024.04.20 |
| MVC (0) | 2024.04.20 |
| 웹에서 파일 업로드하기 (0) | 2024.04.20 |
| Session을 ArrayList로 받기/세션 배열 (0) | 2024.04.20 |