1、 Tomcat安装和启动:
a、下载一个zip版的tomcat,我下载的是apache-tomcat-7.0.77.zip
b、配置一个环境变量:
Path:D:\tomcat\apache-tomcat-7.0.77\bin
c、直接在cmd中启动:startup
提示错误:
The CATALINA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
d、我们换需要配置一个CATALINA_HOME环境变量
CATALINA_HOME:D:\tomcat\apache-tomcat-7.0.77
e、再到cmd中直接输入startup命令就可以启动,浏览器网址中输入localhost:8080 正常打开说明成功启动了。
f、关闭服务可以直接 shutdown.bat 就可以。
2、tomcat常见的启动问题:
a.端口号冲突
修改D:\tomcat\apache-tomcat-7.0.77\conf\server.xml文件
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
把这里的端口号修改下就行了
b.闪退. 一般需要设置java_home环境变量。
3、常见的服务器:
a. WebLogic: orcale公司的产品,支持JAVAEE规范,收费
b. WebsphereAS: IBM公司的产品 ,支持JAVAee规范, 收费
c. Jboss: red公司的产品,支持EJB, 免费
d. Tomcat: apache公司产品支持JavaEE规范,免费
4、tomcat目录结构:
bin:存放启动和关闭tomcat的脚本文件
conf:存放tomcat服务器的各种配置文件
lib:存放tomcat服务器的jar包
logs:存放tomcat的日志文件
temp:存放tomcat运行产生的临时文件
webapps:web应用所在的目录,外界访问web资源的目录(非常重要)
work:tomcat工作目录
5、对应的版本:
Tomcat版本 Servlet/JSP规范 JDK版本
7.0 3.0/2.2 1.6
6.0.x 2.5/2.1 1.5
5.5.x 2.4/2.0 1.4
5.0.x 2.4/2.0 1.4
4.1.x 2.3/1.2 1.3
3.3.x 2.2/1.1 1.1
6、我们应用程序的目录结构(非常重要):
myAPP:
这个里面放以下资源
*.html
*.css
*.js
图片
WEB-INF : 文件夹(必须大写,不是必须的,当有动态的资源的时候,此文件夹必须写上)
下面的资源不允许浏览器直接访问,里面的资源是提供给服务器来访问的,我们可以间接的去访问.
classes: 放置的是Java字节码文件
lib: 放置的是本应用所用到的jar
web.xml : 必须的(WEB-INF文件夹存在的前提下)
例如,你在myeclipse中写好了程序,部署到tomcat上,字节码class文件就保存在classes文件夹中。
7、应用程序的部署方式:
a.将应用程序直接拷贝到webapps目录下。(这个方式最简单)
http://localhost:8080/myFirstAPP/first.html
b.将应用程序打成war包, 直接拷贝到webapps目录下
例如:
1.在桌面新建了个warAPP文件夹,里面存放一个war.html。
2.在cmd中cd到桌面,使用命令,可以看到是否添加成功。
jar -cvf testWar.war warAPP
3.桌面已经有了testWar.war这个文件了,把这个文件拷贝到webapps目录下面。
注意:不用重启tomcat服务,等一会会自己就解压了,生成testWar的文件夹。
4.这个时候就可以通过网址访问了
http://localhost:8080/testWar/warAPP/war.html
亲测可以正常运行。
8、tomcat的组成结构:
可以参考D:\tomcat\apache-tomcat-7.0.77\conf\server.xml 这个里面格式看
<Server>代表整个Servlet容器组件,最顶层的元素,可以包含多个<Service>元素
<Service>包含一个<Engine>元素和多个<Connector/>元素,这些<Connector/>共享一个<Service>
<Connector/>代表和客户程序实际交互的组件,负责接收客户请求,以及向客户返回响应
<Engine>每个<Service>元素只能包含一个<Engine>元素,它处理在同一个<Service>中所有<Connector/>接收到的客户请求
<Host>在一个<Engine>中可以包含多个<Host>,它代表一个虚拟主机(网站),它可以包含多个web应用
<Context/>使用最频繁的元素,代表了运行在虚拟主机上的单个web应用
</Host>
</Engine>
</Service>
</Server>
![tomcat结构.png](https://img-blog.csdn.net/20170510233639088?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2FvcGlucWlhbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
9、tomcat的各种配置:
a.虚拟应用:(不推荐,还需要重启服务器)
第一种方式:
1.在server.xml文件中配置如下,在Host上面加配置
path:虚拟路径
docBase:你的工程所在的路径
<Context path="/test" docBase="C:\Users\Administrator.PC-20140217OXFV\Desktop\warAPP" />
</Host>
2.重启下服务器,在浏览器中输入:
http://localhost:8080/test/war.html 可以正常访问了。
第二种方式:
在 conf/catalina/localhost/目录下随意建立一个xml文件,文件名任意(eg: abcde.xml)。(推荐使用,不需要重启服务器)
1.在 conf/catalina/localhost/目录下随意建立一个ok.xml文件,里面的内容:
<?xml version="1.0" encoding="utf-8"?>
<Context docBase = "C:\Users\Administrator.PC-20140217OXFV\Desktop\warAPP"/>
2.输入:http://localhost:8080/ok/war.html可以正常访问。
第三种方式:
实际开发时采用直接拷贝文件夹到webapps目录下。(最直接,也最方便)
b.默认应用的配置:
只需要在conf/catalina/localhost/目录下建立一个ROOT.xml文件,内容同上,这个应用就是默认应用
在浏览器输入:http://localhost:8080/war.html就可以访问配置的自己的应用了。
c.配置默认页面,端口号的修改:
修改server.xml文件,将8080的端口号改为80默认的端口号,例如:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
在浏览器中直接输入http://localhost/war.html 就可以访问了。
d.配置多个虚拟主机:
假设:
e盘有个目录app1下有个应用app
d盘有个目录 app下有个应用app2
在server.xml中配置如下:
从其他地方拷贝一个Host标签配置下
在C:\WINDOWS\system32\drivers\etc\hosts中配置路径的IP映射如下:
127.0.0.1 www.test.com
http://www.test.com/app/a.html 访问e盘app1/app应用下的a.html页面