Tomcat服务器 应用与部署技术 学习笔记
本文查阅方法:
??? 1、查阅目录 —— 查阅本文目录,确定想要查阅的目录标题
??? 2、快捷“查找” —— 在当前浏览器页面,按键 “Ctrl+F” 按键组合,开启浏览器的查找功能,
???????????? 在查找搜索框中 输入需要查阅的 目录标题,便可以直接到达 标题内容 的位置。
??? 3、学习小结 —— 文中的学习小结内容,是笔者在学习之后总结出的,开发时可直接参考其进行应用
开发的内容, 进一步加快了本文的查阅 速度。(水平有限,仅供参考。)
?
?
本文目录
?
???学习小结?
?
???1、Tomcat服务器概述
?
???2、安装Tomcat服务器?
?
???3、常见启动问题
?
???4、Tomcat服务器??的目录层次结构
?
???5、Web应用程序中一些概念
?
???6、虚似目录的映射方式一?:在server.xml文件的host元素中配置:
?
???7、虚似目录的映射方式二?:以创建Xml文件的方式映射
?
???8、虚似目录的映射方式三?:让Tomcat自动映射?
?
???9、Web应用的组成结构
?
???10、web.xml文件介绍
?
???11、配置虚似主机?
?
???12、图解演示web资源的访问过程
?
???13、打包web应用—?制作war包
?
???14、配置context元素的reloadable元素
?
???15、Tomcat体系架构图
?
???16、配置https?加密连接器
?
???17、使用Tomcat服务器的管理平台
?
???18、图解?软件开发的两种架构:c/s和b/s
?
?
?
?
?
学习小结?
?
????(1)虚似目录的映射
?
???????a.开发阶段:可采用Tomcat自动映射方式:将Web应用放到Tomcat服务器的webapps目录下。
?
???????b.发布阶段:采用Xml文件的方式:避免修改后还需要重启服务器。
?
??????????设置方式:在目录“系统盘符:\Tomcat根目录名\conf\引擎名\主机名”中,新建一个Xml文件
?
??????????文件名称<-->虚拟目录名:单层路径:byd.xml?<-->?byd
?
?????????????多层路径:a#bc#atf.xml?<-->?a/bc/atf
?
?????????????缺省路径:Root.xml?<-->?省略不写
?
?????
?
????(2)配置虚似主机
?
??????????a.配置server.xml文件
?
??????????????<Host?name="www.google.com"?appBase="e:\google">
?
??????????????????<Context?path="/ggg"?docBase="E:\google\mail"/>
?
????????????????</Host>
?
??????????b.注册虚拟主机
?
??????????????路径:C:\WINDOWS\system32\drivers\etc\hosts??
?
??????????????配置内容:“ip地址??主机名称”??eg:61.135.169.125??www.baidu.com?
?
??????????c.缺省虚似主机:
?
?????????????例:<Engine?name="Catalina"?defaultHost="localhost">
?
?????
?
????(3)打包web应用--?制作war包
?
?????????方式:命令行中:cd进入到?Web应用同级目录中,
?
?????????????????????????输入例如?:jar?-cvf?news.war?news
?
?????
?
????(4)使用Tomcat服务器的管理平台
?
??????????a.配置Tomcat的管理员权限
?
??????????????打开conf文件夹中的tomcat-users.xml,在<tomcat-users>标签内填写代码:【粗体部分可自定义】?
?
????????????????????<role?rolename="manager"/>????????
?
????????????????????<user?username="tomcat"?password="tomcat"?roles="manager"/>
?
??????????b.进入Tomcat管理平台
?
??????????????启动Tomcat,在Tomcat欢迎页面中点击TomcatManager,输入设定的账号和密码,进入平台。
?
?
?
1、Tomcat服务器概述
?
????Tomcat服务器是适合小型的应用系统或者有特殊需要的系统的免费的Web服务器,该服务器支持全部JSP以及Servlet规范?(注:其他11种J2EE规范不支持,但也足够用了,绝大部分对安全性要求不是很高的网站都在用,包括Google都在用。)
?
?
?
?
2、安装Tomcat服务器?
?
????获取Tomcat:在Tomcat官方站点:http://jakarta.apache.org??获取Tomcat安装程序包:
?
??????tar.gz文件是Linux操作系统下的安装版本
?
??????exe文件是Windows系统下的安装版本
?
??????zip文件是Windows系统下的压缩版本?(推荐使用:配置错误后可立刻删除,重新解压获得一份全新Tomcat)
?
????安装Tomcat?:双击?bin?目录下的?startup.bat?文件
?
??????????输入?http://localhost:8080/,显示如下界面代表安装成功
?
?? 
?
?
?
?
?
?
?
3、常见启动问题
?
????(1)启动程序一闪而过:原因是Java_home环境变量需要配置,在windows中设置java_home环境变量。只要在setclasspath.bat批处理文件第一次使用JAVA_HOME环境变量之前的任何地方,将JAVA_HOME环境变量设置为JDK的主目录,就可以使用startup.bat文件启动Tomcat了。
?
????(2)端口占用问题:在conf文件夹下的server.xml文件中修改<Conector?/>标签中的port(端口)属性值。
?
????(3)多份解压Tomcat程序使用目录位置不正确:这是Catalina_home环境变量的设置问题?:当有多份Tomcat压缩包时,该变量将设定唯一被启动Tomcat包的位置,这关系到发布的Web文件存在于哪份压缩包的目录下。建议发布时一定要设置,平时开发不要设置(不设置时,默认启动当前包)。?
?
?
?
?
4、Tomcat服务器??的目录层次结构???
?
?
?
?
?
?
?
?
?
5、Web应用程序中一些概念
?
????(1)Web应用程序:指供浏览器访问的程序,通常也简称为web应用。一个web应用由多个静态web资源和动态web资源组成,如:
?
????????html、css、js文件
?
????????Jsp文件、java程序、支持jar包、
?
????????配置文件等等…..
?
????(2)Web应用所在目录:组成web应用的这些文件通常我们会使用一个目录组织,这个目录称之为web应用所在目录。?????
?
????(3)虚似目录的映射:Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
?
?
?
?
6、虚似目录的映射方式一?:在server.xml文件的host元素中配置
?
????????例如:
?
????????<Host?name="localhost"??appBase="webapps"?unpackWARs="true"?autoDeploy="true"
????????????xmlValidation="false"?xmlNamespaceAware="false">
?
?????????????????<Context?path="/bbb"?docBase="E:\baidu\news"/>
?
????????</Host>????
?
??????【备注:此种方式的缺点是修改配置后,必须得重新启动服务器才能生效。Tomcat6.0开始不建议使用】?????
?
??????补充知识点:
?
????????映射缺省web应用:将path的值设为空。eg:<Context?path=""?docBase="c:\app"/>则在地址栏的访问路径中就不需要出现目录的部分,可直接:http://localhost:8080/a.html
?
????????注意:一个Context即代表一个web应用,context元素在配置文件中除用于映射虚似目录外,它还可用于为web应用配置一些资源,例如:配置web应用使用的数据库连接池,javamail?session等(这些配置以后会用到)。
?
?
?
?
?
?
7、虚似目录的映射方式二?:以创建Xml文件的方式映射
?
????????在目录“系统盘符:\Tomcat根目录名\conf\引擎名\主机名”中,新建一个Xml文件,该文件名即为虚拟目录名称,而内容是<Context??docBase="c:\app"/>?
?
????????eg:??D:\apache-tomcat-6.0.35\conf\Catalina\localhost?中建立文件byd.xml。
?
????????备注:引擎名?和?主机名?是根据实际的配置进行更改的,后面章节会讲解。
?
??????????A.单层路径:该文件名即为虚拟目录名称
?
??????????????例如:文件名:byd.xml,则虚拟目录名:byd。
?
??????????????访问路径为:http://localhost:8080/byd/index.html
?
??????????B.多层路径名:该Xml文件的名称需要使用#参与命名。
?
??????????????例如:文件名:a#bc#atf.xml。则虚拟目录名称:a/bc/atf
?
??????????????访问路径为:http://localhost:8080/a/bc/atf/index.html
?
??????????C.默认缺省路径名:需要使用特定?文件名称“Root.xml”
?
??????????????访问路径为:http://localhost:8080/index.html
?
????????优点:修改虚拟目录映射后,不需要重新启动服务器就可以直接应用。这是工作中发布Web应用常用的配置方式。
?
????????备注:方法2可查阅Tomcat文档:启动Tomcat后,访问:http://localhost:8080/docs/config/context.html
?
????????查阅Introduction部分的内容即可看到。在Tomcat6中,不再建议在server.xml文件中配置context元素,细节查看tomcat服务器关于context元素的说明。??
?
?????? 
?
?
?????
?
?????
?
?
??
?
8、虚似目录的映射方式三?:让Tomcat自动映射?
?
????????Tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。换句话说,Tomcat服务器webapps目录中的web应用,外界可以直接访问。
?
?????
?
?
??
?
9、Web应用的组成结构?
?
????开发web应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错。
?
?? 
?
?
?
?
?
?
?
10、web.xml文件介绍?
?
????web.xml文件是整个web应用中最重要的配置文件,它必须放在WEB-INF目录中。
?
????在开发web应用时,但凡涉及到对web应用中的web资源进行配置,通通是在web.xml文件中进行设置。
?
????????例如:
?
????????????某个web资源配置为网站首页
?
????????????将servlet程序映射到某个url地址上
?
????????????为web应用配置监听器
?
????????????为web应用配置过滤器
?
????????????……
?
?
?
?
?
?
11、配置虚似主机?
?
????在一个tomcat服务器中可以放置多个网站,而所谓的配置虚似主机,就是在tomcat服务器中配置一个网站。?
?
????(1)配置虚似主机:如需在WEB服务器中配置一个网站,则要使用Host元素进行配置,
?
????????配置方式:?<Host?name=”虚拟主机名称”?appBase=”主机程序所在目录的绝对路径地址”></Host>
?
????????????例:
?
???????????????<Host?name="www.google.com"?appBase="e:\google">
?
??????????????????<Context?path="/ggg"?docBase="E:\google\mail"/>
?
????????????????</Host>
?
?
?
????(2)注册虚拟主机:配置的主机(网站)要想被外部访问,必须在DNS服务器或操作系统中注册。
?
????????windows系统中注册方法:打开hosts文件,
?
????????????路径:C:\WINDOWS\system32\drivers\etc\hosts??
?
????????????配置内容:“ip地址??主机名称”??eg:61.135.169.125??www.baidu.com?
?
???????????????????备注:可配置多个网站。
?
?????
?
????(3)配置?缺省虚似主机:当时使用数字形式的IP地址访问某个主机时,就没有指定要访问哪台虚拟主机,这时候就要有一台缺省的默认虚拟主机响应访问。
?
????????配置方式:在server.xml?文件中?的?<Engine?name="Catalina"?defaultHost="虚似主机名称">?配置
?
?????????????例:<Engine?name="Catalina"?defaultHost="localhost">
?
?
?
????【小知识:获取网络上某网站主机的IP地址:在命令行中,输入:ping?网址全名?,回车即得。如:ping?www.baidu.com?+回车键】
?
?
?
?
12、图解演示web资源的访问过程
?
? 
?
?
?
?
?
?
?
13、打包web应用—?制作war包
?
????war包的好处是远程上传到服务器后会自动解压。
?
????打包方法:利用JDK自带的打包工具“jar.bat”?来实现打包功能。
?
????????命令行:第一步:cd进入到?Web应用同级目录中
?
????????????????第二步:输入“jar?-cvf?Web应用所在目录名称.war??Web应用所在目录名称”
?
????????????????????例:jar?-cvf?news.war?news
?
?
?
?
?
?
14、配置context元素的reloadable元素
?
????配context元素的reloadable元素:<Context??docBase="c:\app"?reloadable="true"/>,让Tomcat自动加载web应用目录下更新后的所有程序。
?
????备注:开发小程序时可以考虑使用,若是稍微大一点的Web应用,则会因为频繁的自动加载整个应用,导致计算机的内存和CPU被严重占用,会影响计算机的响应性能,甚至是死机,进而影响开发的效率。所以在开发中,不要使用该功能。
?
??
?
?
?
?
15、Tomcat体系架构图
?
?
?
????? 
?
?
?
?
?
16、配置https?加密连接器??
?
????(1)非对称加密算法原理图解:公钥??私钥
?
???????
??????? 
?
?
?
?
????(2)启动JDK中keytool工具制作数字证书
?
????????命令行中:keytool?-genkey?-alias?tomcat?-keyalg?RSA????重要命令解释如下:
?
????????????a.输入keystore密码——此密码在配置server.xml文件向客户端发送数字证书时需要使用。
?
????????????b.您的名字和姓氏是什么?——请输入主机名称。eg:www.sina.com,即访问谁时需要证书。
?
????????????c.其他的命令标题就无所谓了。
?
????????可将生成的证书《.keystore》文件,放在Tomcat中的conf文件夹下面待用。?
?
??????????
??????? 
?
?
?
?
????(3)配置server.xml,将服务器的数字证书自动发给给客户端浏览器。
?
????????在server.xml文件中,复制激活一份
?
????????<Connector?port="8443"?protocol="HTTP/1.1"?SSLEnabled="true"??maxThreads="150"?
?
????????????scheme="https"?secure="true"??clientAuth="false"?sslProtocol="TLS"?
?
????????????keystoreFile="conf/.keystore"??keystorePass="123456"?/>?【粗体部分据实填写】
?
????(4)浏览器安装数字证书,采用https进行加密连接器发送加密数据。
?
????????在浏览器访问地址要使用https协议开头访问,接收并安装服务器传过来的数字证书。
?
????????????例:https://localhost:8080/news/aa.html
?
????(5)备注:本例作为加密连接技术的入门级范例,仅仅为单向加密“客户端加密-->服务器”,真正开发中是需要使用双向加密连接的,这种技术的范例可以参加我的博文,也可以到网上查找相关的文章。
?
?
?
?
17、使用Tomcat服务器的管理平台?
?
????(1)配置Tomcat的管理员权限
?
????????打开conf文件夹中的tomcat-users.xml,在<tomcat-users>标签内填写代码:【粗体部分可自定义】?
?
????????????<role?rolename="manager"/>????????
?
????????????<user?username="tomcat"?password="tomcat"?roles="manager"/>
?
????(2)进入Tomcat管理平台
?
????????启动Tomcat,在Tomcat欢迎页面中点击TomcatManager,输入设定的账号和密码,进入平台。
?
????(3)远程连接在管理平台中管理Web应用
?
????????例如:Undeploy:卸载应用;
?
??????????????WAR?file?to?deploy:远程上传war文件并部署Web应用
?
????(4)备注:关闭管理员权限
?
????????该管理员权限关系到服务器应用的安全性,非必要时一定要在tomcat-users.xml将其进行注释,关闭账户。
?
?
?
?
18、图解?软件开发的两种架构:c/s和b/s
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?