서블릿(Servlet)이란?
Server + Applet의 합성어로 서버에서 실행되는 것, Applet이란 자바를 이용하여 웹에서 실행되는 프로그램을 작성하는 기술을 말한다.
서블릿은 자바 클래스 형태의 웹 애플리케이션, 브라우저를 통해 자바 클래스가 실행되도록 하기 위해서는 javax.servlet.http 패키지에서 제공하는 httpServlet 클래스를 상속받아 구현해야 한다.
JDK에는 웹 애플리케이션을 제작할 수 있는 클래스가 제공되지 않고 톰캣을 설치하고 나면 웹 애플리케이션을 제작할 수 있는 클래스가 제공되는데, 그 그 클래스가 바로 HttpServlet입니다.
HttpServlet은 웹 서비스가 가능한 웹 애플리케이션을 제작할 수 있도록 자바를 확장해 놓은 클래스로 톰캣을 설치하면 제공되는데 HttpServlet을 상속받은 클래스를 서블릿이라고 합니다.
즉, 개발자가 편리하게 HttpServlet을 활용하여 새로운 기능의 웹 프로그램을 만들 수 있는 것입니다.
웹에서는 클라이언트가 어떻게 서버에 요청하는지를 알아야 합니다.
웹에서는 get방식과 post방식이 있습니다.
get방식은 주소 창을 넘어가기 때문에 서버로 보내는 데이터를 사용자가 그대로 볼 수 있습니다. 보안에 취약하지만 255자 이하의 적은 양의 데이터를 전송합니다.
post방식은 html header를 타고 넘어가기 때문에 보안에 강합니다. 255자 이상의 대용량 데이터를 전송합니다.
서블릿 클래스에는 doGet(), doPost()가 있습니다.
get방식으로 요청하면 doGet()이 호출되고 post방식으로 요청하면 doPost()가 호출됩니다.
둘의 방식은 HTML으로 설명드리겠습니다.
<form action = "CallServlet">
<input type = "submit" value= "전송">
</form>
위의 html은 <form> 태그로 서버 측에 존재하는 많은 서블릿 중 하나를 정해서 요청하고 있습니다.
action이라는 속성값에 요청할 서블릿 이름을 기술해야 하며 전송 버튼이 눌리는 순간에 action 속성값에 지정된 서블릿이 요청됩니다.
근데 폼 태그 안에 서블릿 이름을 넣어 놓으면 서버에서는 어떻게 해당 서블릿을 찾을 수 있을까요?
-> WAS(톰캣 엔진)가 운영체제오 같은 시스템 프로그램이므로 확장자가 .class인 파일을 톰캣이 가지고 있다가 요청이 들어오면 해당 서블릿 클래스들을 찾아서 실행하는 원리입니다.
제가 post 방식으로 쓰고 싶다면 <form> 형태 안에 method="post"방식을 넣어주면 됩니다. 즉 아래같이 넣어주면 됩니다.
<form method="post" action = "CallServlet">
<input type="submit" value="전송">
</form>
다음 장에서는 doGet()과 doPost() 중 둘 중에 무엇을 써야 되는지 말씀드리겠습니다.
이상 포스터를 마치겠습니다.
'운영체제' 카테고리의 다른 글
네트워크 OSI 7계층의 역할 (0) | 2020.06.12 |
---|---|
보안의 3대 요소 및 유닉스(리눅스)의 계정 관리 (0) | 2020.06.12 |
HTTP 인증 (0) | 2020.05.28 |
JSP - doGet() 과 doPost()의 차이 (0) | 2020.04.25 |
유니코드(Unicode)란? (0) | 2020.04.03 |