Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/7월

22.07.19 - [ WAS ] JSP, 스크립틀릿, 스크립틀릿 활용

giggs 2022. 7. 28. 12:28

 

-- Index --

 

 

1. JSP 2. 스크립틀릿 3. 스크립틀릿 활용
Java Server Page 자바코드로 처리 스크립틀릿/지시자/표현식/선언부

 

 

 


 

 

 

1. JSP - Java Server Page

 

 

1-1 jsp란?

 

 

 

서블릿을 이용하여 - 데이터 받아오고 / 데이터 처리하고 하는 건 자바 코드여서 괜찮았지만

화면을 보여주는 방식(웹문서를 만드는방식)에서 번거롭고 out.println() 에 한 줄 한 줄 쳐야 됐었다.

 

이 부분만 좀 개선되면 좋을 텐데 해서 나온 것이 JSP!

Java Server Page

 

화면 보여주는데 편리하게 해 주기 위해서 모든 내용 한 줄 한 줄 읽어와서 out.println() 이용해서 보여준다

 

 

 


 

1-2 jsp 파일의 특징

 

 

#1. 한 줄 한 줄이 out.println() 에 있는 것처럼 실행된다!

 


#2. JSP가 사실은 Servlet 이다!


#3. java코드로 바뀌어서 실행이 된다.

보는 형식이 웹 문서랑 똑같네? - 사실 java 코드다.


#4 jsp파일 안에서  java코드도 편하게 사용 가능하다.

<% %> 스크립틀릿을 활용하여  java코드와 HTML 코드를 동시에 작업 가능

HTML 언어를 사용하기 편하고,  java코드까지 활용 가능한 - JSP

 

 

 

 

 


 

 

 

 

2. 스크립틀릿

 

 

 

 

 

2-1 스크립틀릿의 기능

  • jasper라는 애가 jsp파일을 java파일로 바꿔주는데
  • 일반 문자들은 println()에 넣어서 java파일로 바꿔주고
  • 특별하게 표시된 애들 = 스크립틀릿으로 표시된 애들
  • <% %> <%= %> <%@ %> 이런 애들은 규칙에 맞춰서 바꿔준다.
  • 내가 특별하게 표시해준 것들은 println()으로 처리되지 않고 java코드로 처리해주는 것이
  • JSP - 스크립틀릿

 

 

2-2 JSP파일 - jasper로 변환된 - java파일 살펴보기

 

#경로 확인

  • 우리가 만든 프로젝트를 tomcat에 올리니까 tomcat에 있는데 경로가 조금 다르다.

 

 

내가 만든 jsp 파일이 변환되어있다.

 

사람은 java파일로 확인

컴퓨터는 컴파일된 class 파일로 실행

java파일 살펴보면 우리가 만든 jsp파일의 내용들이 잘 들어가 있다.

 _jspService() 메서드 안쪽에 내가 입력한 내용 다 들어가 있다.

 

 

 

 

 

 


 

 

 

 

 

3. 스크립틀릿 활용해보기 

 

  •  _jspService() 메서드 안쪽에 내가 입력한 내용 다 들어가 있다.

 

 

3-1  <%   %>

  • 스크립틀릿
  • 다른 것들은 다 out.write() 로 처리되었는데,
  • <% %> 사이에 입력해준 것들은 – 그냥 그대로 java코드 그대로 유지되는 것 확인

 


 

3-2  <%=   %>

  • 표현식
  • out.print() 로 처리되길 원할 때 사용
  • 변수에 담겨있는 거 그대로 화면에 출력되길 원할 때 사용

 

 

 


 

3-3  <%!    %>

  • 선언부
  • 메서드나 멤버 함수 등을 선언할 때 사용
  • service() 메서드의 바깥쪽에 작성된다.
  • 그냥 <% %> 해주었으면 service 메서드 안에 있을 텐데
  • 메서드 안에서 메서드 선언하는 것은 안된다.
  • 따라서 service 메서드 바깥쪽에 만들면 좋겠다는 의미로 <%! %> 느낌표를 붙여준다.
  • 바깥쪽에서 할 수 있는 작업 [ 멤버변수 만들어주거나 함수 선언 등의 작업 ] 도 가능하다.

 

 


 

3-4  <%@   %>

  • 지시자 
  • @page - 페이지의 속성을 정의할 때 사용
  • @include - 페이지에 파일을 첨부할 때 사용

 

#

<%@ page %> --- language / contentType / pageEncoding / errorPage 지정 가능

 

 


#

<%@ inlcude %> -- file

  • 헤더와 푸터 파일 만들어놓고<%@ include file=" "  %> 활용하여 페이지에 보이게 해 주기
  • 다만 불필요한 정보까지 다 들어오게 되므로 이런 정보는 삭제해주기 ( <meta>, <title> 등 )
  • inclue는 경로에 있는 애를 컨트롤 C 컨트롤 v 하는 느낌

 


 

 

+@ tip --- jasper가 파일을 변경해주는 타이밍은 클라이언트로부터 요청이 들어왔을 때