javaWeb应用部署结构浅析
要成功部署一个Web应用,则必须遵循以下标准(参考)目录结构。

2、目录说明
1)WEB-INF目录:必须直接放在Web应用上下文之下(即一级目录)。
2)class目录:必须直接放在WEB-INF目录下。所有类文件(普通bean、servlet、监听器、过滤器、辅助类及标志处理器等)的包结构都必须直接放在class目录下,里面存放编译后的.class文件。
3)lib目录:必须直接放在WEB-INF目录下,用于存放第三行类库文件。
4)web.xml文件:必须直接放在WEB-INF目录下,是Web应用的部署描述文件(非常重要)。
5)jar包:必须放在lib目录下。
6)jar包中类的包结构:必须直接放在jar目录下,里面也是存放编译后的.class文件。
7)META-INF目录:必须是jar包中的顶级目录。
8)jar包中的TLD文件:必须放在META-INF目录下(可以是子目录,目录名不必是TLDS)。
9)不在jar包中的TLD文件:必须放在WEB-INF下的某个位置。
10)标志文件(.tag或.tagx):必须放在WEB-INF/tags下的某个位置。如果部署在jar包中,则必须放在META-INF/tags下的某个位置。
3、补充说明
1)Web应用根目录下(与WEB-INF同一级)的资源(比如jsp、静态HTNL、js文件、样式文件以及图片文件等),都是可以从客户端通过URL地址直接访问的。
2)WEB-INF里面的文件都不能被客户端直接访问,即WEB-INF目录下的资源对用户来说是不可见的,但在服务器端可以使用特定的方式访问。
3)根据第2)点,如果想禁止用户直接访问某些资源,则可以将它们存放到WEB-INF目录下。
技术分享:www.kaige123.com
javaWeb应用部署结构浅析的更多相关文章
- JavaWeb项目目录结构
今天本来是准备学习spring mvc + mybatis,结果被idea的配置环境卡主了,自己刚刚接触JavaWeb不久,所以浪费了很多时间.最终我回归最简单的servlet & jsp,并 ...
- maven项目eclipse目录结构浅析
maven项目eclipse目录结构浅析 PS:Java Resources是为了方便我们编译,到最后都会编译到 WEB-INF/classes Maven项目的目录结构
- 7-将本地的javaweb项目部署到Linux服务器的一般操作
一.基本流程介绍: 1.安装tomcat;2.安装mysql;3.将本地的javaweb导出成.war文件,传到服务器的tomcat/webapps/下面4.将数据库文件导出成.sql文件,传到服务器 ...
- RocketMQ学习笔记(3)----RocketMQ物理结构和逻辑部署结构
1. RocketMQ的物理结构 RecketMQ网络部署的特点: Name Server是一个几乎无状态特点,可集群部署,节点之间无任何信息同步的(相对于zookeeper是较为轻量级的). Bro ...
- 转:基于Maven管理的JavaWeb项目目录结构参考
通常在创建JavaWeb项目时多多少少都会遵循一些既定的比较通用的目录结构,下面分享一张基于Maven管理的JavaWeb项目目录结构参考图: 上图仅是参考,不同项目不同团队都有自己的约定和规范. 个 ...
- javaweb可部署目录结构
webApp //项目名称 -META-INF --MANIFEST.MF -WEB-INF --classes //编译class文件 --lib //依赖jar --web.xml -ind ...
- 使用IDEA创建JavaWeb项目 部署本地tomcat并运行
一.下载商业版IDEA 官方链接:https://www.jetbrains.com/idea/download/#section=windows 二.新建JavaWeb项目 1.在菜单栏找到File ...
- 记一次JAVAWEB项目部署
需求 原本服务器上tomcat部署了一个javaweb项目在80端口,这次要部署另一个javaweb项目在8090端口,或者同时部署在同一端口不同目录下. 解决方法 不同端口部署 不同端口部署我们需要 ...
- 阿里云轻量应用服务器 怎么控制怎么上传文件怎么安装JDK和Tomcat怎么完成JavaWeb的部署
你是否遇到过这些问题,自己的javaweb项目本地运行一切正常,但是一旦转移到阿里服务器之类的.就出现以下问题. 1 jsp无法解析java类 2 Only a type can be importe ...
随机推荐
- CodeForces - 407A
Triangle Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Submit Sta ...
- native app
Apache Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎.你可以把他想象成类似于Webkit和Google ...
- Linux配置SSH公钥认证与Jenkins远程登录进行自动发布
公钥认证,是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密:另一个称为密钥(private key),只有拥有者才能看到,用于解密. 在使用jenkins ...
- Ubuntu下VIM的安装和基本用法
1.用root账户登录Ubuntu,命令行中输入vim,如果未安装会得到下面的提示: 程序“vim”已包含在下列软件包中: * vim * vim-gnome * vim-tiny * vim ...
- SSH 超时断开连接解决办法
配置服务器端: vi /etc/ssh/sshd.conf ClientAliveInterval 120 #以秒为单位(可以改大些) ClientAliveCountMax 0 #发现客户端没有相应 ...
- 12、uwp 开发的零碎总结
1.在给位 “修正版本号”(Major.Minor.Build.Revision)不能修改. 后, 商店上传失败,描述信息为:Apps are not allowed to have a Versio ...
- loj 1407(2-sat + 枚举 + 输出一组可行解 )
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27115 思路:有一个trick要注意:当情况为 2 x y 时,可 ...
- SQL Server 2005 中实现通用的异步触发器架构
在SQL Server 2005中,通过新增的Service Broker可以实现异步触发器的处理功能.本文提供一种使用Service Broker实现的通用异步触发器方法. 在本方法中,通过Serv ...
- ajax请求成功后打开新窗口地址
转自:http://www.cnblogs.com/linjiqin/p/3148205.html jQuery.ajax({ "type":"post&qu ...
- java实例--海盗的最优方案
package unit4; public class Pirate{ private String name; private int[] schemes; private int index; p ...