Skip to content

shu0n/struts-school-search

Repository files navigation

struts-school-search

以下の2点を目的としたWebアプリケーションである。

動作環境

  • macOS v13.0
  • Docker Engine v20.10.20
  • Docker Desktop v4.12.0
  • Apache v2.4.6
  • Tomcat v8.5.83
  • Java v1.8.0_45
  • struts v1.3.10

事前準備

  1. メールサーバ用のイメージのビルドとコンテナの起動を行う。
  2. DBサーバ用のイメージのビルドとコンテナの起動を行う。

初回起動

  1. 任意のディレクトリにリポジトリをチェックアウトする。(以下は、ホームディレクトリにチェックアウトした場合)
  2. ./struts-school-search/struts-docker-compose/に移動する。
  3. docker-compose.yml.sampleをもとにdocker-compose.ymlを作成する。
  4. 作成したdocker-compose.yml内の設定値を自環境に合わせて編集する。
  5. ../Webcontent/WEB-INF/props/に移動する。
  6. environment.properties.sampleをもとにenvironment.propertiesを作成する。
  7. 作成したenvironment.properties内の設定値をコンテナ環境に合わせて編集する。
  8. ./struts-school-search/struts-docker-compose/に移動する。
  9. docker-compose up -dのコマンドを実行する。
  10. イメージのビルドとコンテナの起動が完了した後に、Webブラウザからhttp://localhost/struts-school-search/にアクセスする。
  11. http://localhost/struts-school-search/admin/index.doにアクセスする。
  12. ログインフォームにメールアドレス:user@mail.example.comパスワード:passwordを入力してログインする。

再起動

  1. 任意のディレクトリでdocker restart struts-tomcatのコマンドを実行する。
  2. コンテナの再起動が完了した後に、Webブラウザからhttp://localhost/struts-school-search/にアクセスする。

テストソースの実行

  1. 任意のディレクトリでdocker exec -it struts-tomcat /bin/bashのコマンドを実行する。
  2. コンテナに入った後、/etc/tomcat/webapps/struts-school-search/WEB-INFに移動する。
  3. ./propsTest/配下の設定ファイルの値をコンテナ環境に合わせて編集する。
  4. 単一のテストクラスを実行する場合は、ant test -DtestClassName={完全修飾クラス名}のコマンドを実行する。
  5. 全てのテストクラスを実行する場合は、ant testAllのコマンドを実行する。

ディレクトリ構成

.
├── README.md ⇦ READMEを記載したファイル
├── SITE_REQUIREMENT.md ⇦ サイトの要件を記載したファイル
├── TABLE_LIST.md ⇦ DBのテーブル一覧を記載したファイル
├── FUNCTION_LIST.md ⇦ サイトの機能一覧を記載したファイル
├── SCREEN_LIST.md ⇦ サイトの画面一覧を記載したファイル
├── struts-docker-compose
│   ├── docker-compose.yml.sample ⇦ Webサーバとアプリケーションサーバのコンテナをまとめたdocker-composeのymlファイルのサンプル
│   ├── httpd ⇦ Webサーバ用のイメージのビルドとコンテナの起動に必要なファイルを格納したディレクトリ
│   └── tomcat ⇦ アプリケーションサーバ用のイメージのビルドとコンテナの起動に必要なファイルを格納したディレクトリ
└── WebContent
    ├── index.do ⇦ トップ画面に「/」でアクセスできるようにするためのファイル
    ├── front
    │   ├── jsp ⇦ フロント画面で使用するjspファイルを格納したディレクトリ
    │   ├── js ⇦ フロント画面で使用するjsファイルを格納したディレクトリ
    │   └── css ⇦ フロント画面で使用するcssファイルを格納したディレクトリ
    ├── admin
    │   ├── jsp ⇦ 管理画面で使用するjspファイルを格納したディレクトリ
    │   ├── js ⇦ 管理画面で使用するjsファイルを格納したディレクトリ
    │   └── css ⇦ 管理画面で使用するcssファイルを格納したディレクトリ
    ├── error
    │   ├── jsp ⇦ エラー画面で使用するjspファイルを格納したディレクトリ
    │   ├── js ⇦ エラー画面で使用するjsファイルを格納したディレクトリ
    │   └── css ⇦ エラー画面で使用するcssファイルを格納したディレクトリ
    ├── img ⇦ サイトで使用する画像やアップロードされた画像の格納先ディレクトリ
    └── WEB-INF
        ├── src
        │   ├── front
        │   │   ├── action ⇦ フロント画面のアクションクラスのjavaファイルを格納したディレクトリ
        │   │   └── actionform ⇦ フロント画面のアクションクラスで使用するアクションフォームクラスのjavaファイルを格納したディレクトリ
        │   ├── admin
        │   │   ├── action ⇦ 管理画面のアクションクラスのjavaファイルを格納したディレクトリ
        │   │   └── actionform ⇦ 管理画面のアクションクラスで使用するアクションフォームクラスのjavaファイルを格納したディレクトリ
        │   ├── model ⇦ 業務ロジックを実行するためのクラスのjavaファイルを格納したディレクトリ
        │   ├── util ⇦ 汎用的な処理(日時処理、ファイル処理、ログ処理など)を実行するためのクラスのjavaファイルを格納したディレクトリ
        │   ├── dao ⇦ DBへのCRUDを実行するためのDAOクラスのjavaファイルを格納したディレクトリ
        │   ├── actionform ⇦ DBのテーブルのカラムに対応したアクションフォームクラスとWebアプリケーションで使用する項目を追加したアクションフォームクラスのjavaファイルを格納したディレクトリ
        │   ├── exception ⇦ 独自の例外クラスのjavaファイルを格納したディレクトリ
        │   └── filters ⇦ 文字エンコードを指定するクラスのjavaファイルを格納したディレクトリ
        ├── srcTest ⇦ 単体試験を実行するテストクラスのjavaファイルを格納したディレクトリ(配下のディレクトリ構成は./srcと対応)
        ├── props ⇦ ソースのclassファイルの実行に使用する設定ファイルを格納したディレクトリ
        ├── propsTest ⇦ テストソースのclassファイルの実行に使用する設定ファイルを格納したディレクトリ
        ├── lib ⇦ ソースのclassファイル実行に使用するライブラリを格納したディレクトリ
        ├── libTest ⇦ テストソースのclassファイルの実行に使用するライブラリを格納したディレクトリ
        ├── logs ⇦ ログファイルの格納先ディレクトリ
        ├── validation-front.xml ⇦ 管理画面で使用するvalidationのxmlファイル
        ├── validation-admin.xml ⇦ 管理画面で使用するvalidationのxmlファイル
        ├── struts-config-front.xml ⇦ フロント画面で使用するstruts-configのxmlファイル
        ├── struts-config-admin.xml ⇦ 管理画面で使用するstruts-configのxmlファイル
        ├── web.xml ⇦ web.xmlファイル
        └── build.xml ⇦ Apache Ant実行用のxmlファイル

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages