JSP(Java Server Page)
동적인 HTML을 생성하기 위해서 사용.
Servlet의 기능 개선.
//서블렛은 디자이너 개발자간의 업무구분이 되지 않는다.=>class안에 HTML을 작성하는 방식으로 구동,,,
//코드의 복잡도가 상승합(class안에 디자인,업무로직,DB코드등,,)
-SSS(Server Side Script) : Back-end에서 실행되는 언어
JSP,PHP,ASP: 요청되면 서버에서 해석 및 실행되고 실행결과를 HTML로 생성하여 응답하는 언어
-CSS( Client Side Script) ; Front-end에서 실행되는 언어=> JavaScript,ActionScript,VBscript
//이들은 HTML파일에서 작성되고, 클라이언트에서 해석 및 실행되는 언어.
Servlet보다 속도가 느리다.
DD(Web.xml)설정 없이 동작한다.
Java SE에서 제공하는 모든 기능을 사용할 수 있다...(Java EE기반인데 다 된다는 뜻)
디자이너와 개발자간의 업무구분이 어느정도 가능해진다.
JSP의 동작.
web browser
C:\dev\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jsp_prj\org\apache
내가만든 jsp의 java로 변환된 파일위치
jsp 파일 구조
<% @ page 속성="값" , , , %>
JSP Tag's
JSP에서 기능을 정의할 때 사용하는 태그들. <% %> //HTML태그와달리 선언자체로는 일 XX
5가지 태그가 제공됨
JSP가 java source code(Servlet)로 변환되고, 사용자에게는 태그의 내용이 보여지지 않는다
형식)
태그명 | 태그 | 설명 |
지시자 (directive): page | <% @ page , , ,%> | JSP페이지의 환경설정용. |
지시자(directive): include | <% @ include , , ,%> | JSP에서 다른 JSP를 끼워넣어보여줌(중복 코드를 줄인다.) |
선언(declaration) | <%! %> | Class field에 생성되어야할 코드를 정의할 때. JSP페이지에서 method를 정의할 때. JSP페이지에서 i.v, s.v ,constant를 정의할 때. |
스크립틀렛 (scriptlet) |
<% %> | JSP페이지에서 method 내 java code를 정의할 때 사용. (지역변수의 선언,연산,제어,객체 생성,method 호출 가능 _jspService method 안에 코드가 생성된다. |
표현식(expression) | <%= %> | JSP페이지에서 발생한 값을 web browser로 출력할 때. _jspService method 안에 코드가 생성된다. |
주석 | <%-- --%> | JSP가 Servlet코드로 생성되는 것을 막을 떄. |
Scriptlet
-JSP에서 method 내의 Java Code를 정의할 때.
Scriptlet안에 정의하는 코으는 Java Source code로 변환 시 _jspService Method안으로 코드가 생성된다.
내장객체를 사용할 수 있다.
사용법)
<% 내용 %>
표현식(Expression)
JSP에서 발생한 값을 web browser에 출력할 때 사용.
표현식 하나당 하나의 값만 출력 가능.
JSPWriter 출력스트림 객체가 제공하는 print() method를 사용하여 Web browser로 출력된다
JSP가 자바 소스코드로 변환될 때 _jspService()안쪽에 코드가 생성된다.
내장객체를 사용할 수 있다.
문법)
<%= 변수명 %> <%= 반환형이 있는 method%>