16

私が開発しているWebアプリの場合、規則を尊重していると思うので、通常は次のファイル編成を使用します。

src
|-- main
    |-- resources
    |   |-- *.properties
    |   |-- *.xml
    |   |-- spring
    |       |-- applicationContext.xml (main application context config file)
    |-- webapp
        |-- WEB-INF
            |-- spring
            |   |-- spring-mvc.xml (web application context config file, delegated to manage only the web part)
            |   |-- spring-security-http.xml (web security config)
            |-- static
            |   |-- *.css
            |   |-- *.js
            |-- views
            |   |-- *.jsp
            |-- web.xml (deployment configuration)

私が試したいのは、次の構造に従ってファイルを整理することです。

src
|-- main
    |-- resources
    |   |-- *.properties
    |   |-- *.xml
    |   |-- web.xml
    |   |-- spring
    |       |-- applicationContext.xml
    |       |-- spring-mvc.xml
    |       |-- spring-security-http.xml
    |-- webapp
        |-- WEB-INF
            |-- static
            |   |-- *.css
            |   |-- *.js
            |-- views
                |-- *.jsp

もちろん、webappをパッケージ化すると、ファイルは必要な場所に再配置されます(たとえば、WEB-INFフォルダー内のweb.xmlファイル)。上記のようにWebアプリケーションを再編成したい理由は、すべての* .xml構成ファイルをこことそこに配置するよりも、同じ場所に配置する方が便利だからです。私の最初の構造を壊すことはあなたの意見では悪い考えですか?はいの場合、なぜですか?すべてのWeb構成ファイルをWEB-INFフォルダー内に置くことがなぜそれほど重要なのですか?

PS:技術的には、Webアプリのクラスパス内のすべてのファイルを適切にリンクする方法を知っています。問題は、慣習と個人的/職業的経験からのフィードバックに関するものです。

4

2 に答える 2

18

Java Webプロジェクトを作成して、Eclipse、NetBeans、IntelliJ IDEAなどの一般的なIDEを作成し、典型的なJavaWebアプリケーションの構造を確認できます。

また、開発構造とパッケージ構造には違いがあります。
アプリを開発している間、あなたはあなたが好きな構造をほとんど使うことができます。ただし、特定のルールに従ってJavaEEWebアプリケーションをパッケージ化する必要があります。

詳細については、公式のJavaEEチュートリアルを参照してください。

また、Java 2 Platform、Enterprise Editionを使用して開発されたアプリケーションを構造化するための推奨規則もあります(ただし、日付はありますが、役立つ場合があります):
Javaブループリントガイドライン。エンタープライズアプリケーションのプロジェクト規則

そして、ここに上記のJavaBluePrintsの例があります。 Webアプリケーション:推奨されるディレクトリ構造


アップデート

これは、Springを使用したJavaWebアプリケーションプロジェクトの例です。たとえば、すべてのSpring関連の構成ファイルをWEB-INF内に特別に作成されたspringフォルダーに保存しました。そして、のフォルダーに、アプリをより適切に整理するために、より多くのフォルダーを作成しました。繰り返しになりますが、これは可能なバリアントの1つにすぎません。つまり、個人的な好みの問題です

春のプロジェクト構造の例

于 2013-01-07T16:59:27.683 に答える
4

web.xmlはWEB-INFディレクトリにある必要があります。これは、アプリサーバーがそれを探す唯一の場所です。それ以外に、Spring xmlファイルをリソースに含めることができます(最終的にはクラスパスになります)。

于 2013-01-07T15:56:11.923 に答える