JSP에 대하여(Java Server Pages)

2024. 3. 11. 18:43·Server
목차
  1. 목차
  2. #JSP 
  3.  
  4. #JSP 구성요소
  5. #JSP 기본 태그
  6. #페이지 이동

*본 포스팅은 JSP에 학습을 위한 용도로 작성되었습니다.

 

 

목차

  1. JSP 동작 및 구성요소
  2. JSP 기본 태그
  3. 페이지 이동

 

#JSP 

  • Servlet 표준을 기반으로 작성된 웹 어플리케이션 개발 언어
  • HTML 내에 Java를 작성하여 동적으로 웹페이지를 생성하여 브라우저에게 돌려주는 페이지
  • 실행 시 Servlet으로 변환된 후 실행

 

 

 

#JSP 구성요소

  • 지시자 (Directive)
    • JSP페이지에 대한 설정 정보를 지정하기 위해서 사용
  • 스크립트 요소 (스크립트릿, 표현식, 선언부)
    • JSP에서 문서의 내용을 동적으로 생성하기 위해서 사용
  • JSP 기본객체 (response,request,out,page,session,Application)
    • 요청 및 응답 관련 정보를 얻거나, 응답 결과를 만들기 위해서 사용
  • 표현언어 (Expression Language)
    • JSP를 좀 더 간결하게 작성하기 위해 사용
  • Action Tag 와 JSTL
    • 자주 사용하는 기능을 모아 정의하여 Tag형태로 작성한다.
    • JSP에서 자바코드를 쉽게 작성할 수 있도록 사용

 


#JSP 기본 태그

 

JSP 태그 종류

  • 스크립트릿 : 자바코드 작성 <% %> 형식
  • 선언 : 변수와 메소드를 선언 <%!%>
  • 표현식: 계산식이나 함수를 호출한 결과를 문자열 형태로 출력 <%=%>
  • 주석: JSP 페이지 설명 작성 <%-- --%>
  • 지시자 JSP 페이지 속성 지정 <%@%>

 

#스크립트릿

  • 스크립팅 언어로 작성된 코드 조각을 포함하는데 사용된다.
  • service 메서드 안에 정의된다 ( 메서드 선언 불가)

#선언부

  • 멤버변수 선언이나 메서드를 선언하는 영역

#표현식

  • 변수의 값이나 계산식 혹은 함수를 호출한 결과를 문자열 형태로 웹문서에 출력

#주석문 (Comment)

  • 작성한 코드에 대한 설명을 기술할 경우 사용.
  • HTML 주석문과 동일한 기능을 하지만 HTML 주석문은 클라이언트에게 보여지고, JSP 주석문은 보여지지 않는다.

 

#지시자(Directive)

  • 웹컨테이너(Tomcat)가 JSP 번역하고 실행하는 방법을 서술
  • page: 해당 JSP 페이지 전반적으로 환경 설정 내용 지정
  • include: 현재 페이지에 다른 파일의 내용 삽입할 때 사용
  • taglib: 태그 라이브러리에서 태그를 사용할 수 있는 기능 제공

#page

  • JSP 페이지 실행 매개변수를 제어
  • 출력처리, 오류처리 등의 내용을 포함 ( JSP 생성하기 )

#include

  • JSP 내에 다른 HTML 문서나 JSP 페이지의 내용을 삽입할 때 사용한다.
  • 반복적으로 사용되는 부분(header,footer 등) 별도로 작성하여 페이지 내에 삽입하면 반복되는 코드의 재작성을 줄일 수 있다.

#taglib

  • JSTL 또는 사용자가 작성한 커스텀 태그를 사용할 때 작성한다.
  • 불필요한 자바 코드를 줄일 수 있다.

 


#페이지 이동

요청을 받아 화면을 변경하는 방법은 두 가지가 있다.

 

  1. 포워드 방식

요청이 들어오면 요청을 받은 JSP 또는 Servlet이 직접 응답을 작성하지 않고, 요청을 서버 내부에서 전달하여 해당 요청을 처리하게 하는 방식

  • request, response 객체가 전달되어 사용되기 때문에 객체가 사라지지 않는다. 브라우저에는 최초 요청한 주소가 표시된다.
  • RequestDispatcher는 현재 처리중인 서블릿이 속해 있는 웹 어플리케이션 범위 내에서만 요청을 제어할 수 있습니다.

 

 

   2. 리다이렉트 방식

요청이 들어오면 내부 로직 실행 후, 브라우저의 URL을 변경하도록 하여 새로운 요청을 생성함으로써 페이지를 이동한다.

  • 브라우저가 새로운 요청을 만들어 내기 때문에 최초 요청 주소와 다른 요청 주소가 화면에 보여진다.
  • 두 번의 HTTP 트랜잭션이 발생하며, 서버측에서는 최초에 받은 요청중에 처리한 내용을 리다이렉트 된 요청안에서 공유할 수 없는 문제 발생.

 

'Server' 카테고리의 다른 글

Stateful과 Stateless  (0) 2024.05.19
java.lang.IndexOutOfBoundsException (MyBatis)  (0) 2024.05.18
intellij Project 인식 오류 해결하기  (0) 2024.05.15
웹프로그래밍_Servlet에 대하여  (2) 2024.03.14
Cookie와 Session에 대하여.Backend  (3) 2024.03.12
  1. 목차
  2. #JSP 
  3.  
  4. #JSP 구성요소
  5. #JSP 기본 태그
  6. #페이지 이동
'Server' 카테고리의 다른 글
  • java.lang.IndexOutOfBoundsException (MyBatis)
  • intellij Project 인식 오류 해결하기
  • 웹프로그래밍_Servlet에 대하여
  • Cookie와 Session에 대하여.Backend
지화자_
지화자_
나만의 글로 기록하기
지화자_
냉정과열정사이
지화자_
전체
오늘
어제
  • 분류 전체보기 (47)
    • 알고리즘 (18)
      • 개념정복 (6)
      • 문제풀이 (12)
    • ComputerScience (5)
      • 데이터베이스 (3)
      • 네트워크 (0)
      • OS (2)
    • SSAFY (2)
    • Java (6)
    • Server (10)
    • Spring (3)
    • 일상 (1)
    • OpenSource (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 비트마스크
  • 빌드
  • 백준바이러스
  • 나무섭지
  • 인터페이스
  • 소프티어
  • n-queen
  • OOP
  • 조합
  • 재귀함수
  • 병합정렬
  • 아니안무서워
  • dfs
  • 부분집합
  • 백트래킹
  • cd
  • 배포
  • 추상클래스
  • CI
  • 구현
  • AOP
  • BFS
  • 알고리즘
  • 분할정복
  • 백준

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.2
지화자_
JSP에 대하여(Java Server Pages)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.