Tomcat服务器 应用与部署技术 学习笔记
本文目录
学习小结
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文件存在于哪份压缩包的目录下。建议发布时一定要设置,平时开发不要设置(不设置 时,默认启动当前包)。
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