web/Web

jsp 기본 문법 설명

반응형

주석

JSP에서 주석 처리 방법

<!-- -->

 

JSP 주석 : 클라이언트로 전달 되지 않는 주석

<%-- 주석 --%>

 

지시어

지시어는 해당하는 JSP 파일의 속성을 기술하는 곳으로, JSP 컨테이너에게 해당 페이지를 어떻게 처리해야 하는지 전달하기 위한 내용을 담고 있다.

크게 page, include, taglib으로 나뉘며 각각의 속성이 있다.

  1. Page 지시어

Page 지시어는 현재의 JSP 페이지를 컨테이너에서 처리하는  필요한 각종 속성을 기술하는 부분으로 대개 소스 코드  앞에서   있다.

문법)

<%@ page 속성="속성값1" 속성2="속성값2" %>

 

Ex)

<%@ page contextType="text/html;charset=euc-kr" import="javax.sql.*", java.util.*"  errorPage="error.jsp" %>

 

Page 들어가는 대표 속성 

 import : jsp 내에서 사용할 외부 자바 패키지나 클래스의 import 지정

Session : 세션의 사용유무(기본값 : true)

Buffer : 버퍼의 크기 (기본값 : 8kb)

autoFlush : 버퍼의 내용 자동 비움 (기본값 : true)

isThreadSafe 단일 스레드 모델을 사용함으로써 동시성 제어 여부 지정(기본값 : true)

Info : JSP 페이지에 대한 설명

errorPage :  현재 페이지 내에서 오류 발생  호출될 페이지 지정

isErrorPage 오류만을 처리하는 페이지로 지정(기본값 : false)

contextType : MIME 형식 지정  캐릭터  지정 (기본값 :  text/html:charset=ISO-8859-1)

Extends : 현재 JSP 페이지를 특정 클래스를 상속한 클래스로 지정

 

  1. Include 지시어

Include 지시어는 현재 JSP 파일에 다른 HTML이나 JSP 문서를 포함하기 위한 기능을 제공한다.

Include 지시어는 여러 페이지에 공통으로 들어가는 내용을 관리할  매우 유용하다.

<%@ include file="xxx.jsp" />

-> 그러나 성능적인 측면에서는 그다지 권장할 만한 기법은 아니다.

 

  1. Taglib 지시어

Taglib 지시어는 JSP 기능의 확장을 위해 만들어진 사용자 정의 태그를 JSP 파일에서 사용하기 위해 태그 라이브러리와 관련된 정보를 기술하는 목적

 

액션

  1. Include

Include 지시어와 비슷하나 include 지시어는 해당 파일을 포함시킨 다음 컴파일 하는데 비해, include 액션은 실행 시점에서 해당 파일을 호출 하여 포함한다는 차이가 있다.

Ex)

Include_action.jsp

<jsp:include page="footer.jsp">

<jsp:param name="email" value="test@test.net" />

<jsp:param name="tel" value="000-000-0000" />

</jsp:include>

 

Footer.jsp

<%= request.getParameter("email") %>

<%= request.getParameter("tel") %>

-> 호출 뿐만 아니라 파라미터도 전달   있다.

 

  1. Forward

Forward액션은 include 액션과 유사하지만 현재 페이지를 완전히 다른 페이지로 전환할  사용한다.

Include 제어권을 다른 jsp파일로 넘겼다가 다시 가져오지만, forward 제어권을 완전히 넘겨버린다.

<jsp:forward page="footer.jsp">

<jsp:param name="email" value="test@test.net" />

<jsp:param name="tel" value="000-000-0000" />

-> 동일하게 파라미터 또한 전달   있다.

 

  1. useBean 액션

액션에서 가장 중요한 부분이다.

<jsp:useBean id="변수명" class="빈즈 클래스명" />

<jsp:setProperty name="변수명" property="속성명" />

<jsp:getProperty name="변수명" property="속성명" />

->jsp에서 빈즈 사용  경우 setProperty getProperty 빈즈 클래스의 getter setter 메소드를 내부적으로 호출한다.

useBean id : 빈즈 클래스의 인스턴스명으로 사용할 변수

             class : 빈즈 클래스의 클래스명으로패키지 경로를 포함.

setProperty name : 빈즈 클래스의 인스턴스명으로 id 값에 설정했던 변수명

Property : 속성 값으로 빈즈 클래스의 setXX 메서드와 매칭될 속성 . * 지정하면 모든 setter 자동으로 매칭됨

        

선언과 표현식

  1. 선언

JSP내에 메서드나 멤버변수 선언.

<%!

//멤버변수 선언이나 메서드 선언이   있다.

String str = "test";

Public boolean check() }{

 

]

%>

 

  1. 표현식

표현식은  <%= %> 사용해서 간단한 데이터 출력이나 메서드 호출 등에 이용한다코드 마지막에  세미콜론을 붙혀주어야한다.

<%= result %>

 

  1. 스크립트 릿

스크립트 릿은 JSP 문자내에 자바 코드를 기술 하는 부분이다.

어디서나 자바문법을 사용할  있는 장점이 있으나 근래는 JSP 내에서 가급적 스크립트릿을 사용하지 말것을 권장한다 이유는

JSP 내에 복잡한 프로그램 로직이 많이 들어가게 되면 유지보수가 어려워지고자바코드를 이해할  없는 그래픽 디자이너 등과  작업에 어려움이

있을  있다.

-> 그래서 JSTL 이용한 커스텀 태그 라이브러리나, JSP 빈즈 사용을 권장한다.

<%

// 로컬 변수 선언이나 간단한 로직 사용

String str = "text";

%>

 

 

<%

For(int i=1l i<=10; i++) {

%>

<%= I %><br>

<%

}

%>

 

HTML 자바문법을 같이 사용할  있지만 이렇게 남용할 경우 버그 우려가 높고 가독성이 떨이지기에 JSP 빈즈를 사용한다.

 

JSP 내장 객체

JSP 내장 객체는 JSP 내에서 선언하지 않고 사용하는 객체이다.

  1. Request

Javax.servlet.http.HttpServletRequest 클래스이다.

주로 HTML 폼을 통해 전달되는 값을 가져올  사용한다.

 

  1. Response

Javax.servlet.http.HttpServletResponse 객체에 대한 참조 변수다.

사용자 요청애 대한 응답을 처리하기 위해 사용된다. Request 비해 많이 사용되는 메서드는 적은 편이다.

 

  1. Session

Javax.servlet.http.HttpSession 인터페이스의 참조 변수다.

세션은 해당  서비스에 접속한 사용자의 정보를 서버에 보관할  사용한다.

반응형

'web > Web' 카테고리의 다른 글

Get과 Post 방식의 차이점 설명  (0) 2016.12.22
자바 빈즈 개념 설명(Java Beans)  (0) 2016.12.22
JSP 개념 설명  (0) 2016.12.22
아파치와 톰캣의 차이  (0) 2016.12.22
JSP 2.0에서의 문자셋 지정 방식  (0) 2016.12.22