웹 서버(4)

9mond·2023년 8월 21일
0
post-thumbnail
post-custom-banner

1. JSP란?

1-1. JSP(JavaServer Pages)란 무엇인가?

  • JSP는 JavaServer Pasges의 약자이며 HTML코드에 JAVA코드를 넣어 동적 웹 페이지를 생성하는 웹 어플리케이션 도구이다.
  • JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹 페이지와 함께 클라이언트로 응답한다.
  • JSP는 서블릿 기반의 서버 스크립트 기술이다.
  • HTML + JAVA : HTML을 중심으로 JAVA와 연동하여 사용하는 웹 언어이다.

2. 스크립트 태그

  • HTML 코드에 자바 코드를 넣어 프로그램이 수행할 기능을 구현할 수 있다.

2-1. 선언문(declaration)

<%! ... %>
  • 자바의 변수나 메서드를 정의하는데 사용되는 태그

2-2. 스크립틀릿(scriptlet)

<% ...%>
  • 자바 변수 선언 및 자바 로직 코드를 작성하는데 사용

2-3. 표현문(expression)

<%= ... %>
  • 변수,계산식, 메서드 호출 결과를 나타내는 태그

2-4. 주석

<%-- ... --%>

2-5. 지시자

<%@ ... %>
  • 페이지 속성 지정

3. 내장객체

3-1. 내장객체란

  • JSP페이지 내에서 제공되는 특수한 클래스 형의 객체
  • 내장 객체는 선언과 할당 없이 사용할 수 있다.

4. 디렉티브 태그

<%@ include file="파일명" %>
  • 현재 JSP페이지의 특정 영역에 외부 파일의 내용을 포함시키는 태그이다.
  • 보통 header와 footer는 대부분의 페이지에 동일한 내용으로 작성되기 때문에 유지보수 및 편의를 위하여 외부 파일로 만든 후 include하여 사용한다.

5. 액션 태그

  • 행위에 대한 태그
  • JSP페이지에서 동일한 내용이라도 자바 코드를 기술하기 보다는 태그를 기술하는 것이 지저분하지 않고 깔끔하게 코딩할 수 있어 가독성 높은 소스코드를 작성할 수 있다.
  • 코드 양을 대폭 줄일 수 있다.
  • 페이지와 페이지 사이를 제어하거나 다른 페이지의 실행 결과 내용을 현재 페이지에 포함하거나 자바빈즈(객체) 등의 다양한 기능을 제공한다.
  • 액션 태그는 XML 문법을 따른다. 즉 시작 태그와 함께 반드시 종료 태그를 포함해야 한다.
  • 액션 태그의 기본 형식 : <jsp:... 속성="값"> 내용 </jsp:...>
  • 내용이 없는 액션 태그의 형식 : <jsp:... 속성="값" />

5-1. 액션 태그의 종류

  • forward( <jsp:forward /> )
    : 다른 페이지로의 이동, 페이지의 흐름 제어

  • include( <jsp:include /> )
    : 외부 페이지의 내용을 포함하거나 페이지의 모듈화

  • param( <jsp:param /> )
    : 현재 페이지에서 다른 페이지에 정보를 전달할 때 사용

  • useBean( <jsp:useBean /> )
    : 빈을 생성하고, 사용하기 위한 환경을 정의하는 액션 태그

  • setProperty( <jsp:setProperty /> )
    : 빈에서 속성 값을 할당

  • getProperty( <jsp:getProperty /> )
    : 빈에서 속성 값을 얻어올 때 사용

6. 페이지 이동

6-1. forward

  • request에 담긴 값이 유효해진다. (request, response가 유지된다.)
  • 이동된 url이 화면에 안 보인다. (사용자는 이동했는지 알 수 없음.)
  • forward 하는 방법
	pageContext.forward("이동할 페이지");
	<jsp:forward page="이동할 페이지" />
  • 디폴트. 나중에 springboot 때 씀
  • 중요한 정보를 담아서 보내줌.

6-2. Redirect

  • 클라이언트가 새로 페이지를 요청한 것과 같은 방식으로 페이지가 이동됨.
  • request, response가 유지되지 않는다. ( 새로 만들어짐 )
  • 이동된 url이 화면에 보인다.
  • redirect 하는 방법
	response.sendRedirect("이동할 페이지");
  • 개인정보 등 중요한 정보들을 중간에 유실시켜줌.
    ex) 결제 시 카드 정보 등을 중간에 유실시킴.
profile
개발자
post-custom-banner

0개의 댓글