본문 바로가기
일상/SK고용디딤돌3기

[직무교육과정]Servlet/JSP2

by 보배곰 2017. 3. 5.

[SK고용디딤돌3기/직무교육과정] Servlet/JSP2

2017.01.24.화 백명숙 강사님과 함께 합니다! 

참고한 책: 최범균의 JSP 2.3 웹프로그래밍 기초부터 중급까지(최범균)


복습

  ServletRequest 

 getParameter("name")

 html form 태그 안에서 넘어온 값 추출

 setCharacterEncoding("encoding")

 요청데이터 인코딩 

 getRequestDispatcher("url") 

 해당 url로 포워딩 하려고 

 setAttribute("name", obj)

 request 객체에 저장 

 getAttribute("name") 

 request에 저장된 값 추출 

   ServletResponse 

 setContextType(type)

 응답데이터 인코딩 

 getWriter() 

 servlet에서 화면에 출력하려고 


   RequestDispatcher

 forward(req, res)

 

 include(req, res)

 


▶ JSP 페이지의 구성요소

    • 디렉티브(Directive)
    • 스크립트: 스크립트릿(Scriptlet), 표현식(Expression), 선언부(Declaration)
    • 표준 액션 태그(Action Tag)
    • 기본객체(Implicit Object)
    • 표현언어(Expression Language)
    • 정적인 데이터
    • 커스텀 태그(Custom Tag)와 표준 태그 라이브러리(JSTL)

▶jsp에서 제공하는 기본객체(내장객체, Implicit Object)

    1. request
    2. response
    3. session
    4. out
    5. application
    6. pageContext
    7. config


JSP 태그

 Directive Tag

 Script Tag

 Action Tag 

 <%@ page           %> 

   <%            %> 

 scriptlet 

 <jsp:useBean> 

 <%@ taglib          %> 

   <%=          %>

 expression

 <jsp:getProperty> 

  <%@ include       %>

   <%!           %>

 declaration

 <jsp:setProperty> 

 

   <%--       --%> 

 comment

 <jsp:include>

 

 

 

 <jsp:forward> 


JSP파일은 Servlet 파일로 변환된다.

그 변환된 servlet에서 해당 jsp 태그들이 어떻게 변화하는지 살펴보자

 <%          %>

 <%=        %> 

 service 메서드 내부에 선언

      ==> 로컬변수, 메서드 안에서 출력하는 메서드(호출된 메서드)

 <%!         %>

  인스턴스 변수, 메서드 선언


▶특정 페이지로 분기하는 메서드와 tag

 response.sendRedirect("url") 

  • 분기만 가능
  • url이 바뀜
  • 값을 전달하려면 쿼리스트링으로 보내야 하기 때문에 단순한 값전달만 가능

 <jsp:forward page="url" /> 

  • 분기하면서 data 전달 가능 ( <jsp:param name="" value="" />)
  • url이 바뀌지 않음 


▶ <%@ include   %>와 <jsp:include page=" " /> 차이

 <%@ include    %> 

  • servlet으로 변환될 때 main이랑 코드가 합쳐짐
  • 용도: 코드의 재사용(공통 변수 재사용) 

 <jsp:include page=" " /> 

  • 각각의 servlet이 만들어지고 runtime 때 합쳐짐
  • 용도: 화면의 재사용 


'일상 > SK고용디딤돌3기' 카테고리의 다른 글

SK고용디딤돌 3기 최종합격  (0) 2017.03.05

댓글