parameter로 한글을 입력 받을 때, utf-8로 변환시켜 깨지지 않게하는 함수

      // 한글을 변환하는 방법

String UStoKR(String str) throws Exception{
    String result = "";
    if (str == null || str.trim().equals("")) 

        result = null;
    else

        result = new String(str.getBytes("ISO-8859-1"), "utf-8");
    return result;

 

입출력 관련 기본 객체

객체

클래스 또는 인터페이스 

설 명 

request 

javax.servlet.ServletRequest 

파라미터를 포함한 요청 데이터 

 주로 파라미터와 쿠키를 처리할 때 많이 사용한다.

response 

javax.servlet.ServletResponse 

응답데이터 

헤더, 쿠키, 응답과 관련된 정보를 설정할 수 있는 방법을 제공한다.

out 

javax.servlet.jsp.JspWriter 

출력 스크림에 출력하는 객체 

결과를 클라이언트에 전송해주는 출력 스트림을 나타낸다. 

 

서블릿 관련 기본 객체

객체 

클래스 또는 인터페이스 

설명 

page 

java.lang.Object

현재 요청을 처리하는 객체 

 JSP 페이지 그 자체를 나타낸다.

config 

javx.servlet.ServletConfig

JSP 페이지의 ServletConfig 객체

 페이지의 초기화 부분에서 주로 사용된다.

 

콘텍스트 관련 기본 객체 

객체

클래스 또는 인터페이스 

설명 

session 

javax.servlet.http.HttpSession 

세션 객체 

 각 클라이언트의 현재 세션을 나타내며, 세션과 관련된 정보를 저장한다.

application 

javax.servlet.ServetContext 

서블릿의 config 객체로부터 구할 수 있는 서블릿 콘텍스트 

일반적으로 JSP 콘테이너는 URL에 있는 첫 번째 디렉토리 이름을 어플리케이션으로 사용한다. 

pageContext 

javax.servlet.jsp.PageContext 

이 JSP 페이지의 페이지 콘텍스트 

 모든 다른 기본 객체에 접근할 수 있다.

 

예외 처리 관련 기본 객체

 객체

클래스 또는 인터페이스 

설명 

 exception

java.lang.Throwable 

에러 페이지에서 사용되는 예외 객체 

page 디렉티브의 isErrorPage 속성의 값을 true로 지정한 경우에만 접근 가능하다.

 

 

JSP 태그

1. 디렉티브(Directive)

2. 스크립트 요소(Scripting elements)

3. 주석

4. 액션(Action)

 

1. 디렉티브(Directive)

 문서를 어떻게 처리할 것인지 나타내는 태그.

 페이지와 관련된 정보를 JSP 콘테이너에 보내는 일종의 메세지.

 

<%@ 디렉티브 속성1= "값1" 속성2="값2" ... %>

 

 디렉티브에는 page 디렉티브, include 디렉티브, taglib 디렉티브가 있다.

 page 디렉티브 : 페이지와 관련된 다양한 속성, 기능을 지정.

속성

값 

기본값 

language

스크립트 언어 이름

"java"

contentType

MIME 타입, 문자셋 

"text/html;

charset=ISO-8859-1" 

info 

문자열 

 

import 

클래스 또는 패키지 이름 

 

session

boolean 값 

"true" 

buffer 

버퍼의 크기 or false 

"8kb" 

autoFlush 

boolean 값 

"true" 

isThreadSafe 

boolean 값 

"true" 

errorPage 

로컬 URL 

 

isErrorPage 

boolean 값 

"false" 

extends 

클래스 이름 

 

 하나의 JSP 페이지에 여러 개의 page 디렉티브를 사용할 수 있지만, import 속성을 제외한 나머지 속성들을 같은 페이지에서 여러번 지정할 수 없다. => 중복 X

 

* contentType 속성

JSP 페이지가 생성하는 문서의 MIME(Multipurpose Internet Mail Extensions) 타입을 나타내는 데 사용.

JSP 페이지에서 사용하는 문자셋을 지정하는 데 사용.

 

* info 속성

페이지를 설명해주는 문자열, 일반적으로 제작자, 버전, 저작권 정보등을 포함시키는 것이 좋다.

 

* import 속성

자바를 스크립트 언어로 사용할 경우 자동적으로 java.lang, javax.servlet, javax.setvlet.http, java,setvlet.jsp 패키지를 import 한다.

 

* autoFlush 속성

버퍼가 다 찰 경우 어떻게 처리할 지를 지정한다. true이면, 출력 버퍼는 자동적으로 비워지고, 버퍼에 있던 내용을 요청한 웹 브라우저에 전송하기 위해서 HTTP 서버에 보내진다.

-> 만약 buffer 속성의 값이 "none"일 경우에는 "false"로 지정할 수 없다.

 

* errorPage 속성

catch하지 않은 에외가 발생할 경우, 보여줄 페이지 설정.

속성 값이 '/'로 시작하면 절대  URL, '/'로 시작하지 않으면 상대 URL을 나타낸다.

 

2. 스크립트 요소(Scripting elements)

선언부(declarations), 스크립트릿(scriptlet), 표현식(expressions)로 구성되어 있다.

 선언부(declarations)

 JSP 페이지에서 사용할 메소드와 변수를 정의. 같은 페이지 다른 스크립트 요소에서 참조 가능.

 

<%! 선언부 부분 %>

 

1) 변수의 선언

