"-JSP(Java Server Pages) : Java + html
jsp 파일을 실행하면 servlet engine을 통해 java를 실행하고 그 결과를 웹브라우저에 띄워줌
(jsp -> servlet -> java -> html -> web)
-jar(Java application resource) : Java 파일을 묶어 놓은 것. 실행파일 또는 일종의 라이브러리로 제공되는 경우 있음
-JSP 기본 태그
1) <%@ %> : java 설정 영역
2) <% %> : Java 코드 영역. 요즘에는 이 방식보다 core 태그 라이브러리를 이용함
-코어태그 사용 지시자
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-el 태그 : ${i} 형태. 값을 가져오거나 변경할 때 사용함.
-코어태그 주요 사용 방법
1) 반복문
< c:forEach var="i" begin="1" end="10" step="1" varStatus="s">
내용
< /c:forEach>
1부터 10까지 i의 값을 1씩 증가하겠다는 의미.
status.index - 목록형 데이터인 경우 목록의 인덱스 번호 0번부터 몇 번째인지의 인덱스 값을 가져옴.
status.count - 몇 개째인지를 가져옴
*목록형 데이터의 경우 첫 번째 라인의 값 - index(0), count(1)
2) 조건문 if
< c:if test="${i % 2 ne 0}">
내용
< /c:if>
i의 값이 짝수가 아니면 내용을 실행하겠다는 의미
test - 조건 설정
eq - 같다 / ne - 다르다
3) 조건문 choose ~ when otherwise(if ~ else if ~ else와 동일)
< c:choose>
< c:when test="조건">
내용
< /c:when>
< c:otherwise>
내용
< /c:otherwise>
< /c:choose>
-데이터 전송 방식 : get방식 / post 방식
1) get 방식 : 데이터가 주소창에 보이기 때문에 보안에 취약함. 대외적으로 알려야하는 정보가 있다거나 보안상 중요한 부분이 아닐 경우 GET방식 사용(검색엔진)
2) post 방식 : 주소에 헤더를 통하여 데이터 전송. 패스워드와 같은 민감한 정보는 post 방식으로 전송
-MVC 디자인 패턴
M(Model) : 데이터 담기
V(View) : 보여주기
C(Controller) : 조작하기
-JSP 모델
1) JSP Model 1 -> M, V + C : 데이터만 따로 담고, 뷰에서 컨트롤러까지 작업
2) JSP Model 2 -> M, V, C : servlet 구현 필요. 주소 -> servlet -> JSP -> servlet엔진 -> 실행 -> 반환 -> WB 과정을 거침
-framework : 작업을 위한 틀
구현상 편의나 보안 등 다양한 이점을 확보하기 위하여 개발의 형태를 제시
-스프링 워크플로우
![]()
-스프링 기본 구조
![]()
-xml : 데이터를 보관하고 관리하기 위해 사용(태그 구조)
-servlet-context.xml
1) annotation-driven : Annotation을 기능으로 사용하겠다는 의미
2) context:component-scan : 클래스 정보 취득 범위 정의
3) resources mapping : 이미지 등 파일의 경로 매핑 지정
4) InternalResourceViewResolver : View 정보가 넘어올 경우 낚아챔
"
jsp 파일을 실행하면 servlet engine을 통해 java를 실행하고 그 결과를 웹브라우저에 띄워줌
(jsp -> servlet -> java -> html -> web)
-jar(Java application resource) : Java 파일을 묶어 놓은 것. 실행파일 또는 일종의 라이브러리로 제공되는 경우 있음
-JSP 기본 태그
1) <%@ %> : java 설정 영역
2) <% %> : Java 코드 영역. 요즘에는 이 방식보다 core 태그 라이브러리를 이용함
-코어태그 사용 지시자
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-el 태그 : ${i} 형태. 값을 가져오거나 변경할 때 사용함.
-코어태그 주요 사용 방법
1) 반복문
< c:forEach var="i" begin="1" end="10" step="1" varStatus="s">
내용
< /c:forEach>
1부터 10까지 i의 값을 1씩 증가하겠다는 의미.
status.index - 목록형 데이터인 경우 목록의 인덱스 번호 0번부터 몇 번째인지의 인덱스 값을 가져옴.
status.count - 몇 개째인지를 가져옴
*목록형 데이터의 경우 첫 번째 라인의 값 - index(0), count(1)
2) 조건문 if
< c:if test="${i % 2 ne 0}">
내용
< /c:if>
i의 값이 짝수가 아니면 내용을 실행하겠다는 의미
test - 조건 설정
eq - 같다 / ne - 다르다
3) 조건문 choose ~ when otherwise(if ~ else if ~ else와 동일)
< c:choose>
< c:when test="조건">
내용
< /c:when>
< c:otherwise>
내용
< /c:otherwise>
< /c:choose>
-데이터 전송 방식 : get방식 / post 방식
1) get 방식 : 데이터가 주소창에 보이기 때문에 보안에 취약함. 대외적으로 알려야하는 정보가 있다거나 보안상 중요한 부분이 아닐 경우 GET방식 사용(검색엔진)
2) post 방식 : 주소에 헤더를 통하여 데이터 전송. 패스워드와 같은 민감한 정보는 post 방식으로 전송
-MVC 디자인 패턴
M(Model) : 데이터 담기
V(View) : 보여주기
C(Controller) : 조작하기
-JSP 모델
1) JSP Model 1 -> M, V + C : 데이터만 따로 담고, 뷰에서 컨트롤러까지 작업
2) JSP Model 2 -> M, V, C : servlet 구현 필요. 주소 -> servlet -> JSP -> servlet엔진 -> 실행 -> 반환 -> WB 과정을 거침
-framework : 작업을 위한 틀
구현상 편의나 보안 등 다양한 이점을 확보하기 위하여 개발의 형태를 제시
-스프링 워크플로우
-스프링 기본 구조
-xml : 데이터를 보관하고 관리하기 위해 사용(태그 구조)
-servlet-context.xml
1) annotation-driven : Annotation을 기능으로 사용하겠다는 의미
2) context:component-scan : 클래스 정보 취득 범위 정의
3) resources mapping : 이미지 등 파일의 경로 매핑 지정
4) InternalResourceViewResolver : View 정보가 넘어올 경우 낚아챔
"