2015년 8월 13일 목요일

신입SW인력을 위한 실전 JSP 동영상과정 - 제 09~12강 JSP 기능 알아보기

이 게시물은
http://www.wiz.center/195
http://www.wiz.center/196
http://www.wiz.center/198
http://www.wiz.center/199

의 동영상 강의를 시청하고 작성한 글입니다.
새로 시작하는 경우라면 위 링크의 동영상 강의를
들어보세요


1. JSP 동작 원리 이해
    JSP는 표현되는 HTML 파일안에 Java 코드를 삽입하는 방식으로
      소스를 작성한다.

    작성 후 브라우저에서 jsp 요청시 jsp 컨테이너가 판단하여 Servlet
      파일(java)로 변환하는데 _jsp.java 이렇게 약속된 형태로 java파일
      생성 후 이를 다시  컴파일하여 .class 파일로 만들어 실행한다.
    처음 실행시 컴파일 시간이 좀 걸리고 이후에는 파일 작성시간을 보고
      컴파일 여부를 판단하여 실행하게된다.

    하지만 역시 중간중간에 태그를 넣는것은 좀 불편하다 그래서
      Spring, Struct 등 Servlet 과 같이 쓰이면서 HTML 위주로 작성한다.

    좀더 자세한 설명은 아래 링크를 참고
    http://www.gliderwiki.org/wiki/155
 
  1) 태그 종류 ( html 과 다른 java 파일이다
       라는 표시를 해야 되므로 이를 표기하기 위해
       특정한 태그를 사용한다)
     (1) <%@                        %> : 지시자(페이지 속성)
     (2) <%--                        %> : 주석, 브라우저에서는 볼 수 없음
     (3) <%!                          %> : 선언(전역변수 및 메서드 선언 )
     (4) <%                           %> : 스크립트(java코드, 끝에 ; 를 붙여야 함)
     (5) <jsp:action>  </asp:action> : 액션태그 (자바빈 연결)

  2) jsp 에서 사용하는 객체들
     jsp 를 실행시 기본적으로 가지고 다니는 객체들임
     변수처럼 사용가능함.
     (1) 입출력 객체 : request, response, out

     (2) 서블릿 객체 : page, config

     (3) 세션 객체    : session

     (4) 예외 객체    : exception

2. jsp 기본 문법
    관련 설명은 아래 링크를 확인
    http://studyto.cafe24.com/teach/jsp/index.html
    여기서는 자주 쓰는것들만 정리

  1) 지시자(페이지 속성)
      지시자 관련 상세 설명은 지시자에 설정한 링크를 참고

     (1) page (페이지의 전체적인 속성 지정, 규격이 정해져 있어서
          쓰는 방법을 알아야 사용이 편리하다)
          실제 사용시 나머지는 기본 셋팅을 그대로 사용하고
          import 정도만 잘 사용하면 될듯
       <%@ page import="java.lang.*" %>

     (2) import (자바 파일을 참조할때 사용)
       <%@ import file ="java.lang.*"%>

     (3) taglib (태그라이브러리의 태그 사용 여기서는 JSTL, 또는
          따로 정의된 라이브러리를 사용하고자 할때 선언해주고
          밑에서 사용하면 된다.)
       <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

  2) 주석, 브라우저에서는 볼 수 없음
      (지정서식안에 주석문을 작성하면 됨 생략)

  3) 선언(여기서 선언한 변수, 메서드는 전역 속성을 지닌다)

  4) 스크립트(java코드, 끝에 ; 를 붙여야 함,
      여기서도 변수를 지정할 수 있고 이는 지역 속성을 지닌다)
      사용법은 가장 많이 쓰기 때문에 여기서는 설명하지 않음.

  5) 액션태그 (자바빈 연결)
     (1) include (include 지시자에도 있으나 처리 결과를 포함하는 차이가 있음)
          web방식처럼 공간을 지정하고 적절한 위치에서 실행시
          헤드, 메뉴, 사이드, 풋터 등을 위치시킬 수 있다.
        <jsp:include page="url" flush = "true"%>

     (2) forward (다른 페이지로 이동하고자 할때 사용 )
          include는 실행 후 원본 페이지의 나머지 부분을 실행하지만
          forward는 돌아오지 않는다. 조건문을 줘서 로그인이
          안된다든지 등의 분기를 타게끔 작성하여 사용함
        <jsp:forward page ="url"%>

     (3) param (include, forward 사용시 parameter를 포함하고자 할때)
        <jsp:include ......
           <jsp:param name="key" value="value" />
        </jsp:include>


3. request, response
    기본적으로 Servlet에서 사용하는 걸 사용할 수 있다고 보면 된다.
      서버와 클라이언트간 오가는 정보를 관리하는

  1) request
       페이지에서 요청한 정보를 확인할 수 있는 객체
        request 객체의 메서드이므로 메서드 앞에
        request. 을 꼭 붙여야 된다.

     (1) 기본적인 정보
         getContextPath() : 웹어플리케이션 컨텍스트 주소값 얻기
         getMethod() : get, post 방식 구분 가능(사용자가 어떻게 입력했는지)
         getSession() : session 값 얻어내기
         getProtocol() : 해당 프로토콜을 얻기
         getRequestURL() : 요청 URL을 얻기
         getRequestURI() : 요청 URI을 얻기(기본주소 제외값)
         getQueryString() : 쿼리스트링을 얻기
     (2) 파라미터 받기
          getParameter(String name) : 스트링key, 의 value 구하기
          getParameterNames() : 모든 파라미터 이름 구하기
          getParameterValues(String name) : 스트링 배열 값 구하기


  2) response
       페이지로 보내는 정보를 담는 객체
     
     (1) getCharacterEncoding() : 보내는 인코딩 방식 확인용
     (2) addCookie(Cookie) : cookie 를 보낼 때 사용
     (3) sendRedirect(URL)  : 지정 URL로 보낼 때 사용
                                     보통 if문과 같이 사용한다.

댓글 없음:

댓글 쓰기