背景

在讨论如何组织源码目录之前,很有必要对现有web站点的组织结构进行测试,特别是2.2版本的API,在服务器版本上是不同的,所以在2.2之后的版本中,所有的服务器版本都要求能够使用标准的压缩web站点格式,这就是下面所要进行讨论的。

一个web应用程序,就是一个标准格式的多个目录和文件的层次组织,这种层次组织,可以在非压缩包到时候被访问,每一个目录和文件,在文件系统中都是单独存在的,或者是在压缩包环境下,比如一个.war文件,非压缩包格式在环境部署过程中很有用,而压缩包格式在发布环境是很有用。

Web应用程序的层次结构的最顶层结构,也就是应用程序的根节点,在这个目录下,应该放置组成应用程序用户入口的html文件和jsp文件。当系统管理员将该应用程序部署在其他的服务器上时,需要为tomcat设置一个上下文context路径,如果管理员设置的上下文路径为/catalog,则请求的URL为/catalog/index.html,对应的就是根节点目录下的index.html文件。

标准的目录结构

为了促进创建一个压缩格式的web应用程序,最好是将应用程序的可执行文件(tomcat用来执行应用程序的)放置在WAR格式所需的目录下,为了实现这一点,需要在根目录下包含以下几个内容:

  1. html、jsp等文件,html和jsp等文件,必须是client浏览器能直接访问的文件,比如JS文件等,样式文件等。如果应用程序站点很大,需要将这些文件分布在其他的子组织结构中,如果应用站点不大,一般只用一个目录,来存放这些文件;
  2. /web-inf/web.xml文件,应用程序的部署描述,这是一些xml文件,用来描述组成应用程序的各种小程序,同时还包含一些初始化参数、以及容器安全管理内容。在下面的子章节中会详细介绍。
  3. /web-inf/classes/目录,在这个目录中包含了应用程序的所有java类文件以及其他资源文件,包含程序类和非程序类,并不是包含在jar文件中。如果这些类文件是以java包的形式组织的,则需要在/web-inf/classes/体现这些java包的层次结构,比如一个java类名称为com.mycompany.mypackage.MyServlet,则在该目录下的名称为/WEB-INF/classes/com/mycompany/mypackage/MyServlet.class.

  4. /web-inf/lib/目录,该目录下包含了应用程序所需的jar文件和java类文件,比如第三方类文件或者是JDBC文件。

当向tomcat中安装应用程序时,在/web-inf/classes和/web-inf/lib/下的类文件和jar文件,对于应用程序中的其他类来说,都是可见的。也就是说如果在这俩目录下安装了所有必须的库类文件,则在应用程序安装过程中就会简单一下,不需要调整系统的类文件路径。

 
 

共享库文件

和其他程序容器一样,tomcat也支持一种机制,一次安装库jar文件,然后在所有已经安装的应用程序中调用,而不需要在这些应用程序中重新定义包含。在tomcat安装中,默认的用于共享代码的目录为$CATALINA_HOME/lib在这里的jar文件可以被所有的web站点和内部代码可见,将用于应用程序和内部tomcat使用的JDBC驱动器放置在该目录下是一个比较好的选择。

 
 

Web应用程序部署描述文件XML

如上文中所说,/web-inf/web.xml中包含了应用程序部署描述,正如文件扩展名所示,这是一个XML文件,定义了整个服务器所需要知道的参数。

TOMCAT context描述文件

当需要定义tomcat的某些特定配置选项,比如访问日志,数据源、管理配置或者其他参数时,可以在/meta-inf/context.xml中进行定义。在该XML文件中,最少要包含一个环境因素,该环境因子可以是部署web应用程序的主机的主机参数的子参数。

