달력

42025  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

'JSP'에 해당되는 글 5건

  1. 2010.09.01 세션 & 쿠기
  2. 2010.09.01 JDBC로 DB 연동 1
  3. 2010.08.31 What's JavaBeans
  4. 2010.08.31 JSP 내부 객체
  5. 2010.08.31 JSP 기본 문법

세션 & 쿠기

JSP 2010. 9. 1. 11:06

세션

  1. 세션이란 클라이언트와 웹서버 간에 네트워크 연결이 지속적으로 유지되고 있는 상태를 말함
  2. 클라이언트가 웹서버에 요청하여 처음 접속하면 JSP에서 요청한 클라이언트에 대하여 유일한 ID를 부여하게 되는데, 이 ID를 세션이라 부른다.
  3. 세션 ID를 임시로 저장하여 페이지 이동 시 이용하거나, 클라이언트가 재 접속 했을 때 클라이언트를 구분할 수 있는 유일한 수단이 된다
  4. 세션의 장점
    1. 각각의 클라이언트마다 고유의 ID 부여
    2. 세션 객체마다 저장해 둔 데이터를 이용하여 서로 다른 클라이언트의 요구에 맞게 서비스 제공
    3. 클라이언트 자신만의 고유한 페이지를 열어놓아서 생길 수 있는 보안상의 문제 해결 용이

   

쿠키

  1. 쿠키란 서버측에서 클라이언트측에 상태 정보를 저장하고 추출할 수 있는 메커니즘이다
  2. 클라이언트의 매 요청마다 웹 브라우저로부터 서버에게 전송되는 정보패킷의 일종
  3. HTTP에서 클라이언트의 상태 정보를 클라이언트의 하드 디스크에 저장하였다가 필요시 정보를 참조하거나 재사용할 수 있다
  4. 사용 예
    1. 방문했던 사이트에 다시 방문 하였을 때 아이디와 비밀번호 자동 입력
    2. 팝업에서 "오늘 이 창을 다시 보지 않음" 체크
  5. 쿠키의 제약조건
    1. 클라이언트에 총 300개까지 쿠키를 저장할 수 있다.
    2. 하나의 도메인 당 20개의 값만을 가질 수 있다.
    3. 하나의 쿠키 값은 4096Byte까지 저장 가능하다.

   

   

   

Cookie class 사용 순서

  1. 쿠키 생성
    1. Cokie myCookie = new Cookie("CookieName","쿠키의 값")

      Cookie 생성자로 쿠키 이름, 쿠키의 값을 말한다.

  2. 쿠키 수명주기
    1. Cookie.setMaxAge(int expiry);

      Expiry는 초 단위로 쿠키의 최대 수명을 설정한다.

  3. 쿠키 셋팅
    1. myCookie.setValue("Wow")

      쿠키 생성시 이름에 대응하는 값을 새롭게 지정할 때 사용한다.

  4. 쿠키 전달
    1. Response.addCookie(myCookie)

      응답객체로 response 객체에 지정한 쿠키를 전달한다.

  5. 쿠키 읽기
    1. Request.getCookies()

      클라이언트에 저장된 쿠키를 읽는다. 반환형은 Cookie[]이다.

  6. 쿠키 이름 읽기
    1. Cookie[].getName()

      쿠키에 저장된 이름을 읽는다.

       

Session class 사용순서

  1. 세션 생성
    1. Session.setAttribute("mySession","session value")

      mySession이란 이름을 가진 세션에 session value란 값을 설정하면 세션객체가 생성된다.

  2. 세션의 유지시간 설정
    1. Session.setMaxInactiveInterval(S)

      S 만큼 생성된 세션의 유지시간을 설정한다

  3. 세션 속성 삭제
    1. Session.removeAttribute("mySession")

      mySession이란 이름을 가진 세션에 부여된 값을 삭제한다.

  4. 세션 삭제
    1. Session.invalidate();

      생성된 세션을 삭제한다.

         

        

Posted by CokeBell
|

JDBC로 DB 연동

JSP 2010. 9. 1. 09:52

