正确的Spring 3 / JSF 2应用程序的目录结构?

时间:2013-04-01 17:22:58

标签: spring jsf directory war

在工作中,我已经看到了为这种类型的应用程序设置目录结构的几种方法。也许有不止一个正确的答案。以下是我如何设置目录结构 - 这是正确的吗?或者有更好的配置方法吗? (我将其打包在WAR文件中)

  • / webappTopDir
    • / SRC
      • /主
        • / java(控制器和其他类)
        • / web应用
          • / subfolder1(Spring secure subfolder)
          • / subfolder2(Spring secure subfolder)
          • /资源
            • / JS
            • /图像
            • / CSS
          • / WEB-INF(包含application-context.xml,security.xml,faces-config,web.xml和spring taglibs)
            • / classes(包含自定义JSF消息和日志记录属性)
              • META-INF(包含persistence.xml)
            • / lib中
            • /模板
          • / META-INF(包含context.xml)
这种结构有效,但我仍然希望确保它是最佳实践。我发现很奇怪的是WEB-INF / classes下的META-INF,但是从我在Oracle文档中看到的,这就是将应用程序打包成WAR Oracle Managing Entites时所需要的。

2 个答案:

答案 0 :(得分:1)

就我而言,META-INF目录位于WebContent目录下。我认为你认为奇怪的是对的。但绝对没有正确或错误的方式。还有更好的方法。

答案 1 :(得分:0)

术语“正确”意味着文件夹布局有一个客观标准。以下是我所了解的客观标准:

  1. 项目特定布局。无论项目在布局中体现了什么样的历史,你都应该继续保持这种布局,直到你被迫离开它为止。
  2. 开发人员社区布局。您的商店决定了布局的实施方式。这种布局是通过众多程序员和正在解决的发展力量建立起来的。改变开发人员社区的思维模式并不容易,即使只是你自己。
  3. 构建工具布局。由于工具集使用的约定,许多构建工具具有特定的布局。 Make,Ant,Seam 2,Spring,Maven 1,Maven 3,JBoss Forge似乎都有自己的约定来自创建工具集的开发人员社区。每个工具集都有自定义布局的方法。
  4. 图书馆/框架布局。 Spring有一组(一组)特定的布局,可以很好地与它的构建设置配合使用。
  5. 要回答您的具体问题,我建议您使用Spring模板构建目录布局。您可以尝试以下教程:

    http://static.springsource.org/docs/Spring-MVC-step-by-step/

    在学习本教程时,请了解Spring构建链需要在特定位置进行操作的原因。这允许您证明教程布局的合理性,并将类似的推理应用于您自己的应用程序布局。