본문 바로가기

개발자노트/웹

JSP와 Servlet(서블릿) + Servlet doGet(),doPost()

[JSP]


HTML 코드내부에 JAVA 언어를 사용할 수 있게 해줌  ==> HTML 문서 안에 Java 코드를 포함
- 서버 프로그래밍 언어
- 컴파일 결과로 .java로 끝나는 파일을 생성함
    => 서블릿 Servlet

 

 

[서블릿 Servlet]

- JAVA 언어에서 HTML를 작성할 수 있게 해줌  ==>  자바 코드 안에 HTML을 포함

- .java로 끝남
- 패키지가 항상 존재해야함!
- 기본 생성자 필수
- doGet(), doPost() 메서드로 GET, POST 요청에 대해 수행할 것을 작성
ex) public class Student 와는 다른 클래스 파일
      - Student을 POJO라고 함
     - 서블릿은 POJO가 아닌 클래스
@WebServlet("/xxx")  어노테이션(애너테이션)
    : "/xxx" 요청에 대해 서블릿 파일을 실행시켜라.

Servlet 만드는법 / 패키지가 존재해야함!

 

 

doGet() 실행
- 객체지향언어에서 메서드가 실행되었다는 것은,
메서드 수행 주체가 생겼다는 뜻인데
- xxx.doGet();
xxx가 생성되었다는 뜻
   -> xxx는 Test 서블릿으로 만든 객체
   => new Test();

 

Servlet Class의 기본모습

 

 

계산기 Servlet 예제를 통해 Servlet에 대해 조금 더 이해를 해보자면,

CalcServlet의 모습

 

 

HTML의 모습


★Calc 서블릿이 객체화(인스턴스화,new) 되지 않았는데,
어떻게 doGet()이 호출되었지???
   

   => 누군가가 new ClacScervlet()하고,
        doGet()도 호출했다!
        누군가 == 서블릿 컨테이너 == 내가 사용하는 톰캣
        컨테이너 : 객체화를 담당

 

서블릿 컨테이너란?

- HTTP 요청을 받아서 Servlet을 실행하고 생명주기를 관리하는 역할

 

- servlet과 웹서버가 통신할 수 있는 방법을 제공

 

- 멀티 스레딩을 지원하여 클라이언트의 다중 요청을 알아서 처리