JDBC와 DB연동 기본적인 단계

  1. JDBC 드라이버의 인스턴스 생성
    1. Class.forName("Driver_Name");
  2. JDBC 드라이버 인스턴스를 통해 DBMS에 대한 연결 생성
    1. Connection conn = DriverManager.getConnection("DBURL","Account ID","Account PW");
  3. Statement 생성
    1. Statement stmt = conn.createStatement();
  4. 질의문 실행/ResultSet으로 결과 받음
    1. ResultSet rs = stmt.executeQuery("select * from……");
  5. ResultSet 해지
    1. rs.close();
  6. Statement 해지
    1. stmt.close();
  7. 데이터베이스와 연결 해지
    1. conn.close();

   

Connection Pool이란?

처음 DB에 연결하기 위해선 Connection 객체가 필요한데, 이 객체는 새롭게 만들어질 때 많은 시스템 자원을 요구한다.

그래서 생각한 것이 생성한 객체를 1회용으로 사용하지 말고 다시 재사용 하자는 것에서

Connection Pool이 라는 것이 나왔다.

Connection Pool 이란, DB에 접근할 때마다 연결을 했다, 끊었다 하는 것이 아니라, 자바 프로그램에서

미리 몇 개의 연결을 해 놓은 후 필요할 때마다 Pool에서 연결을 빌려와서 사용한 후, 다시 Pool에 돌려 준다. Pool을 너무 크게 해놓으면 메모리의 소모가 크고, 너무 적게 해놓으면 대기하는 시간이 길어진다.

적당한 크기로 설정해야 한다.

Connection Pool은 인터넷상에 공개용으로 돌아 다니고 있다. 평가가 좋은 것을 찾아 쓰면 된다.

Connectionpool을 통한 데이터베이스 연결방법

DBConnectionMgr pool = DBConnectionMgr.getInstance();

데이터 베이스 연결 풀 객체를 얻는다.

Conn = pool.getConnection();

얻어진 풀로 Connection을 얻는다. 주어진 connection을 통해서 데이터베이스에 필요한 질의를 던지고

받는 등의 업무를 처리한다.

Pool.freeconnection(conn);

마지막으로 사용된 Connection을 반환한다. 이는 얻어진 풀 객체를 재사용하기 위해서 닫지 않고 그냥

풀에 반환을 한다.

   

Posted by CokeBell
|

What's JavaBeans

JSP 2010. 8. 31. 16:53

자바빈즈란(JavaBeans)??

JSP에서 좀더 효율적인 프로그래밍을 하루 수 있도록 지원하는 기술 중 하나이다.

JSP 페이지에서 HTML을 제외한 다른 많은 JSP코드들이 있을 것이다. 이 많은 코드들로 인해서 페이지를 이해하기가 어려워지는 문제점이 있으며, 디자이너가 이해하고 디자인 하기에는 복잡하고 어려울 수 밖에 없다.

또한 JSP페이지 내에 작성된 프로그램 코드를 다시 재사용하기가 힘들어진다. 한마디로 코드 조각에 불과 할 뿐이다. 그래서 복잡한 자바코드로 구성되는 것을 피하고, 재사용하기 위해 HTML과 같은 쉽고 간단한 코드만을 구성하도록 하는 것이 자바빈즈의 목적이다. JAVA나 C#에서 사용되어지는 Class 개념이라고 보면 되겠다.

   

