快捷搜索:  手机  明星

tomcat详细实现原理(web工作常用技能篇)

tomcat详细实现原理(web工作常用技能篇)继续使用上述例子 我们在服务器上的D:\Program Files\apache-tomcat-9.0.0.M2_test\conf\Catalina\localhost路径下面创建一个xxx_project.xml文件 里面内容写<Context path="/xxx_project" docBase="D:\WorkSpace\xxx_project\WebRoot" debug="0" privileged="true" reload="true"></Context>我们的xxx_project项目放在了Windows服务器上D:\WorkSpace\projApply\WebRoot 所以该路径下面的资源我们都可以通过http://localhost:8080/xxx_project/这个基础路径来访问 比如http://localhost:8080/xx

前言在各类网站论坛上 没有找到与工作比较贴切的技能 所以特此写一些对刚步入工作或者工作中没有重视的技能与问题 各位大牛请及时关闭文章.

ps文中所有标点都是英文的 看官请不要在意.为了便于平时敲代码 所以中文输入法也默认了英文标点(防止各类因为标点引起的低级错误).纯属个人原创见解 若不正确 请各位批评指正.

1.tomcat部署总体介绍:

tomcat详细实现原理(web工作常用技能篇)(1)

tomcat

简单来说 就是把我们在工作中写的一堆堆java源代码编译成class文件 然后按编码时候的目录结构包装起来(还包括普通静态文件 比如css js 图片等;jsp文件相对特殊 它们是实时编译的).然后将这个文件包放在tomcat安装目录中的webapps文件夹中 比如文件包名为xxx_project.那么默认情况下的访问路径则是http://localhost:8080/xxx_project/

当然现在的IDE(如MyEclipse IntelliJ IDEA等)都自带部署的功能 所以以上的编译/打包/移动文件包等操作都是一键自动搞定的 所以这也不是本文介绍的重点.下面开始介绍几点我觉得非常重要的内容:

2.路径对应关系

我们通过http://localhost:8080/xxx_project/路径访问的是tomcat中的xxx_project项目 通过这个路径我们也只能访问该路径对应服务器上的物理路径以下的静态资源(可能有点绕口 截图举个例子)

服务器上的物理路径

我们的xxx_project项目放在了Windows服务器上D:\WorkSpace\projApply\WebRoot 所以该路径下面的资源我们都可以通过http://localhost:8080/xxx_project/这个基础路径来访问 比如http://localhost:8080/xxx_project/favicon.ico就可以访问到服务器上的这个小图标.再比如http://localhost:8080/xxx_project/images/1.png就可以访问到服务器上该项目中images文件夹下面的图片 其他资源对的访问路径依次类推.

3.新建xml文件方式部署

继续使用上述例子 我们在服务器上的D:\Program Files\apache-tomcat-9.0.0.M2_test\conf\Catalina\localhost路径下面创建一个xxx_project.xml文件 里面内容写<Context path="/xxx_project" docBase="D:\WorkSpace\xxx_project\WebRoot" debug="0" privileged="true" reload="true"></Context>

一般path属性与文件名一致(也可不设置该属性) docBase对应于你需要tomcat"托管"的项目(编译后的项目文件包) 一般直接指向IDE(以MyEclipse为例)实时编译的Workspace中的WebRoot文件夹 按照如上配置后 请求路径为http://localhost:8080/xxx_project/

该方式的优势:1.可同时部署多个项目(conf\Catalina\localhost该路径下建多个xml文件即可) 2.更改java方法 tomcat不重新启动的情况下 也能够实时响应(如果你使用了spring等框架 改变一些bean组件的时候可能需要重新启动tomcat)

4.server.xml文件方式部署

在D:\Program Files\apache-tomcat-7.0.67\conf路径下面的server.xml文件中追加内容 如下图:

tomcat详细实现原理(web工作常用技能篇)(2)

server.xml部分截图

与上一种方式的配置内容一致 按照如上配置后 请求路径为http://localhost:8080/ 我们对比可以看出请求路径中少了xxx_project(主要是因为设置path="") 所以我们一般项目上线的时候会采用该部署方式 该部署方式与上一种方式一样 更改java方法 tomcat不重新启动的情况下 也能够实时响应.

一般上线的时候还会将端口号改成80 tomcat其他的相关配置功能 在后面文章中再提 本文主要介绍常用的几种部署方式.

猜您喜欢: