Web应用程序的目录结构
为什么80%的码农都做不了架构师?>>>
一个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容器。
转载于:https://my.oschina.net/tashi/blog/214235
Web应用程序的目录结构相关推荐
- 以下关于android应用程序的目录结构,以下关于Android应用程序的目录结构描述中,错误的是哪个()...
以下关于Android应用程序的目录结构描述中,错误的是哪个() 更多相关问题 吸收实验中,塔底塔顶气相中二氧化碳的浓度采用( )测量. <国际海上避碰规则>适用于: 人的好奇心和强烈的求 ...
- 开源网店程序magento目录结构完整版
magento目录结构完整版 以下是magento目录结构完整版:另有magento的文件结构图与原理简述 /app – 程序根目录 /app/etc – 全局配置文件目录 /app/code – 所 ...
- 使用Struts2开发Java Web应用程序(目录)
第一部分 Struts入门 第一章 Struts2 概览(beta) 第二章 一个简单的Login 应用程序(beta) Struts 2 概要 第三章Struts配置(beta) ...
- 小程序的目录结构—pages文件夹的内容和作用
作用:pages下放小程序的所有页面,每个页面都是以单独的文件夹而存在的 1) .js 页面的脚本文件(script:根据一定格式编码的可执行文件),存放页面的数据.事件处理函数. .json 2) ...
- 微信小程序项目目录结构以及各个文件夹和文件的作用
pages文件夹,utils文件夹,全局文件app.js文件,全局文件app.json文件, 样式app.wxss文件,项目配置文件project.config.json,页面收录配置文件 sitem ...
- Web开发的标准目录结构
- [原创]java WEB学习笔记02:javaWeb开发的目录结构
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Android开发:程序目录结构详解:activity主要方法等
HelloWorld程序的目录结构概述 我们可以在文件夹中看到,HelloWorld程序的目录主要包括:src文件夹.gen文件夹.Android文件夹.assets.res文件夹. AndroidM ...
- [填坑手册]小程序目录结构和组件化使用心得
小程序目录结构 关于小程序的目录结构,可以说一开始大家都有各自的开发习惯和命名规则,但一旦项目变得复杂庞大的时候,你就发现管理起来和后期维护变得很麻烦,如果是 协同开发 的话,更容易出现 " ...
- 小程序开发(1)-之目录结构和文件说明
#以下图片是小程序的目录结构,建议所有的目录都使用小写字母,不使用驼峰格式 #组件 components是自定义组件目录,对一些常用的组件的封装 #配置文件 config是配置文件,存有一些常用的字段 ...
最新文章
- springboot redis
- 按摩加快肌肉修复有科学依据了,哈佛大学研究成果登Science子刊
- Windows 环境下安装redis 及其PHP Redis扩展
- 交换和路由的区别?VLAN的特点?
- python:字典的操作
- 2014c语言二级考试题,2014计算机二级等级考试试题:C语言模拟题
- 一个链表创建、反转、打印的C语言代码
- react dispatch_React纯Hooks状态管理探索
- 【JAVASCRIPT】表单序列化问题
- 神龙X-Dragon,这技术“范儿”如何?| 问底中国IT技术演进
- java读取本地图片的绝对地址_我想使用图片的绝对路径。为什么java不能使用图片的绝对路径。...
- Android 系统 (130)---ODM 开发用户常见需求文档(四)
- 制作U盘启动的并可保持更改更新和设置的BT4最终版完全手册
- “达观杯”文本智能处理冠军分享:深度学习文本分类
- org_chart.js 使用方法
- 用Latex beamer做poster经验总结
- 数学建模保姆教程-1
- React-Native调用系统分享组件Share组件的使用
- [Unity][AssetBundle]本地其他项目AB包加载AB打包文件文件路径
- python 蒙特卡罗_python实现蒙特卡罗方法(代码示例)
热门文章
- 这个软件真好用,让 iPhone 无线投屏到 Mac 上
- 如何使用Mac预览程序将png转换为jpg格式的技巧分享
- 「PDF Expert」macOS 全能型 PDF 工具——功能介绍
- 苹果向开发者发布iOS/iPadOS 14.6的第二个测试版
- Z-score标准化[转载]
- 微软正式发布 Azure IoT Central
- 在你的 Android App 中使用 Flutter | Google开发者大会
- LeetCode:35. Search Insert Position(Easy)
- ORA-00257: 归档程序错误。在释放之前仅限于内部连接
- The summary of Interview