[java,#4]Webアプリケーション作成青写真


0、目的


Springを使ったWebアプリケーションを本格的に学ぶ前に、勉強する内容を知っておきましょう.
学習の目的はback-endをSpringフレームワークとして利用してWebアプリケーションを作成することである.
そこで、Springを直接作成し、内部のコントローラ、サービス、repoデバイスを直接作成し、その働き方を学びます.
この文章では、学習する内容の全体的な図を見て、どのような内容があるかを簡単に理解します.

1.大図


1.1フローチャート



1.2説明


1.2.1 server


定義
  • :サービスを実施するためのコンピュータ
  • 目的:要求に応答してデータ
  • を受信する.
  • コンポーネント:サーバのコンポーネントはコントローラ、サービス、repoの3つの部分から構成されています.
  • 1.2.1.1 controller


    定義
  • :要求の開始点
  • 目的:
    ①フロントエンドの要求(要求)と応答(応答)の処理
    ②データ(テンプレート、静態等の各種データ)送受信
  • 1.2.1.2 service


    定義
  • :サーバを実際に実行するキー
  • 目的:サーバメンテナンスと各部のコマンド設定
  • を設定する.

    1.2.1.3 repo


    定義
  • :JAVAとRDBMSを接続するブリッジ
  • 目的:Java言語を使用してRDBMSと通信する
  • 1.2.2 RDBMS


    説明
  • 用語:リレーショナル・データベース管理システム
  • 定義
  • :拡張excel
  • 目的:
    ①データ格納、管理
    ②データ送受信
  • 2.データの移動


    2.1 front-end → server

  • Googleでは、検索ウィンドウに単語を入力し、企業を検索し、単語をサーバーに移動します.
  • が最初に入った場所はコントローラです.controllerはこの語の種類を決定し、どのように理解するかを決定する.
  • もちろん、「どう決めるか」を決めるのがサービスです.
  • サービスの決定(コマンド)に従って、クエリーはデータベースのクエリーとして再利用されます.
  • 2.2 server ↔ RDBMS

  • サービスはサーバの頭のようなものです.データ、コントローラなどすべての分野を管理します.
  • コマンド送信が
  • コントローラに入る検索語の場所もここです.
  • サービスは、クエリ内のすべてのデータを要求するコマンドをRDBMSに送信する.
  • RDBMSは、要求されたデータを全てサーバに送信する.
  • 2.3 server → front-end

  • サーバに到着した資料は、フロントエンドで応答します.
  • では、ブラウザが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: 웹 현시 코드