📌 Servlet과 JSP차이
- Servlet = java 베이스 + html
- JSP = html 베이스 + java
원래는 Servlet만 있었으나 java에 대한 충분한 배경지식이 있어야 하며 java코드 내에 html태그를 넣는 작업이 매우 번거롭기 때문에 JSP가 나타나게 되었다.
때문에 JSP는 개발이 빠르지만 코드가 길어지면 알아보기 힘들다는 단점이 있다.
JSP는 실행되면서 Servlet형태의 Java로 변환 후에 JVM이 컴파일하기 때문에 Servlet 또한 알아야 한다.
📌 JSP Cycle
💡 일반 html파일의 응답/요청 과정
💡 JSP파일이 응답/요청 과정
📌 Servlet 동작 방식
- 클라이언트의 HTTP 요청
- 톰캣에서 요청을 Servlet Container로 보냄
- 요청에 맞는 Servlet이 없을 경우에는 새로운 객체를 생성하고 아니면 그대로 사용
- Servlet의 Service함수가 요청과 응답을 무조건 매개변수로 받게된다.
- 이때 응답은 아직 클라이언트에게 보내지기 전의 빈 그릇만 있는 상태다.
- Service함수에서 받은 요청에 맞는 do함수 (doGet, doPost 등이 있음)를 사용하여 실행된 내용을 response에 담는다.
- Servlet을 직접 보내는 것이 아닌 response만 클라이언트에게 전달된다.
🔥 한줄평
JSP의 동작 과정은 이해했지만 Servlet은 아직 너무 복잡하다..