자바빈즈 만들기 단계

  • 정보를 저장하는 변수는 모두 private로 선언합니다.
    • 접근 허용 가능 범위

         public > protected > default >private

      약간의 차이는 있지만, 접근 범위는 왼쪽일 수록 크다고 보면 된다.

      위의 접근 변경자중 가장 많이 쓰는 것은 public / private가 아닐까 싶다.

      당연히 이 부분은 사람마다 조금씩 차이가 있을 수 있으나 대부분 이와 같지 않을까 ^^;;; 생각된다.

      - public : 클래스, 변수, 메소드 생성자 등의 모든 접근을 허용한다.

                   보통 상수(static final 변수), 메소드(get/set) 등에 많이 사용.

      - protected : default와 같으나 추가적으로, 다른 패키지의 하위클래스에서도 상속 가능.             

      - default : 같은 패키지에 있는 (클래스, 변수, 메소드, 내부클래스)에서 접근 가능하다.

                    접근 변경자가 없는 선언되지 않은 것이 default

      - private : 같은 클래스에서만 접근이 가능하다. 

                    보통 인스턴스 변수, 외부에서 호출해서는 안되는 메소드

  • Private로 선언된 변수의 값을 저장하는 메소드를 만든다.
    • 변경자의 경우는 보통 setXxxx()의 형식으로 만든다. Xxxx는 변수의 이름과 같게.
  • Private로 선언된 변수의 값을 가져오는 메소드를 만든다.
    • 접근자의 경우는 보통 getXxxx()의 형식으로 만든다. Xxxx는 변수의 이름과 같게.
  1. setXxxx() 메소드와 getXxxx()메소드를 public으로 선언하여 둔다.

     

    기본 자바빈즈 형식

    Public class MyBean{

    Private String name; //자신만 사용할 수 있는 변수 생성

       

    Public void setName(String name) //변경자로서 데이터를 변경할 수 있다.

    This.name = name;

       

    Public void getName() //접근자로서 데이터를 가져올수 있다.

    Return this.name;

    }

   

빈을 이용하는 JSP파일 작성

<jsp:useBean id = "빈 이름" class="패키지.빈 클래스 명" scope="범위지정">

빈을 생성한다.

<jsp:setProperty name="빈 이름" property="빈 변수 이름" value="저장할 값">

<jsp:setProperty name="빈 이름" property="*" or property=".." param="..">

빈 값에 저장한다.

  

<jsp:getProperty name = "빈 이름" property="빈 변수 이름">

빈 값을 가져온다.

  • Scope 종류
    • Page - 해당 JSP 페이지 내에서만 존재한다.
    • Request - 사용자의 요청을 처리하는 동안 존재한다.
    • Session - 사용자가 최초에 접속하여 접속을 종료되기까지 존재한다.
    • Application - 해당 어플리케이션이 살아 있는 동안 함께 존재한다.
Posted by CokeBell
|

JSP 내부 객체

JSP 2010. 8. 31. 15:12
  1. 내부 객체란?

    JSP 페이지를 작성할 때 특별한 기능을 제공하는 JSP컨테이너가 제공하는 특별한 객체를 말한다.

    1. jsp 페이지 입출력 관련 내부 객체
    2. Jsp 페이지 외부 환경 정보 제공 내부 객체
    3. Jsp페이지 서블릿 관련 내부 객체
    4. Jsp페이지 예외 관련 기본 객체

    사용되는 범주에 따라 위의 4가지 형태로 구분 된다.

   

  1. 내부 객체

Request

파라미터를 포함한 요청을 담고 있는 객체

response

요청에 대한 응답을 담고 있는 객체

Out

페이지 내용을 담고 있는 출력 스트림 객체

session

세션 정보를 담고 있는 객체

application

어플리케이션 Context의 모든 페이지가 공유할 데이터를 담고 있는 객체

pageContext

페이지 실행에 필요한 Context 정보를 담고 있는 객체

page

JSP 페이지의 서블릿 객체

config

JSP 페이지의 서블릿 설정 데이터 초기화 정보 객체

execption

JSP 페이지의 서블릿 실행시 처리하지 못한 예외 객체

   

  1. 내부 객체의 속성을 저장하고 읽어내는 공통 메소드

setAttribute(key,value)

주어진 key에 속성값을 연결한다.

getAttributeNames()

모든 속성의 이름을 뽑아낸다.

getAttribute(key)

주어진 key에 연결된 속성값을 얻어낸다.

removeAttribute(key)

주어진 key에 연결된 속성값을 제거한다.

   

  • Requset 내부 객체
    • 브라우저에서 jsp페이지로 전달되는 데이터의 묶음으로 http헤더와 http바디로 구성

String getParameter(name)

Name에 할당된 값을 반환하며 지정된 파라미터 값이 없으면

Null값을 반환한다.

String getParameterValues(name)

