Tomcat介绍

  • 来源:新网
  • 更新日期:2018-03-21

摘要:摘要: 详细说明了tomcat的安装、配置和应用

【1】Tomcat的安装和配置
1. 安装Tomcat必须确保你的电脑已经安装了JDK。我们这里只讲解压版安装。把解压版Tomcat解压到一个没有中文,没有空格的路径中即可,建议路径不要太深,因为我们需要经常进入Tomcat安装目录。例如:F:apache-tomcat-7.0.42

t01fdfaa24e408d469e.jpg
2.在启动Tomcat之前,我们必须要配置环境变量:
(1)JAVA_HOME:必须先配置JAVA_HOME,因为Tomcat启动需要使用JDK
(2)CATALANA_HOME:如果是安装版,那么还需要配置这个变量,这个变量用来指定Tomcat的安装路径,例如:F:apache-tomcat-7.0.42
(3)启动,进入%CATALANA_HOME%bin目录,点击 startup.bat;关闭,进入%CATALANA_HOME%bin目录,点击 shutdown.bat 在启动Tomcat后,在浏览器上输入http://localhost:8080即可跳到Tomcat主页,表示安装成功。
【2】Tomcat的目录结构
1、 bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe、 tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启
动,shutdawn.bat用来停止Tomcat。
2、conf:这是一个非常非常重要的目录,这个目录下有四个最为重要的文件:
(1) server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等;下面会详细介绍这个文件
(2) tomcat-users.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了。
(3) web.xml: 部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那 么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当 然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说 明文档的内容是什么类型的!
(4) context.xml:对所有应用的统一配置,通常我们不会去配置它。
3、lib:Tomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把应用依赖 的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之,但这样你的应用放到其他Tomcat下时就不能再共享这个目录下的Jar包了,所 以建议只把Tomcat需要的Jar包放到这个目录下。
4、logs:这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。
5、temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除。
6、webapps:存 放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的项目,例如:docs、examples、 host-manager、manager和ROOT。其中ROOT是一个特殊的项目,当我们在浏览器的地址栏中输入的URL没有给出项目目录时,则默认对应的就是ROOT项目。例如:http://localhost:8080/examples,进入示例项目。其中examples就是项目名,即文件夹的名字。
7、work:运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户 端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下 。
【3】Tomcat作为Web服务器的应用
1.创建静态应用
在Tomcat的安装目录的webapps目录下创建一个hello目录 在webappshello下创建index.html,该html文件的内容可以随意写符合格式要求的内容 启动tomcat,打开浏览器访问http://localhost:8080/hello/index.html
2.创建动态应用
在webapps下创建hello1目录 在webappshello1下创建WEB-INF目录 在webappshello1WEB-INF下创建web.xml 以及 classes 和 lib 目录 在webappshello1下创建index.html 启动Tomcat,打开浏览器访问http://localhost:8080/hello/index.html
目录结构如下所示:
java-web:应用目录。java-web就是应用的名称 index.jsp:应用资源。应用下可以有多个资源,例如css、js、html、jsp等,也可以把资源放到文件夹中,例如:hellojspindex.jsp这时访问URL为:http://localhost:8080/hello/html/index.html WEB-INF:这个目录名称必须是大写,这个目录下的东西是无法通过浏览器直接访问的,也就是说放到这里的东西是安全的 web.xml:应用程序的部署描述符文件,可以在该文件中对应用进行配置。后面会详细讲解如何配置该部署描述文件
【四】配置外部应用
部署的项目本来是放在Tomcat安装目录的 webapps 目录下的,现在我们不放到该目录下,我们放到其他目录下面,同时希望Tomcat也可以找到它。
例如我们把上面写的hello应用从webapps目录中剪切到D盘下,即D:/hello。现在hello这个Web应用已经不在Tomcat中了,这时我们需要在tomcat中配置外部应用的位置,配置的方式一共有两种:
找到conf/server.xml:打开server.xml文件,找到元素,在其中添加元素,代码如下:
(1)path:指定当前应用的名称(我自己把它理解为虚拟根路径)。这里的path名称可以是hello,也可以是其他任意合法的应用名称。
(2)docBase:指定应用的物理位置,也就是在磁盘上存放的路。
(3)访问的URL是:http://localhost:8080/my/index.html。
conf/catalana/localhost:在该目录下创建my.xml文件,在该文件中编写元素,代码如下:
(1)文件名:指定当前应用的名称。
(2)docBase:指定应用的物理位置。
(3)访问的URL是:http://localhost:8080/my/index.html。
【五】映射虚拟主机
我们要实现的就是在浏览器中输入http://www.flow.jr.com就可以访问我们的项目。完成这个目标,我们需要做三件事情:
在 server.xml 中修改端口号为:80
将本地 IP 和域名www.flow.jr.com绑定关系,此时只需要修改本机的 host 文件
在 server.xml 中添加一个 主机
【六】了解 server.xml
server.xml的节点结构:
:根元素,表示整个服务器的配置信息 :的子元素,在中只能有一个元素,它表示服务 :的子元素,在中可以有N个元素,它表示连接 :的子元素,在中只能有一元素,该元素表示引擎,它是组件的核心 : 的子元素,在中可以有N个元素,每个元素表示一个虚拟主机。所谓虚拟主机 就像是真的主机一样,每个主机都有自己的主机名和项目目录。例如表示主机名为localhost,这个主机的项目存放在webapps目录中。访问这个项目下的主机时,需要 使用localhost主机名,项目都存放在webapps目录下 :元素的子 元素,在中可以有N个元素,每个元素表示一个应用。如果应用 在的appBase指定的目录下,那么可以不配置元素,如果是外部应用,那么就必须配 置。如果要为应用指定资源,也需要配置元素
我们可以把看作是一个大酒店:
:酒店的服务部门 :服务员 :后厨 :后厨中的一个区,例如川菜区是一个、粤菜区是一个 :后厨的一个厨师
用户发出一个请求:http://localhost:8080/hello/index.jsp。 发现是http/1.1协议,而且还是8080端口,所以就交给了处理这一请求的“服务员(处理HTTP请求的)”, “服务员”再把请求交给了“后厨()”,因为请求是要一盘水煮鱼,所以由“川菜区()”负责,因为 “大老王师傅”做水煮鱼最地道,所以由它完成。
:关心请求中的http、和8080 < Host>:关心localhost :关心hello