본문 바로가기
스터디/F-lab

[F-lab] 7주차 정리 - 웹 프로그래밍 기초와 JSP

by 책 읽는 개발자_테드 2021. 10. 7.
반응형

학습내용: 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란?

https://scshim.tistory.com/399

반응형

'스터디 > F-lab' 카테고리의 다른 글

[F-lab] 5주차 정리  (0) 2021.09.14
[F-lab] 3주차 정리_자바  (0) 2021.08.31
[F-lab] 2주차 정리_자바  (0) 2021.08.24

댓글