Java Web工程目录结构
2012-09-03 17:03
302 查看
在Sun的Java Servlet规范中,对Java Web应用做了这样的定义:“Java Web应用由一组Servlet、HTML页面、类,以及其他可以被绑定的资源构成。它可以在第三方供应商提供的实现Servlet规范的Web应用容器中运行。” Java Web应用的主要特征之一就是与ServletContext的关联。每个Web应用都有且只有一个ServletContext。当Java Web应用运行时,Servlet容器为每个Web应用创建唯一的ServletContext对象,使得它能被同一个Web应用中的所有组件共享。Servlet容器(例如Tomcat)控制这种关联,并且保证在ServletContext中存储对象时,不会发生冲突。
Java Web应用程序必须使用规范的目录结构:
应用程序根目录
-- WEB-INF目录:必须目录 WEB-INF是受保护文件夹,我们不能通过常规的方法(浏览器请求)来访问里面的资源。
-- web.xml:Web应用部署描述文件,必须目录
-- classes目录:存放字节码文件
-- lib目录:存放第三方类库文件
-- TLD文件:标签库描述文件
-- 其他静态文件:HTML、CSS、JavaScript、图片等
实际项目开发中推荐的目录结构
--project
--src
--java 运行的java源代码
--test 单元测试的源代码
--configs 配置文件
--WebRoot
--WEB-INF
--classes
--lib (运行时需要的jar,当然开发肯定也需要该lib)
--web.xml
--css
--js
--images
--jsp(view) (模板文件 。jsp,mv)
--build.propertis (ant的)
--build.xml (ant)
--dist (打成jar、war的存放路径)
关于jsp(view) 的放置路径,我们也可以将它放到WEB-INF目录下,但是这样就不能通过浏览器直接请求到jsp页面,必须经过服务器跳转,这样可以阻止用户下载到jsp页面,其实放在WebRoot 目录下,再加一个过滤器也可以有一样的效果。这个问题网上有很多讨论,我没找到正式的结论,基本上是习惯或者个人喜好的问题。
在classes以及lib子目录下,都可以存放Java类文件。在运行过程中,Tomcat的类装载器先装载classes目录下的类,再装载lib目录下的类。因此,如果两个目录下存在同名的类,classes目录下的类具有优先权。
web.xml文件
Java Web应用通过一个基于XML的发布描述符文件来配置其发布信息,这个文件名为web.xml,它存放于WEB-INF子目录下。在web.xml文件中可包含如下配置信息:
Servlet的定义
Servlet的初始化参数
Servlet以及JSP的映射
安全域配置参数
welcome文件清单
资源引用
环境变量的定义
(web.xml配置文件详解:http://blog.csdn.net/itmagic_jack/article/details/6293042
/article/7107023.html )
( Web.xml 加载顺序: http://blog.csdn.net/xiongyayun428/article/details/6992995 )
Java Web应用程序必须使用规范的目录结构:
应用程序根目录
-- WEB-INF目录:必须目录 WEB-INF是受保护文件夹,我们不能通过常规的方法(浏览器请求)来访问里面的资源。
-- web.xml:Web应用部署描述文件,必须目录
-- classes目录:存放字节码文件
-- lib目录:存放第三方类库文件
-- TLD文件:标签库描述文件
-- 其他静态文件:HTML、CSS、JavaScript、图片等
实际项目开发中推荐的目录结构
--project
--src
--java 运行的java源代码
--test 单元测试的源代码
--configs 配置文件
--WebRoot
--WEB-INF
--classes
--lib (运行时需要的jar,当然开发肯定也需要该lib)
--web.xml
--css
--js
--images
--jsp(view) (模板文件 。jsp,mv)
--build.propertis (ant的)
--build.xml (ant)
--dist (打成jar、war的存放路径)
关于jsp(view) 的放置路径,我们也可以将它放到WEB-INF目录下,但是这样就不能通过浏览器直接请求到jsp页面,必须经过服务器跳转,这样可以阻止用户下载到jsp页面,其实放在WebRoot 目录下,再加一个过滤器也可以有一样的效果。这个问题网上有很多讨论,我没找到正式的结论,基本上是习惯或者个人喜好的问题。
在classes以及lib子目录下,都可以存放Java类文件。在运行过程中,Tomcat的类装载器先装载classes目录下的类,再装载lib目录下的类。因此,如果两个目录下存在同名的类,classes目录下的类具有优先权。
web.xml文件
Java Web应用通过一个基于XML的发布描述符文件来配置其发布信息,这个文件名为web.xml,它存放于WEB-INF子目录下。在web.xml文件中可包含如下配置信息:
Servlet的定义
Servlet的初始化参数
Servlet以及JSP的映射
安全域配置参数
welcome文件清单
资源引用
环境变量的定义
(web.xml配置文件详解:http://blog.csdn.net/itmagic_jack/article/details/6293042
/article/7107023.html )
( Web.xml 加载顺序: http://blog.csdn.net/xiongyayun428/article/details/6992995 )
相关文章推荐
- Eclipse-----Java Web工程目录结构
- Java Web工程目录结构
- java webapps 的目录结构
- Java Web应用程序的推荐目录结构
- java se与java web项目目录结构(最后为应用SSH框架目录结构)
- 如何将Eclipse 的JavaWeb工程部署到Tomcat的webapps目录下
- Java Web 回顾总结(四) - java Web目录结构
- 总结javaweb 目录结构
- JAVA web 程序设计的目录结构解读和新建一个程序、部署和运行
- javaWeb工程目录
- java web 项目 推荐目录结构
- web工程目录结构
- java web 项目 推荐目录结构
- java Web开发基础(一)工程项目文档结构
- 如何获得java工程或者java web工程中的src目录中的文件和webinf目录路径
- 1.TomCat配置以及JavaWeb开发的目录结构
- myeclipse 和 eclipse ide for javaee 下的java web项目目录结构对比
- JavaWeb项目的目录结构
- 【JavaWeb-28】Maven仓库、目录结构、命令和生命周期、添加jar包和插件
- javaweb目录结构