반응형
- jsp 용도
- JSP는 주로 View로 사용됨. 즉 클라이언트가 해석할 수 있도록 정보를 구성함.
- jsp 파싱 순서
- 컴파일 → JAVA(Stream) → 클라이언트 데이터 전송
- 언어별 컴파일 순서
- 스크립트 릿
- EL 표현식
- JSTL
<c:if test="<%= test.equals("") %>">
</c:if>
JSTL 사용자 정의 태그
- *.tld 파일을 통해서 사용자 정의 태그 정보를 설정함.
- jsp에서 사용된 사용자 정의 태그의 정보 → 클래스 → 클래스 반환값 → 클라이언트 정보 전달
jsp 컴파일
*.jsp 파일은 jsp 서블릿에 의해서 java파일로 컴파일이 진행되며 숨겨진 경로에 저장되어 있다.
_500 _ * _ jsp.java로 java파일이 생성됨.
이클립스 WEB-INF.warjspwork...
.
컴파일된 jsp 클래스는 JspReloader을 통해서 로드되고 실행됨.
JSTL, 스크립트릿 장단점
스크립트 릿
- HTML 태그와 구분되어 가독성이 JSTL에 비하여 좋다.
JSTL
- 필요한 기능을 템플릿화가 가능하기 때문에 효율이 좋아질 수 있다.
- 사용자 정의 태그로 팀원 간 따로 교육이 필요하다.
프로그래밍
${}
servlet의 page, session, request에서 데이터를 가져옴.
EL(Extension Language) 표현식 사용
$ { paramValues . boadDto [0] }
$ { paramValues ["bardDto"] [1] }
<%= %>
out.print()
<% %>
Java Source
JSTL 사용자 정의 태그
*.tld에 정의된 클래스 호출 (XML형식)
나머지 평문
out.print()로 출려됨
jsp:useBean 태그
scope의 데이터를 변수로 선언해준다.<jsp:useBean id="member" class="test.MemberBean" scope="request"/> <% // MemberBean member = request.getAttribute("member"); // 위 같은 선언 없이 member 변수 사용 가능하다. member.getString("name"); %>
JSP<c:out>을 사용하는 이유
- html이나 스크립트가 실행되어 위험합니다.
- 엄격한 태그 규칙을 위해 사용합니다.
- 개행문자 파싱의 차이 때문에 사용합니다.
- 보안성 때문에 사용합니다.
인코딩
ASCII
1byte로 256개의 문자를 표현가능하다.
Unicode
2byte로 65536개를 표현가능하다.
UTF-8
- 가변길이 인코딩
- 영문/숫자/기호는 1byte, 한글/한자는 3byte로 표현
- 영어/숫자/기호만 사용 시 ASCII와 호환가능
- 1byte ~ 4byte 까지 사용
- 1~2byte로 표현하지만 모자르면 4byte까지 확장하여 사용함
URL 인코딩
- 웹 Get 방식은 URL에 데이터를 입력하여 전송
- url은 7비트를 사용하기 때문에 URL 인코딩을 하지 않으면 데이터가 손실됨.
이스케이프
- 이스케이프는 프로그래밍 언어와 문자열 언어 혼동을 피해기 위해 다른 형태로 치환하기 위해 사용하는 언어임.
반응형