JSP 기본개념

SeoYehJoon·2023년 9월 13일
0

웹개발-JSP

목록 보기
2/19

먼저 JSP와 Servlet의 차이에 대해서 알아보자

 ServletJSP
정의 및 구조순수 Java 코드로만 이루어진 웹서버용 클래스
동적 웹페이지를 만들 때 java 코드 안에 HTML 태그가 삽입되는 구조.
HTML 코드 속에 자바 코드가 들어가는 구조의 스크립트 언어
코드 내 처리방법자바 코드 속에서 HTML 태그로 문자열(””) 로 처리해야 함.HTML 속에서 자바코드를 <% 소스코드 %> 또는 <%= 소스코드 =%>형태로 처리.
(자바 소스코드로 작성된 부분은 웹 브라우저로 보내는 것이 아니라 웹 서버에서 실행됨)
한계(Servlet)와 보완(JSP)1. 화면 인터페이스 구현에 너무 많은 코드를 필요로 하는 비효율성
2. 테스트할 때 빌드를 항상 다시해야 한다는 한계가 있음
3. HTML 변경 시 Servlet을 재컴파일해야 하는 단점
→ 이에 따라 서블릿 기반의 서버사이트 스크립트 언어 JSP가 등장
1. HTML 표준에 따라 작성되므로 서블릿과 달리 웹페이지 작성이 편리하고,
2. WAS에서 자동으로 빌드하고 클라이언트 화면에 동적으로 보여준다.
MVC 패턴에서의 역할Controller 역할View 역할

출처: https://velog.io/@effirin/Servlet%EA%B3%BC-JSP%EC%97%90-%EB%8C%80%ED%95%B4






Servlet동작방식


웹 브라우저 -> 웹 서버 -> 서블릿 컨테이너 -> .class -> 웹서버 -> 웹브라우저




JSP의 동작방식


웹 브라우저 -> 웹 서버 -> JSP 컨테이너 -> .jsp ->.java( 서블릿파일 ) ->.class -> 웹 서버 -> 웹 브라우저




정리 및 WAS 쓰는 이유


이 그림도 보자 Apache만 이용한 웹서버는 정적인 파일만 처리 가능하지만 Apache+Tomcat을 같이 사용한 WAS는 동적인파일인 JSP 도 사용가능하다. ( 내부적으로 JSP를 Servlet으로 변환시킨다 )

그럼 굳이 이런 체계를 사용하는 이유는 무엇일까?
-> 웹디자이너는 자바코드를 잘 다룰 수 없기 때문에 자바 클래스 파일인 Servlet을 사용하기 어렵다. 따라서 JSP를 서블릿으로 변환하는 체계를 쓴다, JSP는 웹 디자이너에게 친화적일 수 있도록 마크업 기반의 스크립트로 개발되어지기 때문에 디자이너가 평소 HTML을 다루듯 사용할 수 있다.






https://jminc00.tistory.com/22 -->서블릿 컨테이너에 대한 상세한 내부 동작 정보
https://denodo1.tistory.com/37 --> WAS?, 아파치,톰캣?
https://byul91oh.tistory.com/65 --> 아파치, 톰캣이란?
https://dololak.tistory.com/82 --> JSP, Servlet 변환체계를 쓰는 이유?
https://frootjy.tistory.com/15 --> WAS는 웹서버 + 웹컨테이너

profile
책, 블로그 내용을 그대로 재정리하는 것은 가장 효율적인 시간 낭비 방법이다. 벨로그에 글을 쓸때는 직접 문제를 해결한 과정을 스크린샷을 이용해 정리하거나, 개념을 정리할때는 최소2,3개소스에서 이해한 지식을 정리한다.

0개의 댓글