要成功部署一个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应用部署结构浅析的更多相关文章

  1. JavaWeb项目目录结构

    今天本来是准备学习spring mvc + mybatis,结果被idea的配置环境卡主了,自己刚刚接触JavaWeb不久,所以浪费了很多时间.最终我回归最简单的servlet & jsp,并 ...

  2. maven项目eclipse目录结构浅析

    maven项目eclipse目录结构浅析 PS:Java Resources是为了方便我们编译,到最后都会编译到   WEB-INF/classes Maven项目的目录结构

  3. 7-将本地的javaweb项目部署到Linux服务器的一般操作

    一.基本流程介绍: 1.安装tomcat;2.安装mysql;3.将本地的javaweb导出成.war文件,传到服务器的tomcat/webapps/下面4.将数据库文件导出成.sql文件,传到服务器 ...

  4. RocketMQ学习笔记(3)----RocketMQ物理结构和逻辑部署结构

    1. RocketMQ的物理结构 RecketMQ网络部署的特点: Name Server是一个几乎无状态特点,可集群部署,节点之间无任何信息同步的(相对于zookeeper是较为轻量级的). Bro ...

  5. 转:基于Maven管理的JavaWeb项目目录结构参考

    通常在创建JavaWeb项目时多多少少都会遵循一些既定的比较通用的目录结构,下面分享一张基于Maven管理的JavaWeb项目目录结构参考图: 上图仅是参考,不同项目不同团队都有自己的约定和规范. 个 ...

  6. javaweb可部署目录结构

    webApp //项目名称 -META-INF --MANIFEST.MF -WEB-INF --classes   //编译class文件 --lib  //依赖jar --web.xml -ind ...

  7. 使用IDEA创建JavaWeb项目 部署本地tomcat并运行

    一.下载商业版IDEA 官方链接:https://www.jetbrains.com/idea/download/#section=windows 二.新建JavaWeb项目 1.在菜单栏找到File ...

  8. 记一次JAVAWEB项目部署

    需求 原本服务器上tomcat部署了一个javaweb项目在80端口,这次要部署另一个javaweb项目在8090端口,或者同时部署在同一端口不同目录下. 解决方法 不同端口部署 不同端口部署我们需要 ...

  9. 阿里云轻量应用服务器 怎么控制怎么上传文件怎么安装JDK和Tomcat怎么完成JavaWeb的部署

    你是否遇到过这些问题,自己的javaweb项目本地运行一切正常,但是一旦转移到阿里服务器之类的.就出现以下问题. 1 jsp无法解析java类 2 Only a type can be importe ...

随机推荐

  1. CodeForces - 407A

    Triangle Time Limit: 1000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Submit Sta ...

  2. native app

    Apache Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎.你可以把他想象成类似于Webkit和Google ...

  3. Linux配置SSH公钥认证与Jenkins远程登录进行自动发布

    公钥认证,是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密:另一个称为密钥(private key),只有拥有者才能看到,用于解密. 在使用jenkins ...

  4. Ubuntu下VIM的安装和基本用法

    1.用root账户登录Ubuntu,命令行中输入vim,如果未安装会得到下面的提示: 程序“vim”已包含在下列软件包中:  * vim  * vim-gnome  * vim-tiny  * vim ...

  5. SSH 超时断开连接解决办法

    配置服务器端: vi /etc/ssh/sshd.conf ClientAliveInterval 120 #以秒为单位(可以改大些) ClientAliveCountMax 0 #发现客户端没有相应 ...

  6. 12、uwp 开发的零碎总结

    1.在给位 “修正版本号”(Major.Minor.Build.Revision)不能修改. 后, 商店上传失败,描述信息为:Apps are not allowed to have a Versio ...

  7. loj 1407(2-sat + 枚举 + 输出一组可行解 )

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27115 思路:有一个trick要注意:当情况为 2 x y 时,可 ...

  8. SQL Server 2005 中实现通用的异步触发器架构

    在SQL Server 2005中,通过新增的Service Broker可以实现异步触发器的处理功能.本文提供一种使用Service Broker实现的通用异步触发器方法. 在本方法中,通过Serv ...

  9. ajax请求成功后打开新窗口地址

    转自:http://www.cnblogs.com/linjiqin/p/3148205.html jQuery.ajax({       "type":"post&qu ...

  10. java实例--海盗的最优方案

    package unit4; public class Pirate{ private String name; private int[] schemes; private int index; p ...