一:项目默认部署路径:

eclipse中,默认new一个server,项目默认会部署在:workspace\(工作空间)\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps目录下。当new第二个server时,会创建tmp1目录,项目部署在tmp1\webapps目录下,以此类推。如图一。

当然了,我们也可以手动指定项目的部署路径,如图二。

=================================================================

二:tomcat安装结构:

  wtpwebapps:tomcat每次启动,会将部署到tomcat上的项目,复制到该目录下。即使将该目录下的项目删除,tomcat启动后,也会i将部署在其上面的项目发布publish到该目录下

在Eclipse中,选中Server进行右键操作,add、remove操作对应的都是该目录下的项目的增加、删除操作。

  work/conf/Catalina:tomcat会将jsp文件的字节码class文件保存到该目录下

  Eclipse中的Server目录:对应的是tomcat/conf下对应的内容
        server.xml:对应的是tomcat的配置信息:选中tomcat,右键add一个项目,就会在该文件中的增加一个<Context>标签,用来表示该项目的访问,同时也可以指定项目的访问根路径。
     同时,右键remove一个项目,会自动删除该项目对应的<Context>标签的内容。
 
  Catalina:是一个web容器,根据ip、端口创建唯一的连接,相关操作都是通过配置的方式实现的 

 tomcat几个常用的命令:

  start:publish + 启动

  clean:将tomcat下已经remove的项目真正的删除

  project clean:会将D:\Workspace\admin-web\target\classes目录下的文件删除掉,重新将eclipse中最新的代码copy一份过来。

      classes:是项目打包后的目录

  publish:是将classes下的目录发布到tomcat中

      部署就是把编译后的文件推到容器,容器是没有编译功能的

三:tomcat结构图

由Server的server.xml的结构看Tomcat的体系结构

<Server>                                                //顶层类元素,外层最大的容器,可以包括多个Service
<Service> //顶层类元素,可包含一个Engine,多个Connecter
<Connector> //连接器类元素,代表通信接口
<Engine> //容器类元素,为特定的Service组件处理客户请求,要包含多个Host
<Host> //容器类元素,为特定的虚拟主机组件处理客户请求,可包含多个Context
<Context> //容器类元素,为特定的Web应用处理所有的客户请求
</Context>
</Host>
</Engine>
</Connector>
</Service>
</Server>

其中: 

<Service name="Catalina">   //Catalina容器

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>    //根据ip、端口建立连接

<Context docBase="web" path="/" reloadable="true" source="org.eclipse.jst.jee.server:web"/></Host>  //该Server下部署的项目,项目名称为web,path也就是该项目的根访问路径

四:注解:

1.@PostConstruct说明

被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的inti()方法。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。

2.@PreDestroy说明

被@PreDestroy修饰的方法会在服务器卸载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的destroy()方法。被@PreDestroy修饰的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前。

Tomcat学习的更多相关文章

  1. Tomcat学习—Tomcat的简介和目录以及配置文件介绍(Windows环境)

    tomcat学习(8) 版权声明:本文为博主原创文章,未经博主允许不得转载. 今天学习TOMCAT,主要学习的是Tomcat的目录结构,配置文件! 1:Tomcat简介 Tomcat 服务器是一个免费 ...

  2. Tomcat 学习进阶历程之Tomcat架构与核心类分析

    前面的http及socket两部分内容,主要是为了后面看Tomcat源代码而学习的一些网络基础.从这章開始.就開始实际深入到Tomcat的'内在'去看一看. 在分析Tomcat的源代码之前,准备先看一 ...

  3. Tomcat学习之Wrapper

    Tomcat学习之Wrapper 分类: WEB服务器2012-08-30 22:16 1547人阅读 评论(0) 收藏 举报 tomcatservletwrapperservletslistexce ...

  4. Tomcat学习之ClassLoader

    Tomcat学习之ClassLoader 2012-09-04 22:19 8993人阅读 评论(4) 收藏 举报  分类: WEB服务器(13)  版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  5. Tomcat 学习笔记二

    学习一 java.bean.PropertyChangeListener用来监听bean类的属性值改变.当改变时同时执行对应事件.而且是线程安全的.tomcat用此reload的Boolean值改变是 ...

  6. Tomcat ----> 学习笔记

    源码之几个常见类和接口的关系 在学习Servlet的时候经常见到以下几个合成单词和非合成单词:Servlet.GenericServlet.HttpServlet.它们之间有联系的.接下来我把它们的联 ...

  7. Tomcat学习总结(7)——Tomcat与Jetty比较

    Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器. 它有一个基本数据模型,这个数据模型就是 Handler(处理 ...

  8. Tomcat学习总结(3)——Tomcat优化详细教程

    Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下To ...

  9. tomcat学习步骤,附带打破双亲委派模型企业应用实战

    1. tomcat入门 入门模块仅做学习大纲梳理,忽略了具体操作指引. Tomcat的三种部署模式: 简单架构模型 连接器的非阻塞模式(NIO) 通道(Channel).缓冲区(Buffer).选择器 ...

  10. Tomcat学习笔记【1】--- WEB服务器、JavaEE、Tomcat背景、Tomcat版本

    本文主要讲学习Tomcat需要知道的基础知识. 一 Web服务器 1.1 简介 Web服务器可以解析HTTP协议.当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面 ...

随机推荐

  1. 2017 Multi-University Training Contest - Team 1 1003&&HDU 6035 Colorful Tree【树形dp】

    Colorful Tree Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  2. [51nod Round15 E ]Danganronpa

    AC自动机,树上莫队,树状数组.. 比赛的时候完全看不出来...赛后去膜了一波网上题解才明白= = 离线,先把AC自动机建出来,把fail边反向建出fail树. 发射言弹,就是将言弹结束节点的fail ...

  3. Necklace(树状数组+离线操作)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3874 Necklace Time Limit: 15000/5000 MS (Java/Others) ...

  4. 解决JSONObject.fromObject数字为null时被转换为0

    在使用JSONObject.fromObject的时候会遇到一种情况就是当对象的某一个Double型或Integer型的属性为空的时候,转JSON的时候会变成0.当一个布尔型的属性为空的时候,转JSO ...

  5. Vue-cli搭建完项目,各文件解释

    脚手架vue-cli搭建完成后,会生成一些文件,总结学习一下这些文件是做什么用的:1.一级目录: build和config文件夹是wbepack配置的文件夹: node_modules是在我npm i ...

  6. [OpenCV][ARM9下移植OpenCV]

    [OpenCV][ARM9下移植OpenCV]   安装环境 宿主机: Red Hat Enterprise Linux Server 6.3 开发板: mini2440 相关软件: cmake-3. ...

  7. php短信接口代码

    这篇文章主要为大家详细介绍了php短信接口代码,php短信发送.php批量发送.php获取余额等代码,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了几个常用的php短信接口代码,供大家参考,具体内 ...

  8. 如何查看sublime安装了哪些插件

    你应该安装过package control. 那么只要这样:按ctrl+shift+p,输入package,选择list packages,就看到了. 或者直接查看Installed Packages ...

  9. Rootkit 核心技术——利用 nt!_MDL(内存描述符链表)突破 SSDT(系统服务描述符表)的只读访问限制 Part I

    -------------------------------------------------------- 在 rootkit 与恶意软件开发中有一项基本需求,那就是 hook Windows ...

  10. js立体旋转展示效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...