본문 바로가기

bitcamp/JSP

JSP_기본개념과 경로

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