개발 공부
servlet / jsp 본문
학습자료 1.servlet
학습자료 2.JSP
serlvet | JSP | |
정의 | 순수 Java 코드로만 이루어진 웹서버용 클래스 동적 웹페이지를 만들 때 java 코드 안에 HTML 태그가 삽입되는 구조. |
HTML 코드 속에 자바 코드가 들어가는 구조의 스크립트 언어 |
코드 내 처리방법 | 자바 코드 속에서 HTML 태그로 문자열(””) 로 처리해야 함. | HTML 속에서 자바코드를 <% 소스코드 %> 또는 <%= 소스코드 =%>형태로 처리. (자바 소스코드로 작성된 부분은 웹 브라우저로 보내는 것이 아니라 웹 서버에서 실행됨) |
MVC 패턴에서의 역할 | Controller 역할 | View 역할 |
servlet 동작 방식
1.클라이언트 (사용자) URL 입력시 웹서버에 전달되고 웹서버는 컨테이너로 전달한다(servlet container로 전송)
2. servlet객체와 + 스레드 생성(프로세스는 자원과 스레드로 이루어져 있고 스레드는 작업을 수행하는 주체를 의미)
3.쓰레드가 service() 메서드 호출하여 get요청인지 post 요청인지 파악 후 response(응답),request 객체를 인자로 메서드 호출
4.웹 페이지 생성후 > 다시 컨테이너 > 웹서버 > 클라이언드로 응답을 전달한다.
이후 servlet의 한계로 JSP가 나오게 되었다.
문제점1.
java코드안에 HTML코드를 작성하기 때문에 비즈니스로직과 프레젠테이션 로직이 함께 존재한다
문제점2.
HTML 코드 변경시 서블릿을 매번 재 컴파일 해야한다.
JSP
위 문제점들로 인해 탄생하게 된 서블릿 기반의 스크립트 기술이다.
HTML 코드 내 java 코드를 삽입하여 동적인 페이지를 만들게 된다.
예전에는 servlet으로 동적인 페이지를 생성하여 전달했지만 효율성이 떨어져
JSP가 나오게 되었다.
JSP동작 과정
servlet 동작과정
1. jsp 파일 요청
2. 컨테이너로 jsp 파일을 넘긴다.
3. jsp 파일 파싱(분석) : 해당 jsp 파일이 처음 요청된것이면, 파일을 파싱한다. 이전에 요청되었던 페이지일 경우에 바로 6번 단계로 넘어간다.
4. 서블릿으로 변환 : 새로운 자바파일을 생성한다.
5. 클래스 파일 생성 : 서블릿 파일(자바파일)은 실행 가능한 상태의 클래스 파일로 컴파일 된다.
6. 메모리에 로딩 : 클래스 파일은 메모리에 로딩된다.
7. html 전송 : 클래스 파일에 대한 실행 결과는 다시 웹서버로 넘겨진다. 웹서버는 html 형태로 사용자에게 응답을 한다.
8. 브라우저에 html 실행 되어짐
핵심 = servlet으로 모든 작업을 수행 할 수 있지만 (대표적으로 비즈니스로직)
out객체의 println 메소드를 사용해서 구현하게되면 코드가 길어지고(성능저하) 비효율적이다.
따라서 JSP를 사용하여 HTML코드내 java언어로 응답화면을 만들어 웹서버로 전달한다. (프레젠테이션 로직)
MVC패턴으로 보면 servlet은 controller역할 JSP는 view 역할을 하게된다.
'Server | JSP | SERVLET > server' 카테고리의 다른 글
JSP/SERVLET (GET/POST 요청 doget) (0) | 2023.09.25 |
---|---|
JDBCTemplate (jsp/servlet응용) (0) | 2023.08.26 |
web server / was (0) | 2023.08.04 |