일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 블로그 태그 #국비 #국비학원 #IT #개발자 #프로그래머 #신입 #코딩 #안드로이드 #자바 #JAVA #오라클 #Oracle #SQL #MYSQL #HTML #CSS #JAVASCRIPT #자바스크립트 #서블릿 #SERVLET #JSP #자바스프링 #데이터베이스 #
- forward #include #param
- #홍콩쌀국수 #탐차이
- #라이브러리
- #라이브러리 #개발자 #REACT #Bootstrap #REST API #웹 디자인 #디자인 툴
- #홍콩 #홍콩한달살기 #홍콩버스 #버스어플 #홍콩음식 #홍콩여행 #kmb #lwb#홍
- 백엔드개념 #WAS
- Servlet #JSP #GET #POST #클라이언트
- JSP #액션태그 #
- #홍콩2층버스
- #홍콩 #홍콩여행 #홍콩한달살기 #옥토퍼스카드
- #홍콩 #홍콩여행 #홍콩한달살기 #홍콩사이언스파크 #홍콩산책 #홍콩야경 #홍콩턱돌이
- #국비 #국비학원 #IT #개발자 #프로그래머 #신입 #코딩 #안드로이드 #자바 #JAVA #오라클 #Oracle #SQL #MYSQL #HTML #CSS #JAVASCRIPT #자바스크립트 #서블릿 #SERVLET #JSP #자바스프링 #데이터베이스 #프레임워크
- #라이브러리 #개발자 #REACT #Bootstrap #REST API
- #라이브러리 #개발자 #REACT #Bootstrap #Visual Studio
- #라이브러리 #개발자 #REACT #Bootstrap
- #홍콩 #홍콩여애 #홍콩한달살기 #베트남식당 #viet'schoice #외식 #카레 #양지머리카레 #양지머리 #고기쌀국수 #육수존맛 #레몬차 #밀크티 #shatin #홍콩쇼핑 #asus노트북 #어댑터 #홍콩돼지코
- JSP #표현언어 #page #include #taglib
- 서블릿 #Servlet #Request #Response #개발자
- #홍콩여행 #홍콩국가 #홍콩지도 #홍콩날씨
- #홍콩 #홍콩여행 #홍콩한달살기 #홍콩집밥 #홍콩생활 #홍콩베이징구스 #홍콩산책 #홍콩조깅 #홍콩우편함
- Today
- Total
기분좋음
국비 54 일차 본문
JSP5
JSP 내장 객체
• JSP가 서블릿으로 변환 될 때 자동으로 생성해 주기 때문에 별도의 객체 생성이 필요없다.
ex) <% out.print("hello"); %> out객체
•자동으로 생성되는 내장객체 종류
내장객체의 분류 | 내장객체 | 형태 |
입출력 관련 객체 | request | HttpServletRequest request |
response | HttpServletResponse response | |
out | JspWriter out (실행결과 출력) | |
서블릿 관련 객체 | page | Object page |
config | ServletConfig config | |
외부 환경 정보 제공하는 객체 | session | HttpSession session |
application | ServletContext application | |
예외 처리 관련 객체 | exception | 에러 페이지로 지정시 생성 |
request , page, session, application -(session유지 -다른page로 넘어가도 유지되는 범위 설정)
request내장객체 (클라이언트와 웹서버사이의 요청 정보는 request객체에 저장되어 관리)
메소드 | 설명 |
getContextpath() | JSP페이지가 속한 웹 애플리케이션의 컨텍스트 패스를 가져온다. |
getMethod() | 요청방식 가져온다(GET , POST) |
getRequestURL() | 요청 URL 가져온다 |
getRequestURI() | URL에서 QueryString 부분 제외한 나머지 부분 가져온다. |
getQueryString() | URL 다음에 오는 QueryString부분 가져온다 (?이후 문장) |
getSession(flag) | 요청에 관련된 세션 객체를 가져온다 |
getRequestDispatcher(path) | 지정 로컬 URL에 대한 RequestDispatcher객체를 가져온다. |
request 내장객체
(요청 파라미터 관련 메소드) 多 사용
메소드 | 설명 |
getParameter(String name) | 지정한 이름의 parameter를 구한다. |
getParameterNames() | 모든 parameter의 이름을 구한다. |
getParameterValues(String name) | 지정한 이름값의 parameter값이 여러개인 경우 사용 parameter의 값을 배열로 구한다. |
ex)
<input type="text" name="id">
→ id의 값을 가져온다.
request.getParameter("id");
response 내장 객체
• 실행 결과를 브라우저로 되돌려 줄 때 사용하는 내장 객체
redirect -웹 서버가 브라우저에게 지정된 페이지로 이동하도록 지시
<%
response.sendRedirect("http://www.naver.com");
%>
웹 페이지 이동 방식
1) redirect 방식
- response객체의 sendRedirect 방식
- 브라우저의 URL을 변경해 페이지를 이동 (request, response객체가 유지되지 않는다)
-다른페이지에 데이터를 전송시 쿼리스트링 이용
(response.sendRedirect("login.jsp?name="+name)
2) foward 방식
- 서버상으로 페이지가 이동 (브라우저에서는 페이지 이동을 알수 없다)
- URL변경 없고, 기존 request, response객체가 유지된다.
- RequestDispatcher객체를 통해 호출 가능
-다른페이지에 데이터를 전송시 request객체 유지되므로 객체에 데이터를 담아서 보낼 수 있다request.setAttribute("name",name);
내장객체의 영역
• 내장 객체의 영역은 객체가 유효한 영역
영역 | 설명 |
page | 하나의 JSP 페이지를 처리시 사용되는 영역 |
request | 하나의 요청 처리시 사용되는 영역 |
session | 하나의 브라우저와 관련된 영역 |
application | 하나의 웹 어플리케이션과 관련된 영역 |
page<request<session<application (영역 크기)
page
• 요청을 처리하는 JSP페이지 하나당 새로운 page영역을 가지며 pageContext객체 하나가 생성
• pageContext 객체에 정보가 저장되면 해당 page내에서만 사용 가능
request
• 클라이언트가 페이지 요청시 요청한 페이지와 요청 받은 페이지 사이의 request 내장 객체에 정보저장 가능하다.
• 브라우저가 응답 페이지를 받으면 request객체는 사라진다. -(하나의 요청이 끝나기까지에 모든 JSP페이지가 포함)
session
• 웹 브라우저를 닫기 전까지 페이지를 이동해도 정보를 저장할 수 있는 객체
• 사용자 정보를 담아서 사용하는 session객체는 로그인 인증처리를 통해 회원 전용 페이지를 사용가능하게 해준다.
• 하나의 브라우저와 관련된 영역
application
• 하나의 웹 애플리케이션과 관련된 전체 영역을 포함 (ex - 크롬과 엣지 둘다 켜서 확인해도 유효)
• 웹 애플리케이션에 속한 모든 페이지, 페이지에 대한 요청, 세션 전부 application 영역에 속한다.
JSP 내장 객체 메소드
메소드 종류 | 설명 |
setAttribute("속성 이름",속성 값) | 영역 객체에 정보를 저장 |
getAttribute("속성 이름") | 영역 객체에 정보를 꺼낸다 |
getAttributeNames() | 영역 객체에 모든 속성이름을 가져온다 |
removeAttribute("속성 이름") | 영역 객체에 지정된 속성을 삭제 |
JSP 액션 태그
• 내장 객체를 통해서 태그로 동적 행동 표현 가능하게 한다.
• 클라이언트 혹은 서버에게 어떠한 행동을 하도록 명령하는 태그 (깔끔하고 가독성이 좋다)
• 액션태그는 기본 XML 문법을 따른다 (HTML과 유사, 닫기 / 반드시 표기)
태그 종류 | 설명 |
<jsp:forward> | 다른 사이트로 이동시 사용, 페이지 흐름을 제어시 사용 |
<jsp:include> | 정적 혹은 동적인 자원을 페이지에 포함시킨다. 페이지 모듈화에 사용(ex-header,footer) |
<jsp:param> | <jsp:forward>,<jsp:include>과 함께 사용되어 파라미터 추가시에 사용 |
<jsp:useBean> | 빈(Bean)을 생성, 사용하기 위한 환경 정의하는 태그 |
<jsp:setProperty> | 빈에서 속성값을 할당 |
<jsp:getProperty> | 빈에서 속성 값을 가져올 때 사용 |
<jsp:forward>-현재 페이지에서 URL로 지정된 특정 페이지로 넘어갈 때 사용
<jsp:forward page="이동하려는 페이지 주소">
서블릿 변환 →
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(“url”);
dispatcher.forward(request,response);
가독성 up
<jsp:param>
• <jsp:forward>액션 태그로 이동하는 페이지로 정보 추가할 때 사용하는 태그
• 단독 사용 하지 않고, forward, include 내부에 포함되어 사용
<jsp:forward page="이동할 페이지">
<jsp:param name="속성" value="속성 값"/>
</jsp:forward>
<jsp:include>
모든 페이지에 공통으로 사용되는 내용이 있을시 사용(ex-공통 header, footer)
<jsp:include page="포함하고자 하는 페이지 주소" flush="true또는 false"/>
flush-출력 내용 쌓인 버퍼 처리(기본값-false)
유의사항
<%@include file='url'%>
-지정된 페이지가 현재페이지에 합쳐진 후 하나가 된 후 컴파일됨
-독립적 형태가 아닌 현재 페이지의 일부분으로 구성→전체 페이지의 변수가 공유
<jsp:include>
-합쳐지는게 아닌 제어권이 지정한 페이지를 넘어 갔다가 돌아오는 독립적 형태
-컴파일이 되는 두 페이지간의 연락을 교환해 하나의 페이지인것 처럼 취급
→전체 페이지의 변수가 공유 되지 않는다
36