Back-end/JAVA,Spring

JSP란 ? Java Server Pages

cheersHena 2018. 8. 7. 01:34
반응형

JSP - Java Server Pages


HTML 내에 java code 삽입하여, 웹서버에서 동적으로 웹 브라우저 관리하는 언어.

즉,  웹사이트를 쉽게 구출할 수 있도록 해주는 스크립트 언어이다.

자바 소스 코드로 작성된 코드는 웹 브라우저가 아닌 웹서버 단에서 실행이 된다.

개발자가 소스코드 수정시 디자인작업 신경쓸 필요없이 자바 소스 부분만 수정하면 되기때문에 개발 효율 상승.

서블릿 기능을 가지고 있고 디자인과 개발이 분리되어 있다.

즉, JSP는 Servlet의 업그레이드 버전이라 생각하면 되고 JSP또한 WAS 에 의하여 JSP페이지를 서블릿 클래스로 변환하여 사용되어진다. 

html코드 속에 들어가는 자바소스코드로 <% java %> or <%= java =%>  형태로 사용.


JSP = HTML + Java code 


** 반대로 javaScript는 웹에서 (웹서버아닌) 바로 동적구현 가능한언어 


JSP가 실행되면 자바 servlet서블릿으로 변환되고 웹 어플리케이션 서버에서 동적 되면서 필요기능수행하고 그 데이터를 웹페이지와 함께 클라이언트로 응답해준다.



서블릿 Servlet

웹페이지를 동적으로 생성하기 위한 서버측 프로그램.

Java언어 기반으로 만들어지고, 와스 Web Application Server 위에서 컴파일되고 동작 함. 

클라이언트 요청을 처리하고 그 결과를 다시 클라에게 전송하는 클래스 구현 규칙을 지킨 프로그램.
web.xml에 Servlet클래스와 URL을 등록하여 사용.



웹 어플리케이션 Web application

웹에서 실행되는 응용프로그램. 인터넷을 통한 업무, 쇼핑 등등 여러 서비스 총칭.
사용자가 필요한 요청(Request) 하고 해당요청 수행후 결과데이터를 응답Response함.
* 웹(web) :인터넷 기반의 정보기술



웹어플리케이션이 동작하기 위한 구성요소.

1. 웹 브라우저 (즉, 사용자 = 클라이언트)
클라이언트가 요청을 하고 전달받은 페이지를 출력하는 환경. 
ex) 크롬 , 인터넷익스플로러, 사파리, 파이어폭스 등..

2. 웹 서버 
클라이언트로부터 요청받아 서버에 저장된 리소스를 클라이언트에게 전달.
주로 정적 컨텐츠 담당.

3. 웹 어플리케이션 서버 = 와스
Web application Server = WAS
서버단에서 필요한 기능을 수행하고 그 결과를 웹서버에게 전달.

4.  DB 
서비스에 필요한 데이터 보관, 갱신 등 관리.. 

JSP
사용자 <---------->  웹서버 <----------> Web App Server(WAS) <---------->   DB
웹브라우저          사용자 접근 위함                 자바 쓰기 위함                                   
ex)HTML                  apache                           tomcat                               mysql


*PHP
사용자 <----------------> 웹서버 <----------------> DB




클라이언트가 요청을하면 웹 서버는 요청에 맞는 응답을 되돌려준다.

그 응답을 사용자는 웹브라우저 화면에서 보게되는것. 




**404 에러 (
앞으로 수없이 많이 보게될 에러... )
지정 페이지 찾을수 없음. 즉, 경로 설정 잘못된 것. 

오타라던지, 해당 페이지 존재여부 부터 확인할것.


Port Numer포트번호
** 톰캣 기본포트 : 8080 













반응형

'Back-end > JAVA,Spring' 카테고리의 다른 글

JSTL (Java Standard Tag Library) / EL (Expression Language)  (0) 2018.08.10
Servlet 서블릿  (0) 2018.08.10
HTML 이란  (0) 2018.08.07
프로시저 예제.  (0) 2018.07.08
JDBC Java DataBase Connectivity  (0) 2018.07.07