66일차-69일차 Review와 Ajax,EL, JSTL
Review
html은 DOM Tree 로 이루어져 있으며, 이는 html 루트태그를 중심으로 배열로 이루어져 있습니다.
CSS는 위에서 아래로 흐릅니다. 이는 중복을 허용합니다.
XML은 태그의 정의를 알아야 합니다.
이 XML은 데이터를 이동, 환경 설정 할 때 쓰입니다.
Ajax
1. 특징
(1) 통신 방법
(2) 비동기로, 리프레시가 없습니다. 하지만 최근에는 동기 방식으로 사용합니다.
동기일 때는 TCP 프로토콜을 사용하고, 비동기일때는 UDP 프로토콜을 사용합니다.
비동기일때, 브라우저에서 웹서버에 요청(request)을 할 때 XMLHttpRequest 객체를 사용하고
웹 서버에서 응답(response)을 하면 XMLHttpRequest 객체를 사용해서 받습니다.
그러므로, 웹 서버에서의 응답은 응답할 내용이 다 준비되어야 브라우저에 응답하고, 브라우저는 리프레시 없이 렌더링할 수 있습니다.
2. XMLHttpRequest 통신 규칙
open(method,url,[ascyn,username,passwrod]) 을 이용해
async는 비동기가 디폴트이며, true이면 비동기 false이면 동기
readyState = 4 && status = 200 이어야 합니다.
3. 주의사항
Ajax 를 할 때는 꼭 로그를 찍어야 합니다. 안 그러면 넘어가는 데이터가 안보입니다.
EL(Expression Language)
EL : 표현언어(Expression Language) 는 스크립트 언어 중 하나입니다.
1. 기능
- JSP의 네 가지 기본 객체가 제공하는 영역의 속성을 사용(page, request, application, session)
- 수치 연산, 관계 연산, 논리 연산자 제공
- 자바 클래스 메소드 호출 기능 제공
- 쿠키, 기본 객체의 속성 등 JSP를 위한 표현 언어의 기본 객체 제공
- 람다식을 이용한 함수 정의와 실행
- 스크림 API를 통한 컬렉션 처리
- 정적 메서드 실행
2. 구성
${출력값}
3. 데이터 타입과 리터럴
- Boolean type
- 정수 타입
- 실수 타입
- 문자열 타입
- 널 타입
4. EL 기본 객체
- pageContext : JSP의 page 기본 객체와 동일
- pageScope
- requestScope
- sessionScope
- applicationScope
- param : request.getParameter(이름)의 결과와 동일 --- ${param.변수이름}
- paramValues : reqeust.getParamterValues(이름)의 결과와 동일
5. 라이브러리 포팅하기
Tomcat 8.5 에 있는 lib를 찾아서
아래 이클립스에
Context/WebContent/WEB-INF/lib/el-api.jar 을 넣습니다.
JSTL : 표준 태그 라이브러리(JSP Standard Tag Library)
1. 라이브러리 포팅하기
(1) https://apache.org/ 검색
(2) 인덱스 T : Tomcat 링크 클릭
(3) Download
(4) Taglibs
(5) Standard 1.1.2 다운로드
(6) 다운로드 후 그 안에 있는 lib에 있는 jstl.jar, standard.jar를
아래 이클립스에
Context/WebContent/WEB-INF/lib/jstl.jar
Context/WebContent/WEB-INF/lib/standard.jar
에 넣습니다.
2. JSTL Tag 종류
JSP 문서 상단에 지시자를 작성하는 것입니다.
(1) 코어
접두어 : c
관련 URI : http://java.sun.com/jsp/jstl/core
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
(2) 날짜, 시간, 통화 기호 등 표시 형식
접두어 : fmt
관련 URI : http://java.sun.com/jsp/jstl/fmt
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
(3) JSTL 제공되는 함수(메서드)
접두어 : fn
관련 URI : http://java.sun.com/jsp/jstl/functions
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
클라이언트 사이드 스크립트 vs 서버 사이드 스크립트
클라이언트 사이드 스크립트는 javascript/Ajax/html/css/jquery
서버 사이트 스크립트는 jsp.Servlet, el, jstl