본문 바로가기
Java/공부

Servlet과 JSP(Java Server Pages)

by notcherry 2023. 8. 8.

 

 

서블릿이란 자바 기반의 웹 프로그램 개발을 위해 만들어진 기술로 톰캣과 같은 서버 소프트웨어(WAS)를 통해 관리된다.

 

웹 프로그램은 서버에 접속해야만 화면을 볼 수 있고 로그인과 같은 기능은 모두 서버에서 실행되 이후 결과만 클라이언트에 보이는 구조이다. 참고로 이때 클라이언트는  HTML 파일의 내용으로 수신받는데 HTML은 정적인 파일이므로 실시간으로 변하는 정보(날씨, 홈페이지 메인 화면 등)는 가져올 수 없다. 이러한 정보는 데이터베이스에 저장되어 있기 때문에 사용자의 웹 요청을 받으면 또 다른 프로그램을 통해 데이터베이스에서 정보를 가져와 HTML로 재구성 해야한다.

 

이러한 프로그램 실행 중에 데이터베이스에 저장하는 과정이 필요하다. 서블릿은 이러한 기능을 수행할 수 있도록 도와주는 특수한 목적의 자바 프로그램이다.

 

출처 JSP 웹 프로그래밍과 프레임워크

 

JSP는 서블릿에서 HTML과 데이터 결합을 쉽게 처리하기 위해 만들어졌다. 자바 중심의 서블렛과 달리 JSP는 HTML을 중심으로, 컨테니어네 의해 서블릿 형태의 자바 코드로 변환 후 컴파일 되어 컨테이너에 적재되는 구조로 구성된다. 자바 코드를 이용할 때는 <% ... %> 스크립트릿을 사용한다. HTML 부분은 서블릿 컨테이너인 톰캣에 의해 out.println() 을 사용하는 형태로 변환된다. 

 

JSP는 코드가 복잡하고 가독성이 떨어진다. 이러한 문제를 보완하고자 커스텀 태그를 기반으로 하는 JSTL(JSP Standard Tag Library), EL(Expression Language)이 도입되었다. 하지만 화면 구조를 서버에서 빌드하는 구조이기 때문에 사소한 수정도 서블릿 컨테이너를 통해야한다는 단점이 있다. 

 

 

'Java > 공부' 카테고리의 다른 글

필터  (0) 2023.08.10
리스너  (0) 2023.08.10
[Hashmap] .getOrDefault(key, defaultValue)  (0) 2023.07.25
[JAVA] 예제로 Hash map 공부하기  (0) 2023.07.25
배열의 선언과 초기화 예제에 적용해보기  (0) 2023.07.21