본문 바로가기

학원/JSP - 학원

JSP 원리 분석과 구성요소

728x90

*jspwork 프로젝트를 다이나믹 프로젝트로 새로 하나 만든다.

 

- body 부분에 바로 Hello World라고 치고 실행하면 Hello World 문구 뜸

 

이클립스의 톰캣 프로젝트와 JSP 컨텍스트 패스

 

- docbase - jspwork : url -> localjost 뒤에 있는 jspwork가 이 부분

- path - jspwork는 디렉토리에 있음 -> was뒤의 jspwork가 이 부분

- reloadable : true로 되어 있으면 저장을 했을 때 자동으로 재로딩을 함

- server.xml / 호스트 주소 / 탐색기 경로

 

<예제>

 

- 둘 다 똑같이 제대로 출력

- [1]은 jsp스크립트릿 방식으로 출력

- [2]는 html방식으로 출력

 

JSP동작 원리

 

- 2. jsp가 서블릿 파일로 변환

- 위의 경로를 따라가면 위에서 만든 helloKitty_jsp.java 파일과 helloKitty_jsp.class 파일이 있음

 

JSP가 서블릿에 비해 처리속도가 느리지 않는 이유

 

- 처음 실행일 때는 오른쪽 경로로 이동

- 두 번째 이상 실행일 경우부터는 직선 경로로 바로 실행됨

- 처음 실행만 서블릿보다 느리고, 이후부터는 속도가 같음

 

 

지시자 / 주석문

<%@   %>

- 페이지 지시자

<!-- Comments -->

- HTML에서 사용하던 주석처리

<%-- Comments --%>

- JSP 안에서 주석처리

<%!    %>
- 자바 변수, 메서드가 들어감
<%=   %>
- 결과값 출력할 때
- out.println과 같이 길게 안써도 된다.
<%    %> : 스크립트릿(scriptlet)
- 자바 변수
- 자바코드 출력문 등 변수는 들어가지만 메소드는 들어가지 않음
<jsp:action></jsp:action>
- 자바bean파일(객체 관련)
 

선언부

 

- 변수 선언, 메소드 선언

 

스크립트릿

- <%  %>

- 자바코드 

- 객체 생성

- 메소드 선언은 안되지만 호출은 가능하다.

 

<예제>

 

- 선언부에서 변수 선언, 스크립트릿에서 출력문

 

<예제>

 

- 선언부에서 메소드 만들고, 스크립트릿에서 출력

 

<예제>

 

<문제>

 

 

<예제>

 

 

<예제>

 

- 바로 변수 선언 후 출력 - 메소드는 불가능

 

<예제>

 

 

<예제>

 

 

<문제>

 

 

표현식

 

- 표현식에서는 ;을 사용할 수 없다.

- 표현식은 출력을 하는 식으로 out객체로 문자열을 출력할 수 있다.

- 결과값을 출력할 때 간단하게 출력 가능하다.

 

<예제>

 

 

- 표현식을 사용해서 간략하게 표현 가능

 

<예제>

 

- 바로 60 출력

 

<문제>

 

 

<예제>

 

 

<예제>

 

 

- 나이를 나타내는 jsp파일을 따로 만들고, jsp:include를 통해서 불러와 사용

 

728x90