2.2 web工程的目录结构
【转】
一个最简单的Web应用的目录结构如下所示:
Web应用的结构定义在Servlet的规范中,目前最新版本为3.1。
下载地址:https://jcp.org/aboutJava/communityprocess/final/jsr340/index.html
JSR340即Servlet3.1的规范中描述:Context path of an application determines the URL namespace of the contents of the Web application.
如果只是静态文件,都可以不需要WEB-INF以及web.xml,SimpleWebProject下只有一个index.jsp是可以直接访问到的。
WEB_INF目录
应用比较特殊的是WEB-INF目录,此路径不可以由外部直接访问到,因此对于class、jar、配置文件等需要受保护的资源,都应该放到此目录下。
但对于jar包中/META-INF/resource又是一种特殊情况,这里的资源被认为是静态资源,又可以直接被外部访问(其实这么用的场景很少,不用过多关注)。
META_INF目录
META-INF目录也比较特殊,外部不能直接访问。
如果发布程序使用war包,打包程序会把一些应用相关的信息写入到MANIFEST.MF文件中。
如果使用maven进行依赖管理,还会把maven的目录,内部是pom相关内容。
类加载器classloader
在WEB-INF目录的classes及lib子目录下,都可以存放Java类文件
应用的Class Loader是容器的Class Loader的一个子类。
应用的Class Loader需要能够加载class、lib以及各种资源,并且class的优先级高于lib。也就是类加载器必须先从WEB-INF/classes目录下加载类,然后从WEB-INF/lib目录下的JAR库中加载
所有的Class Loader都不能覆盖Java SE platform class,比如java.*和javax.*命名空间的资源等。
部署描述符(web.xml)
主要用于定义ServletContext、Session、Servlet、Servlet-Mapping、Listener、Filter,其它像Welcome File list等用的并不多。
Servlet容器根据web.xml就建立了外部请求到部署应用的Servlet的映射关系了。
2.2 web工程的目录结构的更多相关文章
- Eclipse中一个Maven工程的目录结构
在之前的javaSE开发中,没有很关注Eclipse工程目录下的环境,总是看见一个src就点进去新建一个包再写一个class.以后的日子中也没有机会注意到一个工程到底是怎么组织的这种问题,跟不要说自己 ...
- Eclipse中一个Maven工程的目录结构 (MacOS)
1. 为什么写这篇文章 在之前的javaSE开发中,没有很关注Eclipse工程目录下的环境,总是看见一个src就点进去新建一个包再写一个class.以后的日子中也没有机会注意到一个工程到底是怎么组织 ...
- javaee web项目的目录结构
一般web系统的目录结构如下,其中src下的包结构和webroot下(除meta-inf和web-inf)的文件夹可以根据自己的项目实际调整,但是javaee规范的大目录结构不会变: META-INF ...
- 使用Maven构建Web项目的目录结构
1.Web项目的目录结构 基于Java的Web项目,标准的打包方式是WAR.与JAR比较,包含更多的内容,比如JSP文件.Servlet.Java类.web.xml配置文件.依赖JAR包.静态 ...
- Web应用的目录结构
Web应用的目录结构 |- WebRoot : web应用的根目录 |- 静态资源(html+css+js+image+vedio)|- WEB-INF :固定写法. |-classes: (可选 ...
- 第一个Maven工程的目录结构和文件内容及联网问题
[第一个Maven工程] ①目录结构 Hello |---src |---|---main |---|---|---java |---|---|---resources |---|---test |- ...
- 【Tomcat】Web应用的目录结构
创建时间:6.14 Web应用的目录结构 .xml文件不用自己写,抄头抄尾就可以 (别人的) (抄头抄尾) *注意:WEB-INF目录是受保护的,外界不能直接访问 如果访问WEB-INF目录下的htm ...
- 新建标准mavenWeb工程以及Maven的web应用标准目录结构建议
到现在为止,使用Maven结构的Web工程越来越多,因此在此介绍一下通过Maven来构建项目的相关知识. 文档主要分为两部分: 1.如何通过maven来构建多模块的web项目 ...
- eclipse中Maven web项目的目录结构浅析
刚开始接触maven web项目的时候,相信很多人都会被它的目录结构迷惑. 为了避免初学者遇到像我一样的困扰,我就从一个纯初学者的视角,来分析一下这个东西. 1,比如说,我们拿一个常见的目录结构来看, ...
随机推荐
- 动态背景的CSS3登录表单
在线演示 本地下载
- kafka入门使用
kafka版本0.11.0.1以上自带zookeeper,必须要求环境中有jdk,解压后进入目录 1.在kafka解压目录下下有一个config的文件夹,里面放置的是我们的配置文件 consumer. ...
- truncate delete 与 drop的区别
一张表几亿条数据.根据task_id删除几千万. delete删除后查询,发现查询速度还是没有变快.explain查看 rows并没有发生变化.查询速度肯定也不会变化.原因? truncate del ...
- EF Code-First 学习之旅 级联删除
级联删除是当删除主记录的时候会自动删除依赖的记录或者设置外键属性为null public class Student { public Student() { } public int Student ...
- tomcat官方下载连接——安装版&绿色版
Tomcat绿色版Windows64位9.0.10 http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.10/bin/apache-tomcat- ...
- Spring-boot CLI下载
Spring-boot CLI下载地址: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#getting-s ...
- 图片加载之Picasso使用
简介 Picasso是Square公司开源的一个Android图形缓存库,可以实现图片下载和缓存功能. 主要有以下一些特性: 在Adapter中回收和取消已经不在视野范围图片资源的加载,防止可能出现的 ...
- ReactiveX/RxJava文档中文版
项目地址:https://github.com/mcxiaoke/RxDocs,欢迎Star和帮忙改进. 有任何意见或建议,到这里提出 Create New Issue 阅读地址 ReactiveX文 ...
- LeetCode第[53]题(Java):Maximum Subarray
题目:和最大的子序列 难度:Medium 题目内容: Given an integer array nums, find the contiguous subarray (containing at ...
- 用JS判断IE版本的代码
方法一: 复制代码代码如下: <script language="javascript"> function getIE() { if(navigator.appNam ...