projaewoo
2020. 11. 5. 22:09
개념 | 종류 |
Server - side Script (서버 측에서 실행되는 스크립트 언어) (서버 측에서 동적 콘텐츠 생성) |
Servlet / JSP |
Client - side Script (클라이언트 사용자의 웹 브라우저에서 실행되는 언어) |
HTML / CSS, JavaScript |
Servlet
- Java 기반 동적 콘텐츠 생성
- Java 코드 안에 HTML 태그 혼재
- HTML과 연동 어려움
- 이를 보완하기 위해 JSP (HTML 속 Java) 등장
- HTML과 연동 어려움
Applet
- 클라이언트 측 프로그램
- 클라이언트 브라우저에서 호출 -> 클라이언트 PC : 클래스 파일 다운로드
Servlet
- Server + Applet
- 브라우저에서 호출 -> WAS : 웹 페이지 동적 생성, 결과 전송
JSP 정의
- Java 기반 동적 콘텐츠 생성
- HTML 태그 속 Java
- 서버 측 (WAS)에서 동작
- 웹 서버 (Apache)와 연동되어 동적인 페이지 생성
- 정적인 페이지 요청 (HTML, 이미지, 텍스트 파일) : 웹 서버에서 해결
- 동적인 페이지 요청 (jsp페이지) : 웹 서버 -> JSP Container에서 실행
JSP Container
- JSP가 동작할 수 있도록 하는 서버
- JSP를 동작시키기 위해 필요한 프로그램
- ex)
- Tomcat, Resin, JRun, Jetty
- jsp 파일 처리 순서
- 클라이언트의 웹 브라우저
- xxx.jsp 요청 받음
- ex) www.example.com/1105/Test.jsp와 같이 URL로 Test.jsp 파일 요청 받음
- xxx.jsp 요청 받음
- 웹 서버
- xxx.jsp 파일을 JSP Container에게 전달
- JSP Container
- 해당 jsp 페이지 -> Servlet 자바 파일로 변환
- 자바 파일 -> 컴파일 -> 사용자의 브라우저에게 HTML 형태로 전송
- 클라이언트의 웹 브라우저
JSP script
- 정의
- JSP 프로그래밍에서 사용되는 문법
- 종류
- Declaration (선언문)
- Scriptlet
- Expression (표현식)
- Comment (주석)
1. Declaration (선언문)
- 정의
- JSP에서 사용될 변수 or 메소드 선언할 수 있는 영역
- 멤버변수
- 선언문에서 선언된 변수
- 문법
- <%! 멤버변수 or 메소드 선언하는 영역 %>
- 특징
- Scriptlet변수보다 늦게 선언되어도, Scriptlet에서 Declaration(선언문) 안의 변수를 사용 가능
2. Scriptlet
정의
- jsp페이지가 서블릿으로 변환되고 요청될 때, _jspService 메소드 안에 선언 되는 요소
- _jspService 메소드 안에 선언되기 때문에 scriptlet 안에 메소드 선언 불가
- 메소드(_jspService) 안에 메소드 (scriptlet 안의 메소드) 선언 불가하므로
- _jspService 메소드 안에 선언되기 때문에 scriptlet 안에 메소드 선언 불가
특징
- 지역변수 선언
- Test
문법
- <% 이 곳에 자바코드 입력 %>