Published 2023. 1. 2. 20:33

JSP(Java Server Page)

JSP란 , HTML내에서 자바코드를 쓸 수 있는 "자바언어"

Servlet(자바코드내)에서 응답화면 (HTML)을 구현했던 복잡함을 간결하게 해결가능 
-> Servlet에서는 요청처리(비즈니스로직)에만 집중하고 응답화면을 만들어내는 것은 (프레젠테이션로직) JSP에서 집중하게끔 분리할 수 있음 

 

*  JSP Element

 1) JSP 스크립팅 원소(Scripting Element)
 JSP 페이지에서 자바코드를 기술할 수 있게 해주는 기능 

스크립틀릿 : <% 자바코드 %> 
JSP에서 자바코드를 기술하기 위한 기본적인 표현법

표현식(출력식) : <%= 자바코드 %>
 자바에서의 값(변수, 메소드호출) 을 화면에 출력하기위해 사용 

선언문: <%! 자바코드 %>
 멤버 변수 또는 메소드 선언하기 위해 사용 

 

2) 지시어 (Directive)
 JSP 페이지 전체에 영향을 미치는 정보를 기술할 때 사용 

<%@ page| include| taglib 속성 = "속성값" 속성="속성값" %>

 

page 지시어 : 현재 jsp페이지를 처리하는데 필요한 각종 속성들을 기술 
   - language : 사용할 언어 유형을 지정 
   - contentType : 해당 페이지의 형식, 문자셋 지정 
   - pageEncoding : jsp페이지 내에 기록된 자바코드의 인코딩 방식 지정 
   - import : 자바에서의 import와 같은 의미 
   

 - errorPage : 해당 jsp상에 오류 발생했을 경우 보여줄 에러페이지 경로 지정 

                     -> web.xml 파일에서 <error-page> 구문 작성 ( error-page / location)
                     ->에러 발생시 보여줄 jsp 응답화면 위치지정

<error-page>
  	<error-code>404</error-code>
  	<location>/views/error404.jsp</location>
  </error-page>

 

 

include 지시어 : 현재 jsp상에서 또다른 jsp를 포함시키고자 할 때 사용하는 지시어
                          -> 메뉴바, 사이드바, 푸터바 등 항상 같은 페이지 보여지도록 하기위해 사용

<%@ include file = "위치" %> 입력시 위치안에 있는 jsp파일이 화면에 출력되고,
 jsp안에 선언되어있는 변수를 현재 페이지에서도 사용 가능 

 

taglib 지시어 : jsp의 기능을 좀더 확장 시킬 수 있는 추가적인 라이브러리 등록하는 구문

 


   


스크립 틀릿 작성 예시 

<%
	 // 스크립틀릿 : 일반적인 자바코드 작성(변수 선언 및 초기화,제어문 등등)
	 int sum =0;
	for(int i=0;i<=100;i++){
		sum += i;
	}
	System.out.println("결과 : "+ sum); //콘솔창에 출력 
	 
	%>
	<p>
		화면으로 출력하고자 한다면 <br>
		스크립틀릿 이용해서도 출력 가능 : <%out.println(sum); %> <br>
		표현식(출력식) 이용해서도 출력 가능 : <%= sum %>
		
	</p>

 

<%
	 	String[] name = {"김말똥","홍길동","강개순","강말순"};
	%>
	
	<h5>배열의 길이 : <%= name.length %></h5>
	<h5>배열에 담긴 값 : <%= String.join("-",name) %></h5>
	
	<h4>반복문을 이용해서 html요소 반복적으로 화면에 출력 가능</h4>
	<ul>
		<% for( String a : name ){%>
			<li><%=a %></li>
		<%} %>
	
	
	</ul>
복사했습니다!