Tomcat的粗略介绍
因为工作的缘故很多项目启动需要通过Tomcat修改配置文件进行启动项目,所以相应的就了解了下Tomcat便于在以后比我更新的新人面前装逼。
1.bin目录
我们能用到的无非一个启动跟一个关闭没什么好说的
唯一能说的是:bin目录的启动方式不通过myeclipse启动的话是有好处的,比较快,这是你电脑特别垃圾的情况下加速启动的心得。
1.conf目录
这是我今天学习的重点之一。

可以看到这里面有web.xml、tomcat-users.xml、server.xml以及context.xml这四个配置文件。
web.xml:该文件为Tomcat自己主页面的启动文件,基本上用来确定Tomcat的安装启动是否正常。
Tomcat-users.xml:该文件内部可以说是一片空白,丝毫不知道用处,以后知道怎么用了再来更新。
server.xml:是重点之一下面详细讲讲里面的参数。
<Server port="8005" shutdown="SHUTDOWN">
Server中的port监听关闭tomcat的请求,shutdown指定向端口发送的命令串
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
Listener不用说也知道是相关的配置文件路径
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
以上的代码才是重点,他是Tomcat的请求处理流程。
1)Connector主导接收请求: 请求发送到8080端口,被监听HTTP/1.1 的 Connector获得。
2) Connector把接收到的请求交给它所在Service的Engine来处理
3) Engine获得请求localhost:8080/XXX/XXXX.jsp,匹配它所拥有的所有虚拟主机Host。
4) Engine匹配名为localhost的Host。
5) localhost Host获得请求localhost:8080/XXX/XXXX.jsp,匹配它所拥有的所有Context(配置信息,除了当前目录的context文件还有D:\tomcat6\conf\Catalina\localhost中的xml文件)。
6) Host匹配到路径为/XXX(应用名)的Context。
7) path="/XXX(应用名)"的Context获得请求/xxxx,在它的映射表中寻找对应的servlet(在项目的web.xml当中)。
8) Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类。
9) 构造HttpServletRequest对象和HttpServletResponse对象。
10)Context把执行完了之后的HttpServletResponse对象返回给Host。
11)Host把HttpServletResponse对象返回给Engine。
12)Engine把HttpServletResponse对象返回给Connector。
13)Connector把HttpServletResponse对象返回给客户端。
以上就完成了整个流程。
由第五步可以发现我们可以把一部分信息摆放在D:\tomcat6\conf\Catalina\localhost中的xml文件中启动web项目
以下代码为例
<Context path="/xxxx"
//path代表的是路径名,可以认作是项目名 docBase="xxxxx"
//docbase代表的项目路径一般到WebRoot目录
debug="0" reloadbale="true" privileged="true">
//reloadbale代表的是修改class文件后是否重新加载,不建议开通
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/XXX.xml</WatchedResource><Resource name="jdbc/testSiteds"
//jndi名称
auth="Container"
//表示认证方式,一般为Container
type="javax.sql.DataSource"
//数据类型便于使用Context.lookup()方法获取dateSource后利用dateSource.getConnection()方法获得connection
maxActive="100"
//最大连接数
maxIdle="30"
//连接池中最多可空闲的连接
maxWait="10000"
//连接池中连接用完时,新的请求等待时间,毫秒
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
//导入架包
url="jdbc:mysql://localhost:3306/testSite" />
//数据库链接路径
</Context>
由此可以方便的使用Tomcat启动项目
Tomcat的粗略介绍的更多相关文章
- Tomcat服务器的介绍、安装配置
[1] Tomcat服务器的介绍 1.是一个免费的.开饭源代码的Servlet服务器,目前非常流行. 2.Tomcat服务器是Apache软件基金会的一个顶级项目,由Apache.Sun等公司共同开发 ...
- Tomcat ClassLoader机制介绍
本文旨在介绍JVM的类加载机制:同时分析Tomcat不能采用默认的加载机制的原因,并对其加载机制做了介绍. 1.JVM中的类加载机制 在Java2之后的版本中,类的加载采用的是一种称为双亲委派的代理模 ...
- 三、Tomcat配置文件的介绍
*允许直接复制另外多份完整的tomcat数据,修改配置保证不冲突,起多个tomcat,优点:其中一个tomcat挂了不影响其他网页 tomcat配置文件server.xml介绍 <Server& ...
- QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)
背景: QT在用户关闭窗口(直接点击"X"键)时,程序一般都需要做一些善后的事情,就我现在的程序来说,既关闭USB.如何实现? 正文: 首先,在对应窗体的".h" ...
- Tomcat7 新的数据库连接池Tomcat jdbc pool介绍和配置
Tomcat 在 7.0 以前的版本都是使用commons-dbcp做为连接池的实现,但是 dbcp存在一些问题: (1)dbcp 是单线程的,为了保证线程安全会锁整个连接池 (2)dbcp 性能不佳 ...
- tomcat 日志目录 介绍
[root@mysql tomcat]# ll 总用量 drwxr-x---. root root 11月 : bin -rw-r-----. root root 11月 : BUILDING.txt ...
- Tomcat Context 组件介绍(转载)
来源:http://diecui1202.iteye.com/blog/1037370 Context代表一个Web应用,它运行在某个指定的虚拟主机(Host)上:每个Web应用都是一个WAR文件,或 ...
- Jenkins安装部署及tomcat的入门介绍
这里我们使用的方法是用servlet容器来部署jenkins,使用的是tomcat 下载下来tomcat,解压 bin目录下存放的一些启动关闭批处理文件 conf目录下放的一些配置文件,配置虚拟主机之 ...
- python学习--第三天 粗略介绍人脸识别
首先安装opencv 在安装opencv过程中遇到一些错误(百度解决) 直接贴代码吧,讲师略讲了一下,体会不深,以后有机会深入学习,再详细介绍解释吧 人脸识别训练集应该可以网上下载吧,都是开源的 im ...
随机推荐
- vtk多线程简单测试
vtkMultithreader is a class that provides support for multithreaded execution using sproc() on an SG ...
- 解决qq互联回调地址错误redirect uri is illegal(100010)的方法,不同于网上大部分方法
我是在用ecshop自己搭建的一个网店系统安装了第三方登录的插件,包括qq登录插件.网上大部分情况都是discuz论坛的这个回调地址出错及解决办法.所以在我出错的时候参考他们的办法并不管用.但是在后面 ...
- Java 解决约瑟夫问题
约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题.在计算机编程的算法中,类似问题又称为约瑟夫环.又称“丢手绢问题”.) 有这样一个故事,15个教徒和15个非教徒在深海遇险必须讲 ...
- 预处理指令#pragma
#pragma介绍 #pragma是一个预处理指令,pragma的中文意思是『编译指示』.它不是Objective-C中独有的东西(貌似在C/C++中使用比较多),最开始的设计初衷是为了保证代码在不同 ...
- 12.Linux软件安装 (一步一步学习大数据系列之 Linux)
1.如何上传安装包到服务器 有三种方式: 1.1使用图形化工具,如: filezilla 如何使用FileZilla上传和下载文件 1.2使用 sftp 工具: 在 windows下使用CRT 软件 ...
- js精简写倒计时函数
<div class="fRight mR10" id="time"> </div> <script type="tex ...
- 微信公众号开发系列教程一(调试环境部署续:vs远程调试)
http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...
- Windows 10(64位)配置Caffe运行环境的基本流程
最新博客地址已搬家到: http://blog.csdn.net/zzlyw/article/details/53215148
- Python全栈开发【面向对象】
Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...
- Debian 8.3 中文字体安装
有了这个字体,对于日常工作和生活而言已经非常足够了.如果你还需要更多中文字体的话,推荐可以安装“文泉驿正黑”,“文泉驿点阵宋体”等.文泉驿的安装包已经进入了 Debian/Ubuntu,直接安装 tt ...