JSP_Element / 내장객체

2018. 12. 9. 17:27Server/JSP

| JSP Element 표기법


1. 주석문(Comments tag)

<%-- 주석문입니다. --%>


2. 지시자 (Directive tag)

<%@ 지시자 내용 %>

ex) import를 제외하고 한 파일에 하나만 설정해주는게 좋다.

1
2
3
4
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 
<%@ page import"java.util.*" %>
cs

ex)현재 페이지가 JSP오류 처리용 페이지인지 정의한다. (default : false)
   true 인 경우 exception 내장 객체를 사용할 수 있다.
1
<%@ page isErrorPage="true" %>
cs
1
<%= exception.getClass().getName() %>
cs

ex) 해당 JSP페이지가 발생시키는 모든 runtime exception을 처리할 다른 JSP페이지를 지정한다. 
    url은 상대적인 값으로 넣길 바람.
1
<%@ page errorPage = "경로/경로/errorForm.jsp" %>
cs


ex) include 지시자 태그

1
<%@ include file= "url" %>
cs



3. 선언문 (Declaration tag)

<%!  선언문 내용  %>

ex)

1
2
3
<%!
    public static final int DEF_NUM = 1;
%> 
cs



4. 스크립트릿  (Scriptlet tag)

<%  java code  %>

* 일반 java처럼 문장 마지막엔 꼭 ;(세미콜론)을 붙여준다.

ex)

1
2
3
4
<% // 주석입니다.
    String menu = (String)request.getAttribute("menu");
    int price = (int)request.getAttribute("price");
%> 
cs


** 선언문  (Declaration tag)과 스크립트릿 둘 다 변수를 선언할 수 있다.

다만 이 둘의 차이는 있다. 바로 선언문에서의 변수 선언은 전역변수의 선언이고, 스크립트릿의 변수 선언은 지역변수의 선언이라는 것이다 !



5. 표현식 (Expression tag)

<%= 출력내용  %>

* ;(세미콜론)을 붙이면 안된다.

ex)

1
<%= menu %>
cs





| JSP 내장객체


- request  :  HttpServletRequest 객체 참조 변수

- response  :  HttpServletResponse 객체 참조 변수 

- out  : JspWriter 객체 참조 변수 

- session  :  HttpSession 객체 참조 변수

- application  :  ServletContext 객체 참조 변수

- page  :  현재 JSP 페이지에 대한 참조 변수 

- exception  :  발생 하는 Throwable 객체에 대한 참조 변수 (예외클래스를 다룸)




| 영역


- Page : 하나의 JSP페이지를 처리할 때 사용되는 영역. 요청한 페이지에서 보낸 값들을 담는 공간.

- Request : 하나의 요청을 처리할 때 사용되는 영역. 요청한 페이지와 응답하는 페이지의 정보 둘다 담는다.

- Session : 하나의 브라우저와 관련된 영역. 페이지가 넘어가도 로그인 상태가 계속 유지되려면 로그인 정보를 담는 큰 공간이 필요하다.

- Application : 하나의 웹 애플리케이션과 관련된 영역. 모든 사용자들이 공유해서 쓸 수 있는 영역이다.


* 이러한 영역들은 HTTP의 무상태 특징에서 사용된다.




* 여기서 잠깐 알아둬야 할 것 !


< HTTP 프로토콜의 특징 >

1. 무연결

클라이언트가 서버에게 요청을 하고 응답을 받는 그 사이 내내 클라이언트와 서버의 연결이 지속되는 것이 아니다.

요청과 응답이 일어나는 이벤트가 있을 때만 연결을 한다. 


2. 무상태

이벤트가 발생할 때만 연결을 잠깐씩 하다보면 그 사이에 다른 사용자가 새로운 요청을 하고 응답받기도 한다.

이때 그 전 사용자의 요청과 새로운 요청의 내용은 다른 것이고 서로의 요청 정보는 몰라야 한다.


'Server > JSP' 카테고리의 다른 글

JSP_기초 (JSP란? / Servlet과의 차이점 / 사용법 in elicpse)  (0) 2018.12.05