Java Web App目录布局

时间:2020-01-09 10:36:29  来源:igfitidea点击:

为了使Java Web服务器或者servlet容器运行Java Web应用程序,我们需要以标准化的方式打包其中的资源(Servlet,JSP等)。此文本将向我们展示如何。

以下是Web应用程序应包括的目录和文件:

  • MyWebApp(目录)WEB-INF(目录)web.xml
  • classs(dir)
  • lib(dir)
  • index.jsp

根目录

Web应用程序的根目录可以具有几乎任何我们想要的名称。在上面的示例中,根目录称为" MyWebApp"。

在根目录下,我们可以将所有应该可以访问的文件放在Web应用程序中。例如,如果Web应用程序已映射到URL

http://mydomain.com/myWebApp/

...然后可以在URL上访问" index.jsp"页面

http://mydomain.com/myWebApp/index.jsp

如果我们在根目录下创建任何子目录,并将文件放置在这些子目录中,则这些文件将通过Web应用程序中的"子目录/文件"路径提供。例如,如果创建一个名为" layout"的子目录,并其中放置一个名为" theLayout.jsp"的文件,则可以通过以下URL从外部访问该文件:

http://mydomain.com/myWebApp/layout/theLayout.jsp

" WEB-INF"子目录是该规则的一个例外,如下所述。

WEB-INF目录

WEB-INF目录位于Web应用程序根目录的正下方。该目录是一个元信息目录。不应从浏览器访问存储在此处的文件(尽管Web应用程序可以在代码中内部访问它们)。

在" WEB-INF"目录中,有两个重要目录(" classes"和" lib"),以及一个重要文件(web.xml),如下所述。

web.xml

" web.xml"文件包含有关Web应用程序的信息,Java Web服务器/ Servlet容器使用该信息来正确部署和执行Web应用程序。例如," web.xml"包含有关Web应用程序应部署哪些servlet以及它们应映射到哪个URL的信息。在这里,我将不详细介绍" web.xml"文件。只是知道,它存在。

classes

" classes"目录包含Web应用程序中所有已编译的Java类。这些类应该位于与它们的包结构相匹配的目录结构中,就像我们要直接从命令行运行它们,或者将它们打包在JAR文件中一样。

LIB

lib目录包含Web应用程序使用的所有JAR文件。该目录通常包含应用程序正在使用的任何第三方库。但是,我们也可以将自己的类放入JAR文件中,并将其放在此处,而不是将这些类放入" classes"目录中。