JSP
- JSP는 HTML 파일 내에 Java 언어를 삽입한 문서이다.
- 서블릿은 Java 언어로 이루어진 웹 프로그래밍 문서이다.
- JSP를 배우는 이유와 중요한 장점
- 독립된 플랫폼을 제공하는 Java 언어를 기반으로 작성된다.
- Java 언어에 대한 전문 지식이 없더라도 쉽고 빠르게 배울 수 있다.
- 웹 애플리케이션 개발에 필요한 각종 프레임워크를 완벽하게 지원한다.
- 보안을 중요하게 요구하는 금융권에서 많이 사용된다.
- 다른 엔터프라이즈 기술과 완벽한 호환성을 제공한다.
웹 프로그래밍
- 사용자가 웹 브라우저를 통해 필요한 정보를 서버에게 요청하면 서버는 요청한 정보를 데이터베이스에서 발췌하여 요청한 사용자에게 해당 정보를 제공하는 유기적인 관계로 이루어진 웹 프로그램의 구동을 의미
웹 애플리케이션
- 인터넷이나 인트라넷을 통해 웹 브라우저에서 이용할 수 있는 응용 소프트웨어를 의미
웹 서버
- 네트워크 환경에서 사용자에게 웹페이지를 나타내는 파일들을 제공하고 관리하는 프로그램을 의미
- 웹 서버의 종류는 Apache와 IIS 등이 있음.
클라이언트
- 네트워크 환경에서 서버 시스템과 연결하여 주된 작업이나 정보를 웹 서버에게 요청하고 그 결과를 돌려받는 컴퓨터 시스템을 의미
- 클라이언트의 다른 표현으로 호스트라는 표현을 사용하기도 한다.
- 호스트는 네트워크를 구성하는 컴퓨터 시스템에서 각각의 단말기로부터 자료 처리 요구를 받아 처리하는 중심이 되는 컴퓨터를 의미한다.
라우터
- 서로 다른 네트워크를 연결해 주는 장치
HTTP 프로토콜
- 인터넷에서 사용자가 웹 애플리케이션 서비스를 요청하고 웹 서버는 사용자로부터 요청받은 해당 서비스를 제공해 주는 과정을 원활하게 수행하기 위한 제반 요건을 표준화한 프로토콜을 의미
HTTPS 프로토콜
- 소켓 통신에서 일반 텍스트를 이용하는 대신 SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화하여 보안이 강화된 버전이다.
서블릿 servlet
- 서블릿 규약에 따라 제작된 클래스로 서버에서 웹페이지 등을 동적으로 생성하거나
- 전송되는 데이터 처리를 수행하기 위한 Java로 작성된 프로그램을 의미
- 서블릿을 실행하기 위해서는 먼저 환경을 구축해야 하며 서블릿 실행 환경을 구축하기 위해서는
- 아파치 톰캣 또는 IBM의 웹 스피어나 애플리케이션 서버, 레진 등이 필요함.
웹 컨테이너
- 웹 서버의 컴포넌트 중 하나로 Java 서블릿과 상호작용을 수행하며
- 웹 컨테이너는 서블릿의 생명주기를 관리하고 RUL과 특정 서블릿을 맵핑하여 URL 요청이 올바르게 접근할 수 있도록 권한을 보장함
- 순수 서블릿을 처리하는 경우 서블릿 컨테이너라고 하지만 서블릿 컨테이너를 포함한 JSP, HTTP 서버의 기능도 함께 포함하기 때문에 웹 컨테이너라고도 부름
- 여기서는 무료 사용이 가능한 아파치 톰캣을 웹 컨테이너로 사용함
JSP는 서블릿의 단점을 보완하기 위해 스크립트 방식을 도입하여 개발됨.