쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
내용에 대한 소스 코드는 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 |