새싹개발자 2020. 11. 15. 20:43

MVC : 자바(스프링) 개발 방식, 3가지 분리해서 개발하는 방식

- Model : 데이터베이스 부분

- View : home.jsp 와 같은 화면 부분

- Controller : Model(데이터베이스)과 View(화면)을 연결시켜주는 역할

 

* 자바 주석

1. 1줄 주석 : //로 시작

2. 여러줄 주석 : /* ... */

* html 주석 : <!-- ... --!>

 

* 헤로쿠에서는 HSQL 메모리 데이터베이스 사용 

: 서버 On -> Off하면 원상복귀

* 파스타에서는 MySQL 데이터베이스 사용

: 서버 On -> Off해도 내용 유지

 

 

<실습>
1. 스프링 MVC 프로젝트 구조 확인 -> 데이터 전송 설명 및 수정

(새 MVC 프로젝트 만들 때 기본 생성되는 2개 파일 분석) 

 

- 스프링 MVC 구조 중 View 분석

- JSP : Java Server Page

- <%...%> : JSP 파일에서 자바 프로그램을 사용할 때. <% 자바 프로그램 %>

- <%@ page ...%> : 페이지 지시자. ex) 페이지 인코딩(한글 처리) 

  * Encoding(코드화) ↔ Decoding(복호화)

- <%@ page session ...%> : 로그인 상태를 유지할 때 사용, 기본값 true(세션 사용하겠다는 의미)

  * seesion : 원래 웹페이지는 페이지 이동 시, 로그인 정보 사라진다. 이런 상황을 방지하기 위해 세션(변수) 사용

- <%@ taglib ...%> : 태그 라이브러리 지시자. taglib uri="외부자바프로그램용 태그를 가져다가 사용할 주소"

  * tag : 물건 가격표 태그와 같은 역할을 하는 html 정보 태그

- prefix : 접두사, 축약어 ex) "c"

 

 

 

 

- 스프링 MVC 구조 중 Controller 분석

- package : 자바소스코드(클래스)를 관리하기 위해서 만든 가상 영역

- org.edu.controller :  java 폴더 클래스 루트.

  org폴더 안. edu폴더 안. controller폴더 안에 자바소스코드(자바클래스파일)가 생성

  도메인구조와 유사. http://controller.edu.org  -> org.edu.controller

- @import : annotation import 지시자. 외부 라이브러리(모듈) 클래스 가져다가 사용하는 목적

  추가로 @import는 jsp에서 외부라이브러리(모듈) 클래스를 가져다가 사용할 때 사용

  개발자가 import 하는 것 X, 이클립스가 자동으로 import 하는 것 O

- 클래스의 MVC 종류 역할 표시 : 3가지 컴포넌트(복합기능)

 1. @Controller : 지시자 아래 클래스는 컨트롤러 역할이라고 스프링에 명시

 2. @Service : 지시자 아래 클래스는 프로그램 로직 구현 역할이라고 스프링에 명시

 3. @Repository : 지시자 아래 클래스는 데이터베이스 Model을 조작하는 역할이라고 스프링에 명시

- 클래스 특징 : 클래스 명은 대문자로 시작, 낙타 등 표기법(Camel 표기법) ex) HomeController