Name의 모든 값을 String 배열로 반환한다.

Enumeration getParameterName()

요청에 사용된 모든 파라미터 이름을 java.util.Enumeration

타입으로 반환한다.

   

  • Requset시 한글 깨짐 현상
    • 일반적으로 웹페이지간의 request시 request.setCharacterEncoding ("EUC-KR"); 를 사용하여 한글로 다시 복원 할 수 있지만, tomcat을 사용하는 경우 브라우저에서 날라온 post/get로 전달되는 한글이 ISO8859-1로 넘어오는 경우가 있어 한글이 깨지는 경우가 있다.
    • 이 경우 eclipse에 추가시킨 tomcat 서버 폴드의 server.xml 파일을 수정해 주면 된다.
    • 사용되어질 포트의 connector에 (URIEncoding="KSC5601") 추가 시켜 주면 된다.
    • Ex)<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="KSC5601"/>

 

Request 내부 객체의 클라이언트 정보 메소드

String getMethod()

요청에 사용된 요청 방식을 반환한다.(GET,POS,PUT)

String getRequestURL()

요청에 사용된 URL로부터 URL을 반환한다.

String getQueryString()

요청에 사용된 Query 문장을 반환한다.

String getRemoteHost()

클라이언트의 호스트 이름을 반환한다.

String getRemoteAddr()

클라이언틔 주소를 반환한다.

String getProtocol()

사용중인 프로토콜을 반환한다.

String getServerName()

서버의 도메인 이름을 반환한다.

Int getServerPort()

서버의 주소를 반환한다.

String getHeader(name)

HTTP 요청 헤더에 지정된 name의 값을 반환한다.

   

  • Response 내부 객체
    • 요청을 시도한 클라이언트로 전송할 응답을 나타내는 데이터의 묶음이다.
      • Void setHeader(name,value)-응답에 포할될 Header를 설정
      • Void setcontentType(type)-출력되는 페이지의 contentType를 설정
      • String getCharacterEncoding()-응답 페이지의 문자 인코딩 type을 반환
      • sendRedirect(url)-지정된 URL로 요청을 재전송
      • 이 부분은 조금 더 볼 필요가 있을 듯 하다..아직 이해가 되지 않아...어디에 사용되는지 모르겠음..ㅜㅜ

         

  • Out 내부 객체
    • Jsp페이지의 결과를 클라이언트에 전송해 주는 출력 스트림을 나타내며 jsp페이지가 클라이언트에게 보내는 모든 정보가 out 객체를 통해서 전달된다.
    • Out 내부 객체의 메소드
      • Boolean osAutoFlush()-출력 버퍼가 다 채워져 자동으로 flush했을 경우는true 반환, 아닐경우는 false를 반환한다.
      • Int getBufferSize()-출력 버퍼의 전체 크기를 바이트 단위로 반환한다.
      • Int getRemaining()-출력 버퍼의 남은 양을 바이트 단위로 반환한다.
      • Void clearBuffer()-현재 출력 버퍼의 저장된 내용을 취소한다.
      • String println(string)-string을 브라우저에 출력한다.
      • Void flush()-현재 출력 버퍼의 내용을 flus하여 클라이언트로 전송한다.
      • Void close()-출력 버퍼의 내용을 flush하고 스트림을 닫는다.

         

  • Session
    • 클라이언트 요청에 대한 context 정보의 세션과 관련된 정보를 저장하고 관리하는 객체이다.
    • Page 지시자의 session속성이 true로 설정되어 있어야 사용할 수 있다. 단 session객체가 필요없는 페이지라면 false로 설정하는 것이 자원 활용에 도움이 된다.
    • Session 내부 객체의 메소드
      • String getId()-해당 세션의 세션 id를 반환한다.
      • Long getCreationTime()-세션의 생성된 시간을 반환한다.
      • Long getLastAccessedTime()-클라이언트 요청이 마지막으로 시도된 시간을 반환한다.
      • Void setMacInactioveInterval(time)-세션을 유지할 시간을 초단위로 설정한다.
      • Int getMacInactiveInterval()-세션 유지 시간을 반환한다.
      • Boolean isNew()-클라이언트 세션 id를 할당하지 않은 경우 true값을 반환한다.
      • Void invalidate()-해당 세션을 종료한다.

         

    • Ex)
      • Test_session_01.jsp

      <body>

      <form method=post action="test_session_02.jsp">

      아이디:<input type="text" name="id"></input><P></P>

      비밀번호:<input type="password" name="password"></input><p></p>

      <input type="submit" value="로그인"></input>

      </form>

      </body>

 

  • Test_session_02.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"