선언부에서 정의한 변수는 서블릿으로 변환할 때, 서블릿 클래스의 인스턴스 변수로 변환된다.

 <%!

    private int x = 0;

    private int x = 0;

    private String str = "opid";

    private static int sum = 0;  //인스턴스들이 공유하는 클래스 변수로 선언 가능.

%>

 

2) 메소드의 선언

변수와 메소드를 함께 선언할 수도 있다.

 <%!

    int cul(int x, int y){

        int sum = 0;

        sum = x + y;

        return sum;

    }

%>

 

3) JSP 페이지의 라이프사이클(Life-cycle)

초기화 이벤트나 소멸 이벤트가 발생할 경우 사용되는 메서드.

 <%!

    public void jspInit() {

        // 초기화 이벤트와 관련된 처리.

    }

 

    public void jspDestory() {

        // 소멸 이벤트와 관련된 처리.

    }

%>

 

 표현식 

선언부와는 달리 표현식의 결과를 문자열로 변경되어 출력 스트림에 추가한다. 

<%= expression %>

 스크립트릿

일반적인 목적으로 스크립트 언어를 사용할 수 있도록 해 주는 부분이다.

<% 스크립트릿 부분 %>

 

3. 주석

1) 내용주석    <!-- 주석 내용 -->

브라우저 화면에선 보이지 않지만 소스 보기를 통해서 확인할 수 있다.

내용 주석 안에 JSP 표현식을 포함할 수 있으며, 표현식의 값마다 다르게 생성되기 때문에 동적인 주석 내용을 만들수 있다.

 

2) JSP 주석    <%-- 주석 --%>

페이지가 생산하는 내용과는 상관없으며, 오직 JSP파일에서만 보여진다.

 

3) 스크립트 언어 주석    <% ... /* 주석 */ ... %>

자바의 '/*' 와 '*/', '//'를 사용하여 주석 처리를 할 수 있으며,

 스크립트릿이나 선언부 뿐만 아니라 JSP표현식에서도 주석처리 한다. JSP 콘테이너에 의해 완전히 무시되지 않으며, 변환된 서블릿 코드에 나타난다.

 

'Web > JSP(Java Server Page)' 카테고리의 다른 글

[JSP] 정수,실수,문자열에 콤마찍기 NumberFormat  (0) 2013.07.10
[JSP] 한글변환 메서드  (0) 2013.07.05
[JSP] 기본 객체  (0) 2013.06.28
[JSP] 기초, 개념  (0) 2013.06.27

+ Recent posts