본문 바로가기
수업 일지/JSP

55일차 - [JSP] 내장 객체/속성/include/EL/빌드 도구/mybatis

by 쿠쿠씨 2022. 3. 28.
반응형

JSP 내장 객체

request : 사용자 각각의 요청에 대해 데이터를 저장합니다.

→ 하나의 요청을 처리하는 jsp 페이지 사이에서 정보를 전달합니다.

session : 하나의 웹 브라우저 객체에 데이터를 저장합니다.

→ 로그인/로그아웃 처리 등에 주로 사용합니다.

application : 하나의 웹 어플리케이션(프로그램, 웹프로젝트)이 실행중인 동안 데이터를 저장합니다.

→ 같은 프로그램을 사용하는 사용자들은 동일한 attribute에 대해서 같은 값을 접근합니다.

사용자들에게 공유할 정보를 저장합니다.

 

속성(Attribute)

getAttribute( ), setAttribute( ) 메소드로 데이터를 저장하거나 가져옵니다.

Attribute의 데이터 타입은 Object 입니다.

모든 타입의 데이터를 저장할 수 있습니다.

getAttribute()의 리턴 타입도 Object 입니다.

 

예제

 

a.jsp

Attribute 데이터가 있습니다.

 

forward_test.jsp

forward_test.jsp의 url로 요청된 정보를 C.jsp로 전달합니다.

forward_test.jsp의 request 객체와 C.jsp의 request 객체는 동일합니다.

 

 

 

세 번째 링크 클릭 결과

C.jsp 페이지로 이동합니다.

name 파라미터 값은 없습니다.

 

네 번째 링크 클릭 결과

C.jsp 페이지로 이동합니다.

name 파라미터 값이 있습니다.

 

response 객체

사용자 요청 처리 결과를 다른 페이지로 전달하는 응답 객체입니다.

sendRedirect( ) 메소드 : 응답으로 새로운 요청(URL)을 보냅니다.

 

sendRedirect와 forward의 차이

sendRedirect는 새로운 요청으로 request, response 객체가 새로 생성됩니다.

forward는 이전의 요청을 전달하므로 페이지가 바뀌어도 request, response 객체는 동일합니다.

 

서버 구현 부분에서 처리 후 돌아갈 URL 설정

1. 자바스크립트 location.href 사용하기

2. response 객체 메소드 사용하기

 

 

 

include 지시자

<%@include file="파일명" %>

컴파일 시에 포함할 파일을 지정합니다.

 

EL : Expression Language

표현식(<%= %>)보다 쉽게 여러 데이터를 출력할 수 있습니다.

주로 Attribute값을 찾아서 가져와 출력합니다.

→ getAttribute 메소드를 호출할 필요가 없습니다.

형식 :

${ } : 객체의 프로퍼티 값을 가져올 때 사용합니다.

#{ } : 객체의 프로퍼티에 값을 담을 때 사용합니다.

 

기존 코드

 

서버 구현과 html 분리

서버구현

 

2_insertForm.jsp

 

EL로 변환

 

 

 

빌드 도구

빌드란 소스 코드 파일들을 컴파일한 후 여러 개의 모듈을 묶어 실행 파일로 만드는 과정입니다.

소스코드 완료 → JVM(일반 애플리케이션), 톰캣 서버(웹 애플리케이션)에서 실행 가능

→ 라이브러리, 이미지 파일, XML 등 실행에 필요한 파일을 결과물로 포함

→ 최종 애플리케이션 생성(결과물은 jar 또는 war 형식으로 배포)

 

빌드를 포함하여 테스트 및 배포를 자동화하는 도구를 빌드 도구라고 합니다.

빌드 도구를 사용하면 라이브러리를 편하게 관리할 수 있습니다.

빌드 도구에는 Maven, Gradle 등이 있습니다.

 

Maven 사용하기

1. [File] - [New] - [Dynamic Web Project] 를 클릭하여 프로젝트를 생성합니다.

 

2. 프로젝트 우클릭 - [Configure] - [Convert to Maven Project]를 클릭합니다.

 

3. [Finish]를 클릭하면 pom.xml 파일이 만들어집니다. (Project Object Model)

 → 사용할 라이브러리를 설정하는 파일입니다.

 

라이브러리 설정하기 

1. 메이븐 저장소에 접속합니다.

https://mvnrepository.com/

 

2. 추가할 라이브러리를 검색하고 버전을 선택합니다.

 

3. 코드를 복사합니다.

 

4. pom.xml 파일에 <dependencies> 태그를 추가하고 태그 안에 복사한 코드를 붙여넣기합니다.

 

5. 저장을 하면 라이브러리가 추가됩니다.

 

* groupId 태그에 적혀있는 경로에 가면 라이브러리가 추가되어 있습니다.

 

 

mybatis 프레임워크

자바 퍼시스턴스(persistence) 프레임워크(데이터베이스 sql 실행 프레임워크)입니다.

퍼시스턴스 프레임워크를 사용하면 JDBC의 번거로움 없이 간단하게 DB연동 시스템을 개발할 수 있습니다.

JDBC DAO 소스 코드 안의 SQL문을 별도의 SQL 맵퍼 파일로 분리합니다.

DB 테이블의 컬럼과 자바 클래스의 변수를 바로 매핑해줍니다.

 

mybatis 설치 및 설정

메이븐 저장소에서 mybatis 코드를 복사해 pom.xml에 붙여넣기합니다.

 

mybatis 사이트의 코드를 활용하여 파일을 만듭니다.

 

MyBatis – 마이바티스 3 | 시작하기

Copyright © 2009–2021MyBatis.org. .

mybatis.org

 

1. SqlSessionBean 클래스 만들기

1) 코드를 복사해옵니다.

 

2) org.apache.ibatis.io.Resources 클래스를 import합니다.(ctrl+shift+o)

 

3) 변수들을 static으로 설정합니다.

 

4) 변수 inputStream을 try~catch합니다.

 

5) 변수 sqlSessionFactory를 리턴하는 메소드를 선언합니다.

 

6) resource의 파일 경로를 설정합니다.

 

2. mybatis 설정 파일 만들기(mybatis-config.xml)

1) 코드를 복사해옵니다.

 

2) property 값들을 저장하는 파일을 properties 태그로 추가합니다.

 

3) 실행할 SQL 쿼리를 저장한 파일을 mapper 태그로 추가합니다.

 

3. 프로퍼티 파일 만들기(db.properties)

1) mybatis-config.xml에 있는 프로퍼티의 값을 입력합니다.

 

4. SQL 맵퍼 파일 만들기(member.xml)

1) 코드를 복사해옵니다.

 

2) mapper 태그 사이에 sql 태그를 작성할 수 있습니다.

 

실행 테스트

 

반응형

댓글