java web中有其标准的结构,又称war文件(jar打包的文件)结构,按照如下结构在webapps下创建文件夹
hello |
+- WEB-INF |
+- classes |
+- lib
+- web.xml
+-META-INF
所有需要的class文件均以WEB-INF/classes/为根目录按包名存放 ,所有的jar文件全部放在WEB-INF/lib下 ,Web服务器 (比如Tomcat)会自动把classes和lib下的所有jar文件动态添加到CLASSPATH中,其中classes目录优先级高,如果 classes和lib中某个jar的class全名相同,则只会找到classes下的文件。
WEB-INF/web.xml是标准配置文件 ,负责注册Servlet,Filter及其它用到的资源。如果没有web.xml,Tomcat会使用缺省的配置文件(什么也不配置)。如果有web.xml,Tomcat 会首先访问它。
一般说来,自己写的class包括servlets,filter,javaBean等编译后放在classes目录下,用到的第三方jar(如struts.jar)放在lib下。
JSP文件可放在根目录下的任意位置,但是位置不同会影响URL的格式。以上面的hello应用为例,我们指定hello/hello.jsp,则URL为http://localhost:8080/hello/hello.jsp ,若是放在hello/admin/hello.jsp,则相应的URL变为http://localhost:8080/hello/admin/hello.jsp ,若是放在WEB-INF下,则用户不可直接访问此JSP文件,只能通过RequestDispatch 间接访问,此方法可向用户屏蔽真实的URL,在struts等Web框架中被广泛使用。
只有具有这种结构的war文件就可以直接在任何服务器下部署,jboss支持热部署,tomcat则要重启
http://blog.csdn.net/wage2025/archive/2007/05/08/1601167.aspx