학습내용: JSP
교재: 최범균의 JSP 2.3 웹프로그래밍 기초부터 중급까지
Chapter 1~4 - Chapter 9, 10 - Chapter 14 - Chapter 17~20
학습목표
· 웹 프로그래밍 기초
· 웹 프로그래밍과 JSP
· JSP 처리 과정
· 쿠키
· 세션
· 데이터베이스 프로그래밍
· 서블릿
· MVC 패턴 구현
· 필터란?
· ServletContextListener란?
웹 프로그래밍 기초
https://scshim.tistory.com/393
웹 프로그래밍과 JSP
· 웹 프로그래밍: 웹 서버가 웹 브라우저에 응답으로 전송할 데이터를 생성해주는 프로그램을 작성하는 것
· 웹 서버의 종류에 따라 웹 프로그래밍을 할 때 사용하는 기술이 달라짐 ex) Apache - php, Window IIS - ASP.net
· JSP(Java Server Page): 동적 페이지를 작성하는데 사용되는 자바의 표준 기술
· WAS(Web Application Server)
- JSP를 이용해서 만든 프로그램을 실행하기위해 필요
- 웹을 위한 연결, 프로그래밍 언어, 데이터베이스 연동 등 어플리케이션을 구현하는 데 필요한 기능을 제공
- 웹 브라우저로부터 요청이 오면 알맞은 프로그램을 찾아 실행하고, 프로그램의 실행 결과를 응답으로 전송하는 기능 제공
JSP 구조
▶ 예시 - HTML 문서를 생성하는 JSP 코드
<!-- JSP 페이지에 대한 정보를 입력하는 설정 부분-->
<%@ page contentType = "text/html; charset=euc-kr" %>
<!-- HTML 문서를 생성하는 생성 부분-->
<html>
<head>
<title>HTML 문서의 제목</title>
</head>
<body>
<%
String bookTitle = "JSP 프로그래밍";
String author = "최범균";
%>
<b><%= bookTitle %></b>(<%= author %>)입니다.
</body>
</html>
· JSP 코드는 JSP 페이지 설정 부분(JSP 페이지에 대한 정보 입력), HTML 문서 생성 부분으로 나뉨
· JSP 페이지 설정 부분에 입력되는 정보:
1. JSP 페이지가 생성하는 문서의 타입(종류)
2. JSP 페이지에서 사용할 커스텀 태그
3. JSP 페이지에서 사용할 자바 클래스 지정
· JSP 페이지 작성시 필요한 요소
1. JSP 페이지에 대한 정보 지정
2. 웹 브라우저가 전송한 데이터 읽어오기
3. JSP 페이지에서 사용할 데이터를 생성하는 실행 코드
4. 웹 브라우저에 문서 데이터를 전송하는 기능
· JSP의 구성 요소
1. 디렉티브(Directive)
2. 스크립트: 스크립트릿(Scriptlet), 표현식(Expression), 선언부(Declaration)
3. 표현 언어(Expression Language)
4. 기본 객체(Implicit Object)
5. 정적인 데이터
6. 표준 액션 태그(Action Tag)
7. 커스텀 태그(Custom Tag)와 표준 태그 라이브러리(JSTL)
디렉티브
· JSP 페이지에 대한 설정 정보를 지정할 때 사용
<%@ 디렉티브이름 속성1="값1" 속성2="값2" ... %>
· JSP가 제공하는 디렉티브 종류:
디렉티브 | 설명 |
page | · JSP 페이지에 대한 정보 지정 · JSP가 생성하는 문서의 타입, 출력 버퍼의 크기, 에러 페이지 등 JSP 페이지에서 필요로 하는 정보 설정 |
taglib | · JSP 페이지에서 사용할 태그 라이브러리를 지정 |
include | · JSP 페이지의 특정 영역에 다른 문서를 포함 |
page 디렉티브
· JSP 페이지에 대한 정보를 입력하기 위해 사용
ex) 생성 하는 문서 정보, 사용하는 자바 클래스, 세션 참여 여부, 출력 버퍼 존재 여부 등
▶ 예시
<%@ page contentType = "text/html; charset=utf-8" %>
<%@ page import="java.util.Date" %>
스크립트 요소
· JSP에서 문서의 내용을 동적으로 생성하기 위해 사용되는 요소
· 사용 예: 사용자가 폼에 입력한 정보를 데이터베이스에 저장, 데이터베이스로부터 게스글 목록을 읽어와 출력
· JSP 스크립트 요소의 종류:
1. 표현식(Expression): 값을 출력
2. 스크립트릿(Scriptlet): 자바 코드를 실행
3. 선언부(Declaration)
기본 객체
· JSP에서 웹 어플리케이션 프로그래밍에 필요한 기능을 제공하는 자바 객체
ex) request, response, session, application, page
표현 언어
· JSP 스크립트 코드를 간결하게 작성하기 위해 제공하는 기능
· '${'와 '}' 사이에 정해진 문법을 따르는 식을 입력하면 JSP가 해당 식을 분석하여 알맞은 기능을 실행
▶ 예시 - 두 개의 문자열 값을 정수로 변환한 뒤 두 숫자를 곱한 값을 응답으로 출력, JSP 스크립트 코드 vs 표현 언어
JSP 스크립트 코드
<%
int a = Integer.parseInt(request.getParameter("a"));
int b = Integer.parseInt(request.getParameter("b"));
%>
a * b = <%= a*b %>
표현 언어
a*b = ${param.a * param.b}
표준 액션 태그와 태그 라이브러리
· 액션 태그: JSP 페이지 내에서 어떤 동작을 하도록 지시하는 태그
· <jsp:액션태그이름>의 형태
· 액션 태그 종류에 따라서 서로 다른 속성과 값을 갖는다.
▶ 예시 - 특정한 페이지의 실행 결과를 현재 위치에 포함시키기
<%@ page contentType = "text/html; charset=utf-8" %>
<html>
...
<jsp:include page="header.jsp" flush="true">
...
</html>
· 커스텀 태그: JSP를 확장시켜주는 기능
· 액션 태그와 다르게 개발자가 직접 개발해야함
· 사용 예: JSP 코드에서 중복되는 것을 모듈화, 스크립트 코드를 사용할 때 발생하는 소스 코드의 복잡함 없애기
· JSTL(JavaServer Pages Standard Tag Library): 커스텀 태그 중 자주 사용하는 것을 별도로 표준화한 태그 라이브러리
JSP 처리 과정
https://scshim.tistory.com/394
쿠키
https://scshim.tistory.com/395
세션
https://scshim.tistory.com/396
데이터베이스 프로그래밍 기초
https://scshim.tistory.com/401
SQL의 기초
https://scshim.tistory.com/402
JDBC란? JSP에서 JDBC 프로그래밍하기
미완성 https://scshim.tistory.com/400
서블릿
https://scshim.tistory.com/397
MVC 패턴 구현
https://scshim.tistory.com/272
필터란?
https://scshim.tistory.com/398
ServletContextListener란?
'스터디 > F-lab' 카테고리의 다른 글
[F-lab] 5주차 정리 (0) | 2021.09.14 |
---|---|
[F-lab] 3주차 정리_자바 (0) | 2021.08.31 |
[F-lab] 2주차 정리_자바 (0) | 2021.08.24 |
댓글