1. 동적 문서와 정적 문서
· 동적문서는 프로그래밍 요소가 들어가며, 상황, 시간, 요청 등에 의해 새로운 내용을 표시하는 웹문서이다.
ex) JSP/Servlet, ASP, PHP
· 정적문서는 서버에 저장된 그대로 전달되는 웹문서로 동일한 값을 표시한다. ex) HTML, CSS
(JavaScript는 동적/정적 모두 사용)
2. JSP란?
· Java Server Pages의 약자로, HTML 문서에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 도구이다.
· 자바 코드는 <% %> 또는 <%= =%> 형태로 사용된다.
3. *.jsp 컴파일 과정 **JSP 아키텍처 꼭 외우기**
· *.jsp 파일은 컴파일되면 *.jsp.java 파일로 변환 된 후 *jsp.class 파일로 변환된다.
이 때, 이클립스가 아닌 Tomcat이 java와 class 파일을 생성한다.
· ex) localhost:8282/jsp_hello/hello.jsp
컴퓨터에서 IP를 찾아 tomcat으로 유입하고, hello.jsp가 컴파일 된 후 hello.class가 실행되어 결과를 반환한다.
4. JSP의 동작원리

5. 내장객체
· 별도로 객체 생성을 하지 않아도 사용할 수 있으며, JSP 컨테이너에서 자동적으로 객체가 제공되기 때문에 사용 가능하다.
· 내장객체의 대표적인 예로는 request, response, out, session, application, page 등이 있다.
6. JSP 태그
· JSP 문서에서 HTML 구간에 Java 코드를 사용하기 위해서는 아래와 같은 태그를 사용한다.
1) 지시자: 페이지 속성을 지정 <%@ %>
2) 주석: 주석 처리 <%-- --%>
3) 선언: 변수 및 메소드 선언 <%! %>
4) 표현식: 변수 또는 메소드 결과값 출력(out과 동일한 의미) <%= %>
5) 스크립트릿: Java 코드 삽입(기본 자바 언어를 동일하게 사용 가능) <% %>
6) 액션태그: 페이지 삽입, 공유, 자바빈 사용 <jsp:action> </jsp:action>
7. 액션 태그란?
· 액션 태그는 JSP 페이지 내에서 어떠한 동작(페이지 이동/삽입)을 하도록 지시하는 태그이다.
1) <jsp:forward> 요청이 들어오면 현재의 JSP 페이지에서 다른 JSP 페이지로 전환할 때 사용한다.
첫 번째 URL에 먼저 접근한 후, 두 번째 URL로 유입되기 때문에 주소는 변경되지 않는다.
(첫 번째가 아닌 두 번째 URL의 실행 내용 출력)
2) <jsp:include> 현재 페이지에 다른 페이지를 삽입시킬 때 사용한다.
3) <jsp:param> 데이터 전달을 목적으로 사용되는 태그이며, 이름과 값으로 구성되어있다.
8. 오류페이지 처리 방법(2가지)
· JSP/Servlet에서 예외가 발생한 경우, Tomcat 서버에서는 기본적으로 예외 페이지가 제공되지만 서버에 대한
기본정보가 표기되어있어 보안이나 외관상의 문제가 발생할 수 있으므로 정보 누출을 방지 하기 위해 사용된다.
· 404 오류는 사용자가 요구한 웹페이지가 존재하지 않는 경우(경로가 잘못된 경우) 발생되며,
500 오류는 문자 입력이 잘못된 경우(문법 오류) 발생된다.
1) page 지시자를 이용
<%@ page errorPage="errorPage.jsp" %> 와 같이 지시자를 이용하여 오류 발생 시 errorPage.jsp로 이동시킨다.
2) web.xml 파일 이용
error404.jsp와 error500.jsp를 미리 생성해두어 web.xml로 예외 처리하는 방법이 있다.
9. redirect와 forward란?
· redirect는 클라이언트 요청 시, 첫 URL로 이동 후 다시 웹브라우저(클라이언트)로 돌아가 다른 페이지로 이동하도록 명령한다.
· forword는 redirect와는 다르게 클라이언트 요청 시, 첫 URL로 이동 후 바로 다른 페이지 서버로 이동하도록 명령한다.

10. 컨텍스트 패스란 무엇인가?
· 컨텍스트 패스는 기본적으로 프로젝트를 의미하며, tomcat이 관리하는 프로젝트 단위이다.
ex) localhost:8282/~~ ~~에 해당되는 부분이 컨텍스트 패스!! (각 각의 프로젝트를 구분하기 위함)
11. 절대경로와 상대경로
· 절대경로는 웹페이지나 파일이 가지고 있는 고유한 경로를 말하며, c: http / 기호를 사용하여 표기한다.
(/기호는 ip주소까지만 표기되며, 컨텍트명은 표기되지 않는다)
· 상대경로: 자기자신(HTML)의 현재 위치를 기준으로 경로를 인식한다.
경로에 default인 상태로 표기된 경우 ./이 생략 되어 있는 상태이며, 상위폴더에서 검색이 필요한 경우에는 ../ 를 표기한다.
12. 아래의 action에 대하여 경로 3가지 케이스를 설명하시오.

1) 0105/request_send.jsp
· 상대경로, WebContent 폴더에서 하위 폴더인 0105를 찾아들어가 request_send.jsp로 접근하게 된다.
2) ../0105/request_send.jsp
· 상대경로, 현재 위치에서 상위폴더인 WebContent로 이동 후 0105 폴더에 있는 request_send.jsp로 접근하게 된다.
3) /0105/request_send.jsp
· 절대경로, http://localhost:8282/0105/request_send.jsp의 의미로 해석할 수 있으며, 컨텍스트명 이후의 0105 폴더에 있는
request_send.jsp로 접근하게 된다.
'bitcamp > JSP' 카테고리의 다른 글
JSP_bean_연습문제 (0) | 2021.02.11 |
---|---|
JSP_쿠키/섹션/Bean/EL (0) | 2021.02.11 |
JSP_연습문제 (0) | 2021.02.11 |
JSP_Servlet_연습문제 (0) | 2021.02.11 |
JSP_Servlet (0) | 2021.02.09 |