pageEncoding="EUC-KR" session="true"%>

<% request.setCharacterEncoding("euc-kr"); %>

<% String id=request.getParameter("id");

String password=request.getParameter("password");

session.setAttribute("idKey",id); //세션에 이름을 이용해서 객체를 저장시킨다

session.setMaxInactiveInterval(60); %>

<body>

<form method="post" action="test_session_03.jsp">

1.가장 좋아하는 계절은?<br></br>

<input type="radio" name="season" value="봄">봄</input>

<input type="radio" name="season" value="여름">여름</input>

<input type="radio" name="season" value="가을">가을</input>

1.가장 좋아하는 과일은?<br></br>

<input type="radio" name="fruit" value="사과">사과</input>

<input type="radio" name="fruit" value="배">배</input>

<input type="radio" name="fruit" value="포도">포도</input>

<input type="submit" value="결과"></input>

</form>

</body>

 

  • Test_session_03.jsp

<%request.setCharacterEncoding("euc-kr");%>

<% String season=request.getParameter("season");

String fruit = request.getParameter("fruit");

String id=(String)session.getAttribute("idKey");//주어진 이름으로 세션에 저장된 객체를 리턴한다.

String sessionid=session.getId();

int intervalTime = session.getMaxInactiveInterval();

if(id!=null){ %>

<body>

<%=id %>님이 좋아하는 계절과 과일은<br></br>

<%=season %>과 <%=fruit %>입니다.<br></br>

세션 ID:<%=id %><p></p>

세션유지시간:<%=intervalTime %><br></br>

<% session.invalidate(); }

else{         out.println("세션 유지 시간 지났다."); } %>

</body>

-----------------------------------------------

 

  • Application
    • 어플리케이션이 실행되는 서버의 정보와 서버 측 자원에 대한 정보를 얻어내거나 어플리케이션이 실행하고 있는 동안에 발생할 수 있는 이벤트 로그와 관련된 기능들을 제공한다.

String getServerInfo()

서블릿 컨테이너의 이름과 버전을 반환한다.

String getMinmeType(filename)

지정한 파일의 MIME 타입을 반환한다.

String getRealPath(rul)

URL를 로컬 파일 시스템으로 변경하여 반환한다.

Void log(message)

로그 파일에 message를 기록한다.

  • MIME (Multipurpose Internet Mail Extensions)는 전자우편을 위한 인터넷 표준 포맷이다

     

  • pageContext
    • 현재 jsp페이지의 context를 나타내며, pageContext 내부 객체를 통해서 다른 내부 객체에 접근할 수가 있다.

ServletRequest getRequest()

페이지 요청 정보를 담고 있는 객체를 반환한다.

ServletResponse fetResopnse()

페이지 요청에 대한 응답 객체를 반환한다.

JspWriter getOut()

페이지 요청에 대한 응답 출력 스트림을 반환한다.

HttpSession getSession()

요청한 클라이언트의 세션 정보를 담고 있는 객체를 반환한다.

Servletcontex getservletContext()

page에 대한 서블릿 실행 환경정보를 담고 있는 객체를 반환한다.

Object getPage()

page의 서블릿 객체를 반환한다.

ServletConfig getServletConfig

page의 서블릿 초기정보의 설정정보를 담고 있는 객체를 반환한다.

Exception getException()

