[java, #4] 웹어플리케이션 제작 큰그림
0. 목적
본격적으로 스프링을 이용한 웹어플리케이션을 공부하기 전 어떤 내용을 공부할지 알아보았다.
학습의 목적은 back-end를 스프링 프레임워크를 활용하여 웹어플리케이션을 만들어보는 것이다.
이에 따라, Spring을 직접 제작하고 그 내부의 controller, service, repo 장치를 직접 제작하고 작동 방식을 학습해볼 것이다.
이번 포스트에서는 학습할 내용의 전체 큰그림을 살펴보고, 어떤 내용이 존재하는지 간략하게 알아본다.
1. 큰그림
1.1 흐름도
1.2 설명
1.2.1 server
- 정의: 서비스 구현을 목적으로 작동하는 컴퓨터
- 목적: 요청에 따른 응답 및 데이터 송수신 처리
- 구성 요소: 서버의 구성요소는 controller, service, repo 등 3가지로 구성된다.
1.2.1.1 controller
- 정의: 요청(request)의 최초 진입 지점
- 목적:
① front-end의 요청(request) 및 응답(response) 처리
② 데이터(template, static 등 각종 데이터) 송수신
1.2.1.2 service
- 정의: server를 실질적으로 운영하는 핵심 파트
- 목적: server 유지관리 및 각 파트 수행 명령 설정
1.2.1.3 repo
- 정의: JAVA와 RDBMS를 연결해주는 다리
- 목적: 자바 언어로 RDBMS와 통신하기 위함
1.2.2 RDBMS
- 용어 풀이: Relational Data Base Management System(관계형 데이터 베이스 관리 시스템)
- 정의: 고도화된 excel
- 목적:
① 데이터 저장, 관리
② 데이터 송수신
2. 데이터 이동
2.1 front-end → server
- 구글에서 검색창에서 단어를 입력하고 엔터를 치면, 단어는 서버로 이동한다.
- 가장 먼저 진입하는 곳은 controller이다. controller에서는 해당 단어의 종류를 파악하고 어떻게 파악할지 결정한다.
- 물론, '어떻게 결정할지'는 결정해주는 곳은 service다.
- service의 결정(명령)에 의해 검색어는 데이터베이스의 검색어로 다시 이용될 것이다.
2.2 server ↔ RDBMS
- service는 서버의 두뇌와 같다. 데이터, controller 등 모든 영역을 관리한다.
- controller에 진입한 검색어를 어떤 곳으로 보낼지 명령하는 곳 또한 이곳이다.
- 서비스는 검색어가 속한 모든 데이터를 요청하는 명령을 RDBMS에 보낸다.
- RDBMS는 요청한 자료를 몽땅 서버로 보낸다.
2.3 server → front-end
- 서버에 도착한 자료는 front-end로 응답(response)된다.
- 이 때, browser가 자료를 특정 틀에 예쁘게 보여줄 수 있도록 HTML, CSS, JavaScript 데이터를 함께 보낸다.
3. 코드 구현
3.1 코드 구조
code structure
java
└ main
└ com.sparta.week02
└ controller: 자동 응답기
└ CourseController: API 종류별로 수행해야 할 명령을 메소드로 기술
├ service: 서버 유지관리(데이터 업데이트)
└ CourseService: 데이터 업데이트 방법을 구체적으로 기술
├ domain: DB와 통신하기 위한 번역기
└ Course: Course 클래스 정의. 클래서 내 멤버 변수 및 테이블 생성, 조회, 변경, 업데이트 방법 기술
├ CourseRepository: JPA 정의. JPA 사용이 가능하도록 설정.
├ CourseRequestDto: 새로운 데이터만 가지고 다니는 class 정의.
└ TimeStamped: 생성 및 수정 시간을 상속하기 위한 class 정의.
└ Week02Application: 웹 현시 코드
Author And Source
이 문제에 관하여([java, #4] 웹어플리케이션 제작 큰그림), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@rnjsvlfwp98/java-4-웹어플리케이션-제작-큰그림
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
3.1 코드 구조
code structure
java
└ main
└ com.sparta.week02
└ controller: 자동 응답기
└ CourseController: API 종류별로 수행해야 할 명령을 메소드로 기술
├ service: 서버 유지관리(데이터 업데이트)
└ CourseService: 데이터 업데이트 방법을 구체적으로 기술
├ domain: DB와 통신하기 위한 번역기
└ Course: Course 클래스 정의. 클래서 내 멤버 변수 및 테이블 생성, 조회, 변경, 업데이트 방법 기술
├ CourseRepository: JPA 정의. JPA 사용이 가능하도록 설정.
├ CourseRequestDto: 새로운 데이터만 가지고 다니는 class 정의.
└ TimeStamped: 생성 및 수정 시간을 상속하기 위한 class 정의.
└ Week02Application: 웹 현시 코드
Author And Source
이 문제에 관하여([java, #4] 웹어플리케이션 제작 큰그림), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rnjsvlfwp98/java-4-웹어플리케이션-제작-큰그림저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)