Web应用程序的目录结构

一个Web应用程序基本上由以下项目组成:

1.静态资源(HTML,CSS,图片,声音等)

2.Servlet

3.JSP

4.自定义类

5.工具类

6.部署描述文件(web.xml等)、设置信息(Annotation等)

Web应用程序目录结构必须符合规范。例如,如果一个应用程序的环境路径(Context path)是/HelloServlet,则所有的资源项目必须以/HelloServlet为根目录依规定结构摆放。基本上根目录中的资源可以直接下载,若index.html位于/HelloServlet下,则可以直接以/HelloServlet/index.html来取得。

Web应用程序存在一个特殊的/WEB-INF子目录,此目录中存在的资源不会被列入应用程序根目录中可直接访问的项。即,客户端(如Browser)不可以直接请求/WEB-INF中的资源(直接在网址上指明访问/WEB-INF),否则就是404 Not Found的错误结果。/WEB-INF中的资源项目有着一定的名称与结构。

(1)/WEB-INF/web.xml 是部署描述文件

(2)/WEB-INF/classes 用来放置应用程序用到的自定义类(.class),必须包括包(package)结构。

(3)/WEB-INF/lib 用来放置应用程序用到的JAR文件。

Web应用程序用到的JAR文件,其中可以放置Servlet、JSP、自定义类、工具类、部署描述文件等,应用程序的类载入器可以从JAR中载入对应的资源。

可以在JAR文件中的/META-INF/resources目录中放置静态资源或JSP等,例如若在/META-INF中放个index.html,若请求的URL中包括/HelloServlet/index.html,但实际上/HelloServlet根目录下不存在index.html,则会使用JAR中的/META-INF/resources/index.html。

如果要用到某个类,则Web应用程序会到/WEB-INF/classes中试着载入类,若无,再试着从/WEB-INF/lib的JAR文件中寻找类文件(若还没有找到,则会到容器实现本身存放类或JAR的目录中寻找,但位置视不同实现厂商而有所不同,以Tomcat为例,搜索的路径是Tomcat的安装目录下的lib目录)。

客户端不能直接请求/WEB-INF中的资源,但可以通过程序的控制,让程序来取得/WEB-INF中的资源,如使用ServletContext的getResource()与getResourceAsStream(),或是通过RequestDispatcher请求调派。

Web app 默认主页的设置:访问URL如:localhost:8080/FirstServlet/

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>default.jsp</welcome-file>

</welcome-file-list>

如果找不到以上的文件,则会尝试至JAR的/META-INF/resources中寻找已放置的资源页面。

整个Web应用可以被封装为一个WAR文件,如FirstServlet.war,以便于部署至Web容器。

时间: 2024-10-06 00:58:24

Web应用程序的目录结构的相关文章

Eclipse中创建标准web工程以及标准目录结构说明

最近公司有个Web项目,项目结构如下: 虽然运行没有错,但是实在是别扭,标准的web应用一般不采用这种结构: 因此总结一下:     1.如何在Eclipse中创建一个标准的Web应用.     2.标准Web应用推荐的目录结构.   第一:如何在Eclipse中创建一个标准的web应用:(假设项目名称为:myweb) 1) PS:projectname一般全小写字母,最好不要出现数字和大写字母. 2) PS:default output flolder要根据project_name修改. 3)

Flask大型程序的目录结构

小型的web程序把代码写在一个文件内即可,flask并没有像Django那样强制目录结构,但是当程序达到一定规模的时候,合理的目录结构组织让开发和维护都更加方便,下面是一种flask的目录结构方式: |-flasky |-app/ |-templates/ |-static/ |-main/ |-__init__.py |-errors.py |-forms.py |-views.py |-__init__.py |-email.py |-models.py |-migrations/ |-te

二十一、【.Net开源框架】EFW框架Web前端开发之目录结构和使用FireBug调试方法

回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan.baidu.com/s/1o6MAKCa 前言:前面多章对EFW框架的核心类库作了详细说明,接下来几章将对框架中的前端及界面层功能进一步讲解,前端分为两个部分Web前端和Winform前端,Web前端主要是在Web系统中使用,就是编写Html代码和JS代码开发网页界面,框架推荐的是JqueryEasyUI作为界面框架:W

单一入口web应用程序概述:结构,特点,优点,缺点/php,asp,jsp

单一入口应用程序概述 什么是单一入口应用程序? 在解释什么是单一入口应用程序之前,我们先来看看传统的 web 应用程序.news.php 显示新闻列表news_edit.php 显示新闻编辑页面这两个页面不但分别实现了两个功能,还成为了应用程序的两个入口. 那什么是入口啊?打个比方,大家上 WC,都是男生进一个门,女生进一个门.这两个门就是 WC 的两个入口. 呵呵,上面的例子应该很好理解吧.那稍微变换一下,单一入口的概念就很容易理解了.现在我们是进一个公共 WC,不管男女都是从最外面的入口进入

微信小程序基本目录结构学习

今天我们就以firstdemo为例,介绍一下小程序的基本目录结构.当我们打开一个微信小程序项目后,点击进入"编辑"菜单,我们可以看到有以下5个文件/文件夹):pages文件夹,utils文件夹,全局文件app.js文件,全局文件app.json文件,图片编辑文件工具app.wxss文件.<ignore_js_op> 小程序目录结构的整体结构如下:<ignore_js_op> <ignore_js_op> 我们详细介绍下小程序目录中每个文件和文件夹的功

微信小程序的目录结构

当我们打开一个微信小程序项目后,点击进入"编辑"菜单,我们可以看到有以下5个文件/文件夹):pages文件夹,utils文件夹,全局文件app.js文件,全局文件app.json文件,图片编辑文件工具app.wxss文件. 小程序目录结构的整体结构如下: 小程序包含一个描述整体程序的APP和多个描述各自页面的page. 文件 必填 作用 app.js 是 小程序逻辑 app.json 是 小程序公共设置 app.wxss 否 小程序公共样式表 一个小程序页面由四个文件组成,分别是: 文

理解Web应用程序的代码结构和运行原理(3)

1.理解Web应用程序的运行原理和机制 Web应用程序是基于浏览器/服务器模式(也称B/S架构)的应用程序,它开发完成后,需要部署到Web服务器上才能正常运行,与用户交互的客户端是网页浏览器. 浏览器负责显示来自服务器的数据和接受用户的输入数据,也称为"与用户交互":服务器负责处理浏览器的访问请求,并把处理结果(数据或消息)组织成浏览器可以识别的格式文本返回. Web应用程序的主要特点如下: 1)浏览器主动请求服务器资源.在Web应用程序中,一般是浏览器首先向服务器发起访问某个网页或某

小程序的目录结构及基本代码编写流程

微信开发者工具下载:https://dldir1.qq.com/WechatWebDev/1.0.0/201812271/wechat_devtools_1.02.1812271_ia32.exe 编辑器的布局结构: 项目的目录结构: 如何写页面布局代码: 如何获取动态数据: 原文地址:https://www.cnblogs.com/wordblog/p/10211959.html

二、Android应用程序的目录结构

HelloWorld |--res |--values |--layout |--drawable-ldpi.drawavle-mdpi.drawable-hdpi |--src |--存放java文件 |--AndroidMainifest.xml 上面的文件结构中res目录.src目录.AndroidMainifest.xml文件是Android项目所必须的. 必须文件: res:存放Android项目各种资源文件,如:布局文件.values.尺寸资源文件:drawable-ldpi.dra