페이지 실행중에 발생되는 에러 페이지에 대한 예외 객체를 반환한다.

 

  • Page
    • JSP페이지 그 자체를 나타내는 객체이다. 그래서 JSP 페이지 내에서 page객체는 this 키워드로 자기 자신을 참조할 수가 있다
    • Ex) String pageInfo = this.getServletInfo(); // 자신을 나타내는 this라는 키워드로 page 지시자의 info 속성값을 반환한다.

       

  • Config
    • Enumeration getInitParameterNames() - 서블릿 설정 파일에 지정된 초기 파라미터 이름을 반환한다.
    • String getInitParameter(name) - 지정한 name의 초기 파라미터 이름을 반환한다.
    • String getServletName() - 서블릿의 이름을 반환한다.
    • Servletcontex getServletContext() - 실행하는 서블릿 ServletContext를 반환한다.

       

  • Exception
    • 내부 객체 프로그래머가 JSP 페이지에서 발생한 예외를 처리하는 페이지를 지정한 경우 에러 페이지에 전달되는 예외 객체이다.
    • Page 지시자의 isErrorPage 속성을 true로 지정한 JSP페이지에서만 사용 가능한 내부 객체이다.
      • String getMessage() - 에러 메시지를 반환한다.
      • String toString() - 에러 실체의 클래스명과 에러 메시지를 반환한다.
Posted by CokeBell
|

JSP 기본 문법

JSP 2010. 8. 31. 14:58

JSP 스크립트 요소

Jsp에서는 총 4가지의 스크립트 요솔를 가진다. 선언문, 스크립트릿, 표현식, 주석 으로 되어 있다.

선언문 <%! 변수 및 메소드를 선언하는 영역이다. %>

선언문에서 선언된 변수는 jsp페이지가 파싱이되면 servlet의 멤버변수가 된다.

선언문에서 선언되 메소드는 jsp 페이지 내에서는 일반적인 메소드로 선언된다.

전역 변수 및 전역 함수로 사용된다.

스크립트릿 <%스크립트릿을 선언하는 영역이다.%>

지역변수로 반드시 초기화를 해주어야 한다.

표현식 <%=변수 혹은 메소드%>

동적인 jsp파일 부분을 브라우저로 표현을 하기 위한 코드 부분이다.

변수의 값을 출력하거나 메소드의 결과값을 가져올수 있다.

삼항 연산자는 조건 검사의 결과값을 반환하기 때문에 표현식에서 사용할 수가 있다.

주석 <%--소스분석에 대한 설명--%>

조건문 - if(조건){처리부}else if(조건){처리부} else {처리부}

Equals와 "="의 차이는 equals는 객체의 내용이 같은지, "="는 객체가 같은지 비교를 한다.

반복문에는 for문과 while문이 있다.

   

JSP 지시자와 액션 태그

지시자는 클라이언트의 요청에 jsp페이지가 실행이 될 때 필요한 정보를 jsp컨테이너에게 알리는

역할을 한다. 지시자는 @로 시작하여 page, include, taglib 3가지가 있다.

   

Page 에 사용할 수 있는 속성 및 값

Info - 페이지를 설명해 주는 문자열로 속성값의 내용이나 길이의 제한이 없다.

<%@page info = "이건 뭐다…"%>

Language - 스크립트 요소에서 사용할 언어를 지정하는 속성이다.

<%@page language = "java"%>

contentType-Jsp페이지의 내용이 어떤 형태로 출력을 할 것인지 MIME형식으로 브라우저에 알려주는 역 할을 한다.

<%@page contantType="text/html",charset="EUC-KR"%>

Extends - jsp페이지가 Servlet소스로 변환되는 시점에서 자신이 상속받을 클래스를 지정할 때 사용된다.

<%@page extends="com.jspstudy.Directive"%>

com.jspstudy.Directive 클래스를 상속을 하겠다는 의미이다.

Import - jsp페이지 내에서 package 이름을 지정하지 않고 다른 클래스를 가져와서 사용하는 경우에 사용 한다.

<%@page import = "java.util.*" page import = "java.io.* , java.sql.* %>

Session-jsp 페이지가 httpsession을 사용할지 여부를 지정하는 속성이다.

<%@page session = "false"%>

Buffer-jsp페이지의 출력 크기를 킬로바이트 단위로 지정하는 속성이면 기본값은 8KB이다.

