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