为了让Java web服务器(Tomcat, Jetty)运行Java web应用程序,需按照标准目录结构打包Java web应用程序的资源(servlet、JSP等)。
下面是一个web应用程序标准目录结构:
- MyWebApp (目录)
- WEB-INF (目录)
- web.xml
- classes (目录)
- lib (目录)
- index.jsp
根目录
web应用程序的根目录可以任意取名。在上面的例子中,根目录叫MyWebApp。
根目录下,除了WEB-INF
目录,其他所有目录和文件都是开放访问的。例如,如果你的web应用程序被映射到网址
http://qikegu.com/myWebApp/
可以通过下面的URL访问index.jsp页面
http://qikegu.com/myWebApp/index.jsp
在css子目录中放入一个名为main.css的文件,可以通过下面URL访问:
http://qikegu.com/myWebApp/css/main.css
WEB-INF目录
WEB-INF
目录是一个特殊目录,存放java class文件,库文件及配置文件,目录中的文件不能从外部浏览器直接访问,而是会被web容器运行。
- WEB-INF (目录)
- web.xml – 配置文件
- classes (目录) – 存放编译后的java class文件
- lib (目录) – 存放各种lib的jar包
web.xml
web.xml
文件包含web应用的配置信息,web容器使用这些配置信息来正确部署和执行web应用程序。例如,可在web.xml
中配置servlet的URL。后续会有对web.xml
详细介绍。
classes
classes目录包含web应用程序中的全部已编译Java类。
lib
lib目录包含web应用程序用到的全部JAR包文件。此目录通常包含的是第三方库文件,但你也可以将自己的类文件打成JAR包放在这里,而不是将这些类放入classes目录中。