성장 일기/쌍용교육센터 / / 2023. 3. 30. 02:07

0329/JSP

쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
내용에 대한 소스 코드는 https://github.com/2jaehoon/html에 올려두었습니다.

 

JSP(Java Server Page)  

  - SSS(Server Side Script)
  - Jave EE에서 동적으로 웹 페이지(HTML)를 생성하기 위해 제공하는 기능

    사용자를 식별하여 사용자에 맞는 HTML페이지를 제공할 수 있다(개인화)
  - Servlet 의 기능 개선

    class 안에 HTML 코드를 작성하는 방식
    디자이너와 개발자간의 업무구분이 되지 않는다.
    제작하여 서비스 하기 복잡하다. ( DD(Deployment Descriptor- web.xml)가 필요 )

  - 개발자가 compile하지 않는다.( Web Container가 자동 Compile )
  - 디자이너와 개발자 간의 업무 구문이 어느 정도 가능해진다.

 

* CSS(Client Side Script)

  - Front-End에서 실행되는 Script 언어
  - JavaScript, ActionScript => HTML안에서 작성되고 실행되는 언어

* SSS(Server Side Script)

  - Back-End에서 실행되는 Script 언어
  - JSP, ASP, PHP => 요청되면 동적으로 HTML을 생성하는 언어

 

* JSP 동작

 

* JSP 파일 구조

<%@ page ... %> <!-- 지시자 : directive -->
	.
	.
	.
<!DOCTYPE html> <!-- HTML 코드 -->
<html>
<head>
</head>  
<body>
</body>
</html>

 

2. 저장 : 파일명.jsp
3. JSP가 서비스 되어야할 폴더에 배포

  - JSP Tag’s, 내장객체, 액션태그, EL, JSTL

 

* JSP Tag’s

  - JSP에서 기능을 정의할 때 사용하는  태그들
  - 5가지의 종류로 제공
  - JSP가 자바로 변경될 때 코드가 생성되고, 사용자에게 태그의 내용이 보여지지 않는다. 
 
형식) 
 <% 코드정의... %>

태그명 태그 설명
지시자
(directive)
page <%@ page .. %> JSP페이지의 환경설정용
include <%@ include .. %> 다른 JSP를 끼워 넣을 때 사용
선언 (declaration) <%!   %> JSP에서 method를 정의할 때
JSP에서 instance variable, static variable를 선언할 때
스크립틀렛(scriptlet) <%  %> JSP에서 method안에 정의하는 Java Code를 작성할 때
지역변수선언, 제어문
표현식 (expression) <%= %> Web browser로 출력할 때
주석( comment) <%-- --%> JSP태그의 실행을 막을 때.


* scriptlet ( <% 내용 %> )

  - 내장객체를 사용할 수 있다.
  - JSP에서 method안에 정의하는 Java Code를 작성할 때
  - scriptlet 안에서 정의한 코드는  JSP가 Java Source로 변경될 때  _jspService() 안에 코드가 생성

public void test(){
지역 변수 선언, 연산(연산자), 
제어문(if, swich~case, for, while, do~while, break,continue, return)
}

 

* 표현식 - Expression ( <%= 값 %> )

  - 내장 객체를 사용할 수 있다.
  - JSP에서 발생한 값을 웹 브라우저로 출력할 때 사용

  - 값은 하나만 사용할 수 있다.

  - 표현식 내의 코드는 _jspService method에 코드가 생성된다.

    ( out.println( 값 );의 형식으로 만들어진다. )

<%= 변수명 %>
<!-- 값을 여러 개 넣으면 error가 발생한다. -->
<%= 변수명,변수명 %>

 

 

* Comment (주석)

  - JSP 태그의 실행을 막을 때 사용
  - JSP가 Java로 변경될 때 소스코드가 생성되지 않는다.

<%--
JSP태그들 <% %>, <%=  %>
--%>

 

 

* 선언 - declaration ( 선언 )

  - JSP에서 method를 정의할 때 사용
  - _jspService method 외부에서 코드가 생성되므로,  내장 객체를 사용할 수 없다.
  - 선언된 method는 jsp 안에서만 호출 가능하다.

<%!
- 변수 : instance 변수, static 변수
- method 정의
%>

 

 

* include 지시자

  - 여러 JSP가 하나의 JSP에 합쳐져서 한번에 보여줄 때 사용
  - 주의 : JSP의 page 지시자가 다른 값을 가지게 되면 error가 발생할 수 있다.
  - 다른 JSP에 존재하는 공통코드를 사용할 때 주로 사용

<%@ include file="끼워넣을 JSP URI"%>

<%@ include file="jsp_prj/day0927/test.jsp"%>
<!--
http://localhost/jsp_prj/day0927/test.jsp은 URL
jsp_prj/day0927/test.jsp은 URI
URI : 서버의 정보를  포함하지 않은 주소( 다른 서버에 접속할 수 없다. )
-->

 

  - JSP가 Java Source로 변경될 때 합쳐진다.

    다른 JSP의 변수나 method를 사용할 수 있다.(변수나 method가 공유된다.)

  - web browser에서 source 보기 했을 때 하나의 HTML 처럼 보이도록 만든다.
  - 공통 디자인 보다는 여러 페이지에서 사용되는 공통 코드를 정의할 때 주로 
    사용한다.( 로그인 되었는지 세션을 체크 하는 코드 )
  - <jsp:include>, <c:import> 보다 동작속도가 빠르다.

contentType="text/html" => HTML 생성

contentType="text/xml" => XML 생성

contentType="application/vns.ms-excel" => excel 생성

contentType="application/octed-stream" => 8bit 스트림 생성

 
  


'성장 일기 > 쌍용교육센터' 카테고리의 다른 글

0331/Web Parameter, get, post  (0) 2023.04.04
0330/지시자, 내장 객체  (0) 2023.03.30
0328/Servlet  (0) 2023.03.28
0307/each 함수  (0) 2023.03.07
0306/jQuery event  (0) 2023.03.06
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유