Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring3/JSF2应用程序的目录结构是否正确?_Spring_Jsf_Directory_War - Fatal编程技术网

Spring3/JSF2应用程序的目录结构是否正确?

Spring3/JSF2应用程序的目录结构是否正确?,spring,jsf,directory,war,Spring,Jsf,Directory,War,在工作中,我看到了几种为此类应用程序设置目录结构的方法。也许有不止一个正确答案。下面是我如何设置我的目录结构-它正确吗?还是有更好的配置方法?(我正在将其打包到WAR文件中) /webappTopDir /src /主要 /java(控制器和其他类) /网络应用 /子文件夹1(弹簧保护的子文件夹) /子文件夹2(弹簧保护的子文件夹) /资源 /js /图像 /css /WEB-INF(包含application-context.xml、security.xml、faces-conf

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

  • /webappTopDir
    • /src
      • /主要
        • /java(控制器和其他类)
        • /网络应用
          • /子文件夹1(弹簧保护的子文件夹)
          • /子文件夹2(弹簧保护的子文件夹)
          • /资源
            • /js
            • /图像
            • /css
          • /WEB-INF(包含application-context.xml、security.xml、faces-config、WEB.xml和spring标记库)
            • /类(包含自定义JSF消息和日志属性)
              • META-INF(包含persistence.xml)
            • /解放党
            • /模板
          • /META-INF(包含context.xml)
这种结构是可行的,但我仍然想确保它是最佳实践。我觉得真正奇怪的是WEB-INF/classes下的META-INF,但从我在Oracle文档中看到的情况来看,如果将应用程序打包到战争中,这正是您所需要的。

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

  • 项目特定布局。无论项目在布局中体现了什么历史,您都应该继续维护该布局,直到您的项目被迫退出
  • 开发者社区布局。您的店铺决定如何实施布局。这种布局是通过几代程序员和正在解决的开发力量建立起来的。改变开发人员社区的思维定势不是一件容易的工作,即使这只是你自己
  • 构建工具布局。由于工具集使用的约定,许多构建工具具有特定的布局。Make、Ant、Seam 2、Spring、Maven 1、Maven 3、JBoss Forge似乎都有自己的约定,这些约定源自创建工具集的开发人员社区。每个工具集都有自定义布局的方法
  • 库/框架布局。Spring有一组特定的布局,可以很好地配合其构建设置
  • 为了回答您的具体问题,我建议您使用Spring模板来构建目录布局。您可以尝试以下教程:

    在学习本教程的过程中,您将了解为什么Spring构建链需要将对象放置在特定位置。这允许您证明教程布局的合理性,并将类似的推理应用于您自己的应用程序布局。

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

  • 项目特定布局。无论项目在布局中体现了什么历史,您都应该继续维护该布局,直到您的项目被迫退出
  • 开发者社区布局。您的店铺决定如何实施布局。这种布局是通过几代程序员和正在解决的开发力量建立起来的。改变开发人员社区的思维定势不是一件容易的工作,即使这只是你自己
  • 构建工具布局。由于工具集使用的约定,许多构建工具具有特定的布局。Make、Ant、Seam 2、Spring、Maven 1、Maven 3、JBoss Forge似乎都有自己的约定,这些约定源自创建工具集的开发人员社区。每个工具集都有自定义布局的方法
  • 库/框架布局。Spring有一组特定的布局,可以很好地配合其构建设置
  • 为了回答您的具体问题,我建议您使用Spring模板来构建目录布局。您可以尝试以下教程:


    在学习本教程的过程中,您将了解为什么Spring构建链需要将对象放置在特定位置。这允许您证明教程布局的合理性,并将类似的推理应用于您自己的应用程序布局。

    在我的例子中,META-INF目录位于WebContent目录下。我认为你认为奇怪的是对的。但绝对没有对错之分。还有更好的方法。

    在我的例子中,META-INF目录位于WebContent目录下。我认为你认为奇怪的是对的。但绝对没有对错之分。还有更好的方法。

    答案很有帮助,但我的应用程序不是SpringMVC,而是JSF,Spring提供了安全性。如果没有更好的方法,而是有许多同样好的方法来组合不同的目录布局,那么这个答案就足够了。答案很有用,但我的应用程序不是SpringMVC,而是JSF,Spring提供了安全性。如果没有“更好的方法”,而是有许多同样好的方法来组合不同的目录布局,那么这个答案就足够了。