一:项目默认部署路径:

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. Uva 11729 Commando War (简单贪心)

    Uva 11729  Commando War (简单贪心) There is a war and it doesn't look very promising for your country. N ...

  2. Codeforces Round #326 (Div. 2) B

    1.每一个合数都可以由若干个素数相乘而得到 2.质因数知识 :求一个数因数的个数等于它的每个质因数的次数加一的和相乘的积因为质因数可以不用,所以要加一.例如6=2x3,两个质因数都是一次,如果两个质因 ...

  3. 2017ICPC/广西邀请赛1001(水)HDU6181

    A Math Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  4. I Hate It(线段树点修改区间查询)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754 I Hate It Time Limit: 9000/3000 MS (Java/Others) ...

  5. 【分享】一个集成tracert和ping的网络监测工具

    最近接到一个需求,需求背景是这样的:目前Windows平台下本身都有tracert和ping的实现,而且可以直接在cmd下使用. 需求中有两个要求: 1. Windows平台中的tracert执行速度 ...

  6. PHP中file_exists()函数不能检测包含中文的文件名的解决办法

    版权声明:本文为博主原创文章,未经博主允许不得转载.          PHP中一般使用file_exists()判断某个文件或者文件夹是否存在,如果文件或文件夹存在则返回true,不存在则返回fal ...

  7. 使用 video.js 开发 HTML5 视频页面

    时间 2015-05-13 17:11:58 The GIS Guy 原文  http://thegisguy.tk/html5-video-using-video-js/ 主题 Video.js H ...

  8. Yourphp  使用说明

    https://wenku.baidu.com/view/c8d2e667cc1755270722088a.html 这个是站点的配置信息,比如:网站名称. LOGO .网站标题等 推荐位:个别可能用 ...

  9. Html Mailto标签详细使用方法

    http://www.360doc.com/content/09/0805/14/16915_4684377.shtml Html Mailto标签详细使用方法 Html中mailto标签是一个非常实 ...

  10. Spring整合Struts的两种方式介绍

    1 使用Spring托管Struts Action 该种方式就是将Struts Action也视为一种Bean交给Spring来进行托管,使用时Struts的配置文件中配置的Action的classs ...