JSP에 대해

개발/코딩 2013. 11. 21. 11:33

1. JSP 소개

- MS의 ASP에 대응하기 위해 개발 (쉽고 빠르게 원하는 웹 응용프로그램을 작성)

-장점

(1)서블릿보다 쉽고, 빠르게 작성 가능

(2) 화면 구성을 위한 HTML과 프로그램 로직을 분리 가능

(3) 웹 컨테이너에 의한 효율적인 코드 생성

(4)  HTML 페이지 디자인 도구 이용 가능

 

2. JSP에 자바 코드 삽입

- JSP = HTML+자바코드

- 스크립트렛(Scriptlet) :자바 코드가 들어가있는 문법

(1) <% ~ %>   : 자바 코드

(2) _jspService()메서드로 변환

 

3. 특수 문자와 주석

-<% %>문자 출력

-주석 <!--   -->  : HTML주석(소스에 나타남)

   <%-- --> : JSP주석 (소스보기에도 나타나지 않는다)

 

4. JSP페이지 구성

-HTML tag->템플릿 데이터

-원소(Element)

(1)지시어 원소 (page,include, taglib)    : <%@   %>
        page : 페이지에 대한 정보, 세션 사용여부 등

(2)스크립팅 원소 (선언, 표현, 스크립트렛, EL) : <%!  선언  %>,  <%= 표현(화면출력) %>

<% 스크립트렛 %> 

※선언(Declaration)
 JSP 페이지에서 사용되는 멤버 변수나 메소드를 선언
<%! ~ %>
out, request, response등의 내장 객체 사용 불가
jspInit(), jspDestroy() 메서드 선언 가능

 

※스크립트렛(Scriptlet)
자바 문장 사용 (제어문, 반복문, 변수 선언…)
<% ~ %>


※식(Expression)
간단한 계산, 변수, 함수 호출
<% out.println(); %> 과 동일
<%=~%>

(3)액션 원소

 

5. JSP 처리 과정과 라이프 사이클

 

6. JSP 디폴트 객체

-스크립트렛이나 표현식에서 선언하지 않고 사용할 수있는 디폴트 변수(객체)
-JSP 페이지에 관련된 객체  (page->this와 같은 객체, config->여러가지 서비스를 얻고자 할때)
-페이지 입출력에 관련된 객체  (request, response, out->글자를 전송하기 위해)
-컨텍스트에 관련된 객체(session, application, pageContext)
-에러에 관련된 객체 (exception)
-page (JSP 페이지 자신을 표현하기 위한 객체 (this) )

-config (서블릿의 구성 정보에 접근)
-request (클라이언트의 요청을 표현하기 위한 객체)
-response (웹 브아우저에 응답 데이터를 전송하기 위한 객체)
-out (JSP 페이지의 출력 스트림을 위한 객체 )
-session (현재 사용자의 세션을 편하기 위한 객체 )
-application (웹 응용프로그램을 표현하기 위한 객체 )
-pageContext (다른 디폴트 객체들을 프로그램적으로 접근하기 위한 객체 )
-exception (에러 처리를 위한 객체,에러 페이지에서만 사용 가능(isErrorPage = true) )

 

7. page 지시어   <%@   %>

-JSP  페이지와 관련된 속성 정

-import 속성 외에는 한번 이상 기술 할 수 없다

 

8. include 지시어

-외부 데이터 (HTML, JSP) 를 JSP 페이지에 포함 (include지시어, jsp:include 액션 태그)

-형태 ( <%@ include file="relativeURLspec"%>

 

9. JSP를 이용한 폼 데이터 처리

String getParameter(“name”) :
String[] getParameterValues(“name”) :하나의 이름으로써 여러개의 값을 오고자 할때
Enumeration getParameterNames()

ex) 체크 박스 : checkbox.html, checkbox.jsp
ex) 라디어 버튼 : radio.html, radio.jsp
ex) 선택 : select.html, select.jsp

 

 

 


'개발 > 코딩' 카테고리의 다른 글

DB프로그래밍  (0) 2013.11.21
JSP 액션  (0) 2013.11.21
서블릿 프로그래밍  (0) 2013.11.19
스타일 시트  (0) 2013.11.19
자바 스크립트  (0) 2013.11.19