2021. 6. 10. 18:05ใBack-End ์์ ์ค/Spring Framework
๐ Model1๊ณผ Model2 ๋ฐฉ์
์น ์ ํ๋ฆฌ์ผ์ด์
์์ฑํ๊ธฐ ์ํด ์ค์ ์
๋ฌด๋ฅผ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์ ๋น์ฆ๋์ค Losic์ด๋ผ ๋ถ๋ฅด๋ฉฐ, ํ๋ฉด์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ถ๋ถ์ Presentation Losic์ด๋ผ ๋ถ๋ฅด๊ณ , ์ด ๋ ๊ฐ๋ฅผ ๊ตฌํํด์ผ ํ๋ ๊ฒ์ด์์.
- ๋น์ฆ๋์ค ๋ก์ง์ด๋?
- ์ค์ DB์ ์ฐ๋ํ์ฌ Data๋ฅผ ์ป์ด์ค๊ธฐ ์ํ ์์ ์ ์ํํ๋ ์์ญ
- Model์ด๋ผ๊ณ ๋ช ์นญ
- ํ๋ฆฌ์ ํ
์ด์
๋ก์ง์ด๋?
- ์ต์ข ๊ฒฐ๊ณผ๋ฌผ์ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด์ฌ ์ฃผ๋ ์ญํ
- View๋ผ๊ณ ๋ช ์นญ
์์ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํ ๊ฐ๋ฐ ๋ฐฉ์์ ๋ ๊ฐ์ง ์ข
๋ฅ๊ฐ ์๋ ๊ฒ์ด์์.
- Model 1 (Model 1 Architecture)
- Model 2 (Model 2 Architecture)
๐ Model์์์ ์ฉ์ด ๋ด์ฉ
DB์ ์ฐ๋ํ๋ ๋น์ฆ๋์ค ๋ก์ง์ ํตํด ๋ค์ด์จ Data๋ฅผ ์ ์ฅํ๋ ์ฉ๋๋ก ์ฌ์ฉํ๋ฉฐ, ๋ณดํต DAO(Data Access Object)๋ผ๊ณ ๋ถ๋ฆ
๋๋ค.
์ค์ ๋น์ฆ๋์ค (์
๋ฌด) ๋ก์ง์ด ๊ตฌํ ๋์ด ์๋ ๊ฒ์ด์์.
View์๊ฒ ์ ๊ณตํ Data๋ฅผ ๊ฐ๊ณต / ๊ด๋ฆฌ ํ๋ต๋๋ค.
๋น์ฆ๋์ค Data์ Data์ ์ฐ์ฐ ์งํฉ์ฒด์ ๊ฒฐ๊ณผ๋ฌผ์ธ ๊ฒ์ด์์.
- ์ผ๋ฐ์ ์ผ๋ก DBMS์ ์ํด ๊ด๋ฆฌ ๋ฉ๋๋ค.
- DB์ ๊ด๋ จ๋ ์ฐ์ฐ์ JDBC API์ ์์กด
- ์์ : ๊ฒ์ํ ๊ธ ๋ฑ๋ก / ์์ / ์ญ์ ๋ฑ๋ฑ(DBMS์ ์ฐ๋)
EJB : ์ค๋ํ ์ด์์ ์ ํ๋ฆฌ์ผ์ด์
Model์ ํ ์ข
๋ฅ
- ์์
- Java Bean์ Data 1๊ฑด์ ์๋ฏธ
- VO(Value Object)๋ ๊ฐ์ ์ ์ฅํ๊ณ ์๋ ๊ฐ์ฒด ์๋ฏธ
- DTO(Data Transfer Object)๋ Data๋ฅผ ์ ์กํด์ฃผ๋ ๊ฐ์ฒด ์๋ฏธ
๐ View์์์ ์ฉ์ด ๋ด์ฉ
๋จ์ํ ๊ฒฐ๊ณผ๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํด ์ฃผ๋ ๋ถ๋ถ์ธ ๊ฒ์ด์์.
์ฌ์ฉ์์์ ์ธํฐํ์ด์ค๋ก์จ, ํด๋ผ์ด์ธํธ ๋ธ๋ผ์ฐ์ ์ ์ต์ข ์ ์ผ๋ก ๋ณด์ฌ์ง๋ ๊ฒฐ๊ณผ๋ฌผ ํ์ด์ง๋๋๋ค!
JSP ํ์ด์ง๋ก ๊ตฌ์ฑ๋๋ ๊ฒ์ด ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ํจํด์ด๋๋๋ค!
- ๊ตฌํ์ ์ฐธ์กฐ ๊ธฐ์
- EL & JSTL
- ์ปค์คํ Tag Library๋ฅผ ํตํ Losic ๊ตฌํ ๊ฐ๋ฅ
- Velocity ๋๋ XML / XSLT๋ฑ์ ํ์ฉ ๊ฐ๋ฅ
- ์์
- JSP File, HTML File
- Excel, PowerPoint, MS-Word
- PDF Format
- ์ฐธ์กฐ ์ฌํญ
- JSF(Java Server Faces) : View ์์ญ์ ์ด์ ์ ๋ง์ถ Frame Work
๐ Controller์์์ ์ฉ์ด ๋ด์ฉ
์ฌ์ฉ์(์น ๋ธ๋ผ์ฐ์ )์ ์์ฒญ ์ ๋ณด๋ฅผ ๋ฐ์์ ์ด๊ฒ์ ๋ถ์ ํ๋ ๊ณณ์ด์์!
Model๊ณผ View ๋ถ๋ถ๊ฐ์ ํ๋ฆ์ ์ ์ดํ๋ ์ญํ ์ ํ๋ต๋๋ค!
์ฌ์ฉ์์ ์์ฒญ์ ์ฒ๋ฆฌํ Java Bean์ ์์ฑํ๊ณ , ๋น์ฆ๋์ค ๋ก์ง์ด ๊ตฌํ๋ Method๋ฅผ ์คํํฉ๋๋ค.
์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๋ผ ๋น์ฆ๋์ค ๋ก์ง(Model) ๋๋ View๋ฑ์ ํธ์ถํ๋ ์ญํ ์ ํฉ๋๋ค.
๋น์ฆ๋์ค ๋ก์ง ์ํ ๋ค ์ฌ์ฉ์์ ์์ฒญ์ JSP Page๋, ํน์ ๋ค๋ฅธ URL๋ก ์ด๋ ์ํต๋๋ค.
- ์ฐธ์กฐ ๊ธฐ์
- ์๋ธ๋ฆฟ ๋งตํ(ํน์ ํ์ด์ง ์์ฒญ์ ๋ํ ๋งคํ ๊ธฐ๋ฅ)
- ๊ตฌํ ์์
- ์ฌ์ฉ์ ์ ์ Servlet
- Frame Work๊ฐ ์ ๊ณตํ๋ Servlet
Servlet์ด๋?
๊ฐ๋จํ ๋งํด์, ์๋ธ๋ฆฟ์ด๋ ์๋ฐ๋ฅผ ์ฌ์ฉํ์ฌ ์น์ ๋ง๋ค๊ธฐ ์ํด ํ์ํ ๊ธฐ์ ์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ข๋ ๋ค์ด๊ฐ์ ์ค๋ช ํ๋ฉด ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ ํ ์์ฒญ์ ํ๋ฉด ๊ทธ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ์ ์กํด์ฃผ์ด์ผ ํ๋๋ฐ, ์ด๋ฌํ ์ญํ ์ ํ๋ ์๋ฐ ํ๋ก๊ทธ๋จ์ ๋๋ค.
์๋ฅผ ๋ค์ด, ์ด๋ ํ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ์ ํ๋ ค๊ณ ํ ๋. ์ฌ์ฉ์๋ ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๊ณ , ๋ก๊ทธ์ธ ๋ฒํผ์ ๋๋ฆ ๋๋ค.
๊ทธ๋ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ํ์ธํ๊ณ , ๋ค์ ํ์ด์ง๋ฅผ ๋์์ฃผ์ด์ผ ํ๋๋ฐ, ์ด๋ฌํ ์ญํ ์ ์ํํ๋ ๊ฒ์ด ๋ฐ๋ก ์๋ธ๋ฆฟ(Servlet)์ ๋๋ค. ๊ทธ๋์ ์๋ธ๋ฆฟ์ ์๋ฐ๋ก ๊ตฌํ ๋ *CGI๋ผ๊ณ ํํ ๋งํฉ๋๋ค. MVC Model์์๋ Controller๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ์ด์์!
53ํ์ด์ง ์ ๋ฆฌ ํ ์ฐจ๋ก
'Back-End ์์ ์ค > Spring Framework' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring Boot] Service ๊ฐ๋ฐ ๋ฐ Test Case ์์ฑ (0) | 2021.08.11 |
---|---|
[Spring Boot] ํ์ ๊ด๋ฆฌ ์์ - Backend (0) | 2021.08.06 |
[Spring Boot] Spring Web ๊ฐ๋ฐ ๊ธฐ์ด (0) | 2021.08.05 |
[Spring Boot] thymeleaf์ Spring Boot (2) | 2021.08.04 |
Lombok Annotation ๊ด๋ จ (0) | 2021.06.17 |