<%@page buffer="16KB"%>

autoFlush-jsp페이지의 내용들이 브라우저에 출력되기 전에 버퍼에 다 채워질 경우 저장되어 있는 내용들 을 어떻게 처리할 지를 경정하는 것이다. True일 경우 버퍼가 다 찼을 경우 자동적으로 비워지게 되어 요 청한 내용을 브라우저에 전송한다.

<%@page autoFlush = "false"%>

isThreadSafe-하나의 jsp페이지가 동시에 여러 브라우저의 요청을 처리할 수 있는지 여부를 설정하는 것 이다. 기본값은 ture이며 false로 지정해 놓으면 요청을 동시에 처리하지 않고 요청한 순서대로 처리한다.

<%@page isThreadSafe = "false"%>

errorPage - jsp페이지를 처리하는 도중에 페이지에서 예외가 발생할 경우 자신이 예외를 처리하지 않고 다른 페이지에서 처리하도록 지정할 수 있는 속성이다.

<@%page errorPage = "Error.jsp"%>

isErrorPage - jsp페이지가 에러 처리를 담당하는 페이지인지 아닌지 여부를 지정할 때 사용되는 속성이 다. 요청된 현재 페이지가 예외를 발생하여 에러 처리를 위해서 만들어지는 에러 페이지라면 True로 설정 한다.

<%@page isErrorPage = "true"%>

pageEncoding-character의 인코딩을 지정할 때 사용한다.

<%@page pageEncoding = "EUC-KR"%>

Include 지시자 - 여러 jsp페이지에서 공통적으로 포함하는 내용이 있을 때 이렇나 내용을 매번 입력하지 않고 별도의 파일을 저장해 두었다가 jsp 파일에 삽입할 수 있다.

<%include file = "URL"%>

액션 태그

Include 액션 태그-include 지시자와 함께 다른 페이지를 현재 페이지에 포함 시킬 수 있는 기능을 가지고 있다. 그러나 include 지시자는 단순하게 소스의 내용이 텍스트로 포함이 되지만 액션 태그는 포함 시킬 페이지의 처리 결과를 포함시킨다는 점에서 틀리다.

<jsp:include page = "URL" flush="true"/>

Flush속성은 true일 경우 포함할 페이지의 내용을 삽입하기 이전에 현재 페이지가 지금까지 버퍼에 저장한 내용을 출력하게 한다.

Forward-jsp 페이지 내에 forward 액션 태그를 만나게 되면 forward 태그가 있던 jsp페이지의 모든 내용 을 버리고서 forward 태그가 지정하는 다른 페이지로 이동하게 된다.

<sjp:forward page="URL"/>

<jsp:forward page="URL"></jsp:forward>

<jsp:forward page='<%expression%>'/>

<body>

<form method = post action="ForwardTag1_1.jsp">

아이디:<input type="text" name="id"><p></p>

패스워드:<input type="password" name="password"><p><p>

<input type="submit" value="보내기">

</form>

</body>

   

   

<body>

<jsp:forward page="ForwardTag1_2.jsp"/>

</body>

   

<body>

<%

String id=request.getParameter("id");

String password=request.getParameter("password");

%>

당신의 아이디는 <b><%=id %></b>이고 <p></p>

패스워드는 <B><%=password %></B>입니다.

</body>

   

   

<jsp:param> 태그는 액션을 시도하려는 페이지에서 클라이언트 요청시에 포함된 매겨변수와는 별도로 추가적인 값이 생길 때 사용하는 태그입니다.

<jsp:forward page="URL">

<jsp:param name = "name_1" value="value_1"/>

<jsp:param name = "name_2" value="value_2"/>

</jsp:forward>

기타 액션 태그

Plug-in-JSP컨테이너는 <jsp:plugin> 액션 태그를 브라우저에서 인식할 수 있는 태그로 변환하여 브라우저가 자바 플러그인을 사용하여 자바 애플릿을 실행하도록 만들어 준다

useBean-자바빈즈와 통신을 위해서 구현한 액션 태그이다.

Posted by CokeBell
|