こんにちは、ろどいこです。
今回は、WEBアプリを作成する際のプロジェクトのディレクトリ構成について解説していきたいと思います。
こんな方におすすめ
プロジェクトは作ったけど、どこに何のファイルを作成すればいいか分からない!
WEBアプリを作成するための具体的なディレクトリ構成が知りたい!
ディレクトリ構成
実際に企業でも使われているディレクトリ構成をわかりやすく図にしてみました。
ディレクトリの構成は決まりがあるわけではないので(特定の配置でないと動かないものもあります)、参考程度に見ていただければと思います。
それでは上から順に一つ一つ役割を解説していきます。
Controller
後ほど紹介する「view」と「service」の橋渡しを行います。どの画面を表示させるか(view)、画面から取得したデータに対してどんな処理を行うか(service)などの処理を行います。表と裏をつなぎ合わせる役目と考えればイメージしやすいと思います。
Service
裏で行われている処理のほとんどを担っています。「Service」は「Controller」から呼び出されて、渡された情報をもとに条件分岐や「Dao」の呼び出しなどを行います。
Dao
データベースにアクセスして必要な情報の取得や、データの追加などを行います。例えば、ユーザーIDからそのユーザーに紐づく個人情報を取得したり、会員登録であらたにテーブルにデータを追加したりします。
Entity
データベースから取得したデータの受け皿です。「Entity」はDBのテーブル単位で作成します。「Entity」には対象のテーブルに含まれるカラムをすべて記載し、setとgetで格納、取得を行えるようにします。テーブルのレコードをそのまま「Entity」という箱に入れるイメージです。
Dto
「Entity」はテーブルのデータを入れる箱と述べましたが、「Dto」は「View」と「Controller」間のデータをやり取りするための箱です。「Dto」には「Entity」と違い、決まった変数を入力する必要はなく、画面との情報の受け渡しに必要なものを記載します。また、「Dto」ではバリデーションチェックも行うことができます。
css
viewを修飾するためのものです。文字のデザインを変えたり、配置を指定できたりします。
view
表側で画面の表示や動きなどの処理を行っています。「Controller」から受け取った情報をもとにデータを表示することができます。
長々と文章だけ読んでいてもイメージがわきにくいと思うので、具体的な処理の流れを図にしてみました。
こんな感じです。手作り感満載で恐縮ですが、イメージつかんでいただければ幸いです。
簡単なWEBアプリの作成方法についても解説しているので、なにかしら動かしてみたいという方は下記記事を参考に作成してみてください!
当記事では、JAVAでWEBアプリを開発する方法を、0から解説していきます。 JAVAでWEBアプリを作成してみたい WEBアプリの作成方法を知りたい JAVA、Eclipseを入れたはいいけど、何から始めていいか分か[…]
以上、ディレクトリ構成についての解説でした。