JSP(Java Server Page)란?

진세종·2022년 2월 20일

JSP

목록 보기
1/5

JSP(Java Server Page)

HTML을 중심으로 자바와 같이 연동하여 사용하는 웹 언어이다.
HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다.

HTML코드 안에 JAVA코드를 작성할 수 있는 언어이다.
(HTML은 연산이 안된다. 연산을 처리하기 위해서 HTML안에 자바를 쓰기위함이다.
자바스크립트도 연산이 되지만 간단한 연산만, 복잡한 연산은 JAVA가 편하다,
이때 복잡한 연산은 DB까지 가냐 안가냐 차이)

서버

사용자의 요청에 맞는 서비스를 제공해주는 것
(객체처럼 쓰일 예정 잘 알아두자)
- 요청(request) 클라이언트 ---------------> 서버
- 응답(response) 클라이언트 <-------------- 서버
(Java -> 결과 -> 응답 -> reponse)

웹(WEB)

페이지 요청과 응답이 일어나는 장소
인터넷에 연결된 컴퓨터들을 통해 사람들이 정보를 공유할 수 있는 정보 공간

웹 서버(http) - 아파치

사용자의 요청이 정적 데이터인지 동적 데이터인지 판단한다.
정적 데이터일 경우 이미 준비된 HTML문서를 그대로 응답해주며,
동적 데이터라면 웹 컨테이너에 요청을 보낸다.

클라이언트는 사용하는 브라우저에서 Web Server로 HTTP Request(요청)을 전송한다.
이 때, Web Server는 해당하는 HTTP Response(응답)을 다시 보내준다.

HTTP

HTTP는 인터넷 환경에서 데이터를 주고 받을 수 있는 통신규약이다. 이러한 통신규약을 바탕으로 요청, 응답을 통일된 형식으로 보낸다.

웹 컨테이너(서블릿 컨테이너)

동적 데이터일 경우 JSP, 서블릿으로 연산 및 제어 그리고 DB에 접근해서
정제된 데이터(정적데이터)가 완성되면 이를 응답해준다.

WAS (Web Application Server) - 톰캣

동적 데이터를 처리할 서블릿을 메모리에 할당하며, web.xml을 참조하여 알맞는 서블릿에
대한 Thread를 생성한다. 서블릿 요청과 서블릿 응답 객체 생성 후 서블릿에 전달하면,
연산 종료 후 메모리에서 해제시킨다.

서블릿(Servlet)

Java 코드 안에 HTML 코드를 작성할 수 있는 JAVA프로그램이다.
Thread에 의해 서블릿에 있는 service()메소드가 호출된다.
전송 방식 요청에 맞게 doGet() 또는 doPost() 메소드 등을 호출한다.

자바 언어를 기반으로 만들지며 웹 어플리케이션 서버 ( Web Application Sever ) 위에서 컴파일 되고 동작한다

기본적으로 Servlet은 Java로 만들어진 Class파일이다. 정적인 페이지는 이미 만들어져있지만, 동적인 페이지는 연산을 통해서 새롭게 만들거나 추가해야한다. 이러한 것들을 Dynamic content(동적 콘텐츠)라 하고, 이를 만들기 위해 Java, Python 같은 Server side scripting 언어를 사용한다.

수십 개의 Servlet 중에 원하는 Servlet이 어디에 있는지 알려주는 설명서가 web.xml파일이다. WAS는 xml파일을 통해 알맞는 Servlet을 사용한다.

XML(eXtensible Markup Language)

XML은 HTML과 매우 비슷한 문자 기반의 마크업 언어(text-based markup language)입니다.

이 언어는 사람과 기계가 동시에 읽기 편한 구조로 되어 있습니다.

그러나 XML은 HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로만 만들어졌습니다.

또한, XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있습니다.

참고자료

https://yeon-kr.tistory.com/121
https://javacpro.tistory.com/43

profile
개발자 지망생

0개의 댓글