Tomcat第一个站点介绍的更多相关文章

  1. 《Getting Started with WebRTC》第一章 WebRTC介绍

    <Getting Started with WebRTC>第一章 WebRTC介绍 ​ 本章是对WebRTC做概念性的介绍. 阅读完本章后.你将对下面方面有一个清晰的理解:   .  什么 ...

  2. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-1.SpringBoot整合微信支付开发在线教育视频站点介绍

    笔记 第一章项目介绍和前期准备 1.SpringBoot整合微信支付开发在线教育视频站点介绍     简介: 课程介绍,和小D课堂在线教育项目搭建开发 1.课程大纲介绍         2.微信支付项 ...

  3. tomcat的搭建和介绍

    第19章 tomcat的搭建 19.1 tomcat学习之前的预备知识 19.1.1 什么是JVM和JDK,JRE JVM            java虚拟机,实现一份代码可以在不同的平台执行,具有 ...

  4. JAVAEE——SpringMVC第一天:介绍、入门程序、架构讲解、SpringMVC整合MyBatis、参数绑定、SpringMVC和Struts2的区别

    1. 学习计划   第一天 1.SpringMVC介绍 2.入门程序 3.SpringMVC架构讲解 a) 框架结构 b) 组件说明 4.SpringMVC整合MyBatis 5.参数绑定 a) Sp ...

  5. Tomcat之Web站点部署

    上线代码有两种方式,第一种方式是直接将程序目录放在webapps目录下面,这种方式大家已经明白了,就不多说了.第二种方式是使用开发工具将程序打包成war包,然后上传到webapps目录下面.下面让我们 ...

  6. IntelliJ+AntBuild+Tomcat实现Maven站点的热部署

    这段时间要研究WebGL技术,做一下三维建模项目,涉及到较多的前端编码.eclipse编译器那令人着急的编码提示功能,以及丑恶的界面对项目的开展造成了一定的阻碍.为解决这个问题,转向IntelliJ ...

  7. Tomcat负载均衡、调优核心应用进阶学习笔记(一):tomcat文件目录、页面、架构组件详解、tomcat运行方式、组件介绍、tomcat管理

    文章目录 tomcat文件目录 bin conf lib logs temp webapps work 页面 架构组件详解 tomcat运行方式 组件介绍 tomcat管理 tomcat文件目录 ➜ ...

  8. Tomcat访问控制及站点部署(以WAR包形式上传)!(重点)

    访问控制 首先安装好jdk以及apache-tomcat并能访问tomcat网页 点击server status了解服务状态会报403的错误 第一步:修改user.xml配置文件 [root@loca ...

  9. JavaWeb——tomcat安装及目录介绍

    一.web web可以说,就是一套 请求->处理->响应 的流程.客户端使用浏览器(IE.FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Reque ...

随机推荐

  1. 虚拟机linux系统明明已经安装了ubuntu,但是每次重新进入就又是选择安装界面

    本文转载:https://blog.csdn.net/weixin_41522164/article/details/82814375

  2. PHP通过循环给数组赋值

    $userDatas = [ ['user_id'=>1], ['user_id'=>3] ]; $userIds = []; foreach ($userDatas as $item){ ...

  3. Python——Flask框架——程序的基本结构

    一.安装 pip install flask 二.初始化 from flask import Flask app = Flash(__name__) 三.路由:处理URL和函数之间的关系的程序称为路由 ...

  4. Nintex Forms Drop-Down "z-index"

    Now we’ve got the issue, that if we are working with a “Person-Column”, the drop-down where you can ...

  5. codeforces616B

    Dinner with Emma CodeForces - 616B Jack decides to invite Emma out for a dinner. Jack is a modest st ...

  6. HTML知识点总结[部分]

    Web服务的本质(socket实例) import socket def handle_request(client): buf = client.recv(1024) client.send(byt ...

  7. mpvue——Error: EPERM: operation not permitted

    报错 $ npm run build > mpvue@ build D:\wamp\www\webpack\mpvue\my-project > node build/build.js w ...

  8. 「BZOJ1691」[Usaco2007 Dec] 挑剔的美食家 (Treap)

    Description 与很多奶牛一样,Farmer John那群养尊处优的奶牛们对食物越来越挑剔,随便拿堆草就能打发她们午饭的日子自然是一去不返了.现在,Farmer John不得不去牧草专供商那里 ...

  9. php 排序数组array_multisort

    $arr[] = array('name'=>'a','flag'=>1); $arr[] = array('name'=>'b','flag'=>2); $arr[] = a ...

  10. kvm 虚拟机XML文件

    <domain type='kvm' id='29'> //domain 是一个所有虚拟机都需要的根元素,它有两个属性, //type定义使用哪个虚拟机管理程序,值可以是:xen.kvm. ...