java web 的标准目录结构(zz)
http://blog.csdn.net/bluesnail216/article/details/7744607
--yourproject
--src
--java 运行的java源代码
--test 单元测试的源代码
--configs 配置文件
--lib 开发需要的lib(里面通常是运行时不需要的jar)
--build.propertis (ant的)
--build.xml (ant)
--document (项目的设计文档、数据库设计文档等)
--WebRoot
--WEB-INF
--classes
--lib (运行时需要的jar,当然开发肯定也需要该lib)
---web.xml
--dist (打成jar、war的存放路径)
--css
--js
--view (模板文件 。jsp,mv)
--images
1. 公开目录
2. WEB-INF/web.xml 文件,发布描述符(必选)
3. WEB-INF/classes 目录,编译后的Java 类文件(可选)
4. WEB-INF/lib 目录,Java 类库文件(*.jar)(可选)
公开目录存放所有可以被用户的访问的资源, 包括 .html, .jsp, .gif, .jpg, .css, .js, .swf等等。
WEB-INF 目录是一个专用区域, 容器不能把此目录中的内容提供给用户。这个目录下的文件只供容器使用, 里面包含不应该由客户直接下载的资源, 例如: Servlet(这些组件包括应用程序逻辑以及对其他资源如数据库的可能访问), Web 应用程序中servlet 可直接访问的其他任何文件, 在服务器方运行或者使用的资源(如Java 类文件和供servlet 使用的JAR 文件), 由您的应用程序生成的临时文件, 发布描述符以及其它任何配置文件。这些资源是专用的, 因此只能由它们自己的Web 应用程序及容器访问。特别地, JSP/Servlet 程序文件也能通过ServletContext 访问到这个目录下的文件, 例如JSP 中可以通过application.getRealPath(“/WEB-INF/web.xml”) 访问到发布描述符文件的路径。 Web 容器要求在你的应用程序中必须有WEB-INF 目录。注意: 如果你的Web 应用程序中没有包含这个目录, 它可能将无法工作(这是因为不同的服务器对此情况的处理不甚一致,所以有时候也能工作)。
WEB-INF 中包含着发布描述符, 一个classes 目录和一个lib 目录, 以及其它内容。发布描述符(deployment descriptors)是J2EE Web 应用程序不可分割的一部分(也就是说是它的最小部分, 必不可缺的一部分)。它们在应用程序发布之后帮助管理 Web 应用程序的配置。对于 Web 容器而言, 发布描述符是一个名为web.xml 的XML 文件, 存储在Web 应用程序的 /WEB-INF 目录下。
发布描述符有多种用途:
• 为 Servlet 和Web 应用程序提供初始化参数 这使我们的Web 应用程序中的硬性编写的代码的初始化值更少。例如常见的<param-name>, <param-value>标记, 就可以为Servlet 提供参数, 这个参数可以在init() 方法中加载。 Struts 的ActionServlet也是通过这种方式来找到它们需要的配置文件struts-config.xml 的位置, 从而加载并分析它,来初始化Struts 框架用到的各种FromBean, Action, Forward 等。
• Servlet/JSP 定义可以为 Web 应用程序中的每个Servlet 或者预编译的JSP 网页提供定义。包括 Servlet/JSP 的名字, Servlet/JSP 的类以及一个可选的描述。
• Servlet/JSP 映射 Web 容器使用这些信息把进入请求映射到servlet 和JSP 网页。
• MIME 类型由于每个 Web 应用程序可以包含多种内容类型, 因此我们可以在发布描述符中为每一种类型指定MIME 类型。
• 安全性 我们可以使用发布描述符来管理应用程序的访问控制。例如, 可以指定我们的Web 应用程序是否需要登录, 如果需要的话, 应该使用什么登录页面, 以及用户会作为何种角色。发布描述符还可以用来自定义其他元素, 包括欢迎网页, 出错网页, 会话配置。classes 目录用于存储编译过的servlet 及其它程序类, 例如JavaBean。如果一个程序有打包的JAR 文件(例如一个第三方API 打包成了一个JAR 文件, 如Struts 框架的类库
struts.jar, MySQL 的数据库JDBC 驱动程序文件mysql-connector-java-3.1.11-bin.jar 等),那么它们可以被复制到lib 目录中(如果解压缩这些压缩包的话, 请将它们复制到classes 目录中)。 Web 容器使用这两个目录来查找servlet 及其他相关类,也就是说, 容器的类装入器会自动查看classes 目录, 以及lib 目录下的JAR 文件。这就意味着你不需要明确的把这些类和JAR 文件添加到CLASSPATH 中。 Web 容器自动将这两个目录中的文件加入Web应用的类路径中。
java web 的标准目录结构(zz)的更多相关文章
- 新建标准mavenWeb工程以及Maven的web应用标准目录结构建议
到现在为止,使用Maven结构的Web工程越来越多,因此在此介绍一下通过Maven来构建项目的相关知识. 文档主要分为两部分: 1.如何通过maven来构建多模块的web项目 ...
- java web项目的目录结构
- maven 创建web项目的标准目录结构
maven 创建web项目的标准目录结构 CreateTime--2018年4月18日21:05:37 Author:Marydon 1.标准目录介绍(开发目录) 2.在eclipse下,目录展示 ...
- Android MAVEN项目标准目录结构
1.标准目录结构: src -main –bin 脚本库 –java java源代码文件 –resources 资源库,会自动复制到classes目录里 –fi ...
- 使用Maven构建Web项目的目录结构
1.Web项目的目录结构 基于Java的Web项目,标准的打包方式是WAR.与JAR比较,包含更多的内容,比如JSP文件.Servlet.Java类.web.xml配置文件.依赖JAR包.静态 ...
- (转)Maven项目标准目录结构
场景:工作中的项目都是使用Maven的目录结构,虽然能够如期的完成开发工作,但是对于一个Maven工程的配置却并不熟悉,这里主要介绍下Maven工程的而目录结构. 1 标准目录结构 src -main ...
- Maven项目标准目录结构
-----------------------siwuxie095 Maven 项目标准目录结构 1.Maven 项目分为两种 (1)Java 项目 (2)Web 项目 2.对于 Java 项目 其中 ...
- MAVEN项目标准目录结构 ;
http://blog.csdn.net/lengyue_wy/article/details/6718637 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.标准目录结构: src ...
- MAVEN项目标准目录结构(转)
转自:http://blog.csdn.net/lengyue_wy/article/details/6718637 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.标准目录结构: s ...
随机推荐
- IOS之Foundation之探究学习Swift实用基础整理<一>
import Foundation //加载网络数据,查找数据的字符串 let dataurl = "http://api.k780.com:88/?app=weather.city& ...
- LeetCode 2 Add Two Numbers(链表操作)
题目来源:https://leetcode.com/problems/add-two-numbers/ You are given two linked lists representing two ...
- 关于配置并发访问的服务器apache、nginx
一. apache,nginx比较 关于Apache与Nginx的优势比较 (apache计算密集型 nginx io密集型 各有优势,不存在谁取代谁) 二.nginx 基于nginx ...
- java编程思想第四版中net.mindview.util包下载,及源码简单导入使用
在java编程思想第四版中需要使用net.mindview.util包,大家可以直接到http://www.mindviewinc.com/TIJ4/CodeInstructions.html 去下载 ...
- .bat脚本基本命令语法
目录批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1.REM 和 :: 2.ECHO 和 @ 3.PAUSE 4.ERRORLEVEL 5.TITL ...
- IOS沙盒Files目录说明和常用操作
Ios沙盒目录清单 1 Documents 用于存储用户生成的文件.其他数据及其他程序不能重新创建的文件,默认文件通过iCloud自动备份.如果不需要iCloud备份,则设置标记 NSURLIsExc ...
- TCP 连接的 TIME_WAIT 过多 导致 Tomcat 假死
最近系统二次开发之后,发现使用的 Tomcat 7 会经常假死.前端点击页面无任何反应,打开firebug,很多链接一直在等待服务器的反应.查看服务器的状态,CPU占用很少,最多不超过10%,一般只有 ...
- grub条目示例
https://wiki.archlinux.org/index.php/GRUB#Install_to_disk /boot/grub/menu.lst default=0 timeout=5 ti ...
- 05_最长公共子序列问题(LCS)
问题来源:刘汝佳<算法竞赛入门经典--训练指南> P60 问题7: 问题描述:给两个子序列A和B,求长度最大的公共子序列.比如1,5,2,6,8,和2,3,5,6,9,8,4的最长公共子序 ...
- 基于51单片机+DAC0832的信号发生器
最近帮别人设计一个毕业设计,做一个多种信号发生器(四种波形:方波.三角波.锯齿波.梯形波),现在贴上来给大家参考,如果有错误的地方,望指出~ 下面先贴上仿真的电路图(仿真的软件是Protuse,上传一 ...