Java Web App目录布局
为了使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"目录中。