tomcat目录结构简介

如果我们有一个web应用,名称为“mail”(同时也是web应用所在目录的名称),那么其目录内不同类型的文件应该服从如下放置的规则:

一般来讲:

对于html、jsp、css、js文件等,可以直接放置在web应用所在目录中,当然如果某些文件比较多,可以另外创建一些目录来存放。

而对于除了上述几种文件外,一些不希望被外界能访问到的文件必须放在【WEB-INF】目录中,文件名不许更改,纯大写,一点不能有区别,否则必定出错,而在这个目录下会存放一些我们开发所需的Java文件(应放置在【classes】目录下),Java运行所需要的jar包(放置在【WEB-INF】目录下的【lib】目录,也可以放在Tomcat主目录中的【lib】目录),还有非常重要的“web.xml”文件,虽然这个文件由我们自己编写内容,但是文件名必须是“web.xml”不能变,这个文件可以有我们来对自己开发的web应用进行配置。

我的web应用就随Tomcat的【conf】目录中的web.xml进行配置,我们来看看Tomcat的“web.xml”文件是如何配置的:

index.html

index.htm

index.jsp

在Tomcat的“web.xml”文件的结尾处,有上面这三句话,意思是首页为 “index.html”,如果不存在则首页为 “index.htm”,如果还不存在,则首页为 “index.jsp”。因此即使我的web应用中没有专门的自定义web.xml文件来设定我的首页,那么只要在我的web应用所在目录下有自定义的“index.html”就可以作为我web应用的首页打开。

那么一般我们都要在自己的web应用中包含有自己的“web.xml”文件,那么该如何编写呢?

最简单的编写方式,取Tomcat的【conf】目录中的web.xml中的有用信息,比如头和尾,再加上自己所需的功能,都可以从这个“模板”文件中摘取。

比如我要自定义自己的首页,不再采用在web应用所在目录下定义一个index.html文件,只需要从模板中摘取头和尾,加上设置首页功能。

假设我的web应用所在目录为【mail】,其下自定义了【pages】目录作为存放全部html页面,我想将其中的“1.html”作为我应用的首页,那么我应用中的自定义web.xml内容如下:

/pages/1.html

注意这个路径的写法,如果以目录作为开头,那么在目录之前一定要有“/”。这样配置好首页后,从浏览器打开就可以只需键入该web应用对应的虚拟目录作为路径:

因此以后就可以使用这种方法设置自己的web应用的首页。

但是会抱怨,不是还得输入web应用所在路径吗,这个不用输才能算真正意义上的首页啊!!!

在server.xml文件中的标签中增加标签,并将其中的path属性设置为缺省值。

在server.xml文件中修改:

结合自定义web.xml文件所设置的首页,在浏览器中如下:

首页完成!!另外只需要将Tomcat的“server.xml”文件中将端口改为80,即可无需输入端口,直接IP地址就能访问首页!

当然web.xml文件不单单只是用来配置某个web资源作为网站的首页,还可以将servlet程序映射到某个URL地址上、为web应用配置监听器、为web应用配置过滤器 等等,所以说web.xml文件时整个开发web应用中最重要的配置文件!

java获取tomcat目录结构_tomcat目录结构简介_动力节点Java学院整理相关推荐

  1. java ztree_ztree简介_动力节点Java学院整理

    [简介] zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 zTree是一个依靠jQuery实现的多功能"树插件".优异的性能.灵活的配 ...

  2. backbone java_backbone简介_动力节点Java学院整理

    简介 Web 应用程序越来越关注于前端,使用客户端脚本与 Ajax 进行交互.由于 JavaScript 应用程序越来越复杂,如果没有合适的工具和模式,那么 JavaScript 代码的高效编写.非重 ...

  3. 网页制作 HTML设为首页和加入收藏_动力节点Java学院整理

    网页制作 HTML设为首页和加入收藏_动力节点Java学院整理 IE浏览器下如何实现"设为首页","加入收藏"的功能 解决思路: 将指定URL设为首页的功能主要 ...

  4. Java Scaner类详解_动力节点Java学院整理

    Java.util.Scanner是Java5.0的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都 ...

  5. java outputstream初始化_ByteArrayOutputStream简介和使用_动力节点Java学院整理

    ByteArrayOutputStream 介绍 ByteArrayOutputStream 是字节数组输出流.它继承于OutputStream. ByteArrayOutputStream 中的数据 ...

  6. java display html_css html布局之display属性_动力节点Java学院整理

    1.HTML元素分类 HTML元素大题可分为内联(inline)元素和块(block)元素. 内联元素(inline) ①元素显示方式:"文本方式",1个挨着1个,不独自占有1行: ...

  7. java子网划分_IP地址子网划分_动力节点Java学院整理

    二进制和十进制的关系 二进制和十六进制的关系16进制的每个位是2进制的4位F=1111二进制转16进制,按上面4位一组分开转 2.IP地址和二进制 十进制:0-9逢10(到9)进1十六进制:0-F(1 ...

  8. java 头尾 队列_Java数据结构之队列(动力节点Java学院整理)

    队列的定义: 队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表. (1)允许删除的一端称为队头(Front). (2)允许插入的一端称为队尾(Rear). (3)当队列中 ...

  9. java 获取tomcat的相对路径_tomcat获取相对路径和绝对路径总结

    Java代码 String path = Struts2Util.getServletContext().getRealPath("/"); Jsp代码 String path = ...

最新文章

  1. 6.Hadoop的学习(Hadoop的配置(伪分布式的搭建)-2(ssh登录远程主机,无口令提示))
  2. spring的基本配置和使用
  3. 将k8s制作成3D射击游戏,好玩到停不下来,附源码
  4. hadoop-hbase-spark单机版安装
  5. Python协程--实现斐波那契数列(Fibonacci)的几种方式
  6. 分布式消息规范 OpenMessaging 1.0.0-preview 发布 1
  7. svn服务端可视化界面
  8. DIM-00014: 无法打开windows nt服务控制管理器
  9. ThinkPad T440屏幕关闭之后硬盘狂响的解决方案
  10. linux pam认证 用户名,Linux-PAM 认证 模块
  11. android app实现多种语音,基于Android的语音助手APP
  12. 【VUE项目实战】68、使用pm2管理项目
  13. 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动
  14. ASCII Grid
  15. Unity 给物体加贴图
  16. 如何看待培训机构出来的非科班程序员
  17. 狼行千里吃肉,马行千里吃草(我读了5遍,震撼了!)
  18. Flutter教程之Flutter 中的磨砂玻璃效果
  19. 网秦手机杀毒软件 v2.1 symbian s60 _symbian 7.0+ 免费
  20. CodeForces 985E Pencils and Boxes

热门文章

  1. .NET 5.0 RC1 发布,离正式版发布仅剩两个版本,与 netty 相比更具竞争力
  2. 十问十答 Ms-PL 许可证
  3. 【译】在 Linux 上不安装 Mono 构建 .NET Framework 类库
  4. 在C#中使用Json.Net进行序列化和反序列化及定制化
  5. 你必须知道的 SmartSql
  6. Docker的部署-包括网关服务(Ocelot)+认证服务(IdentityServer4)+应用服务
  7. 微软向Linux表白: 向Linux社区开放60000多项专利
  8. Visual Studio 2017 与 Visual Studio for Mac 支持更新
  9. Visual Studio 2017全面上市
  10. 迁移数据库到SQL on Linux Docker