무적강사
2019. 7. 17. 09:59
2019. 7. 17. 09:59
서블릿은 클라이언트의 요청을 처리하기 위한 기술로 클라이언트가 요청하면 서버에서 실행되며(서버에 의해서 호출되는 컴포넌트) DB에 대한 처리 등 서버의 리소스를 이용해서 만들어진 결과를 클라이언트에 응답할 수 있도록 하는 기술이다.
우리가 특정 사이트에 접속해서 모든 서비스를 받기 위해서는 대부분의 사이트가 로그인을 해야 한다. 다음과 같은 사이트에 접속하기 위해 로그인 아이디와 패스워드를 입력하고 로그인 버튼을 누르면 어떻게 동작할까?
먼저 우리가 입력한 아이디와 패스워드를 가지고 그쪽 서버에 일치하는 정보가 있는지 확인할 것이다.
만약 일치하는 정보가 있다면 다음과 같이 로그인이 될 것이고
일치하는 정보가 없다면 다음과 같이 메시지를 출력하며 다시 로그인을 시도할 수 있도록 계속 로그인 화면이 출력되도록 할 것이다.
좀 더 언어적인 관점에서 접근해보자. 서블릿은 자바로 만들어진, 웹에서의 요청을 처리하기 위한 기술이다.( PHP, Python의 Flask, Nodejs와 서블릿과 동일한 역할을 하는 기술이다.)
로그인 버튼을 누르면 "select * from tb_member where id =? and pass=?"이런 SQL 문을 실행해서 결과가 있는지 확인해야 한다.
SQL 문을 실행하는 것은 자바 코드다. 즉, JDBC 기술이다. HTML 문서에서는 자바 코드를 실행하거나 호출할 수 없다. 요청을 받아서 JDBC를 연동해 놓은 메서드를 호출하고 결과를 처리하는 역할을 하는 것이 필요하고 이게 서블릿인 것이다.