Tomcat安装与项目部署

Tomcat介绍

首先需要清楚几个基本概念:

  • HTTP服务器,接受http请求,返回http响应,比如Apache,Nginx等。
  • Web容器,Web容器是提供给JavaEE中各种技术运行的环境,其本身也是一个Java程序。Web容器与HTTP服务器运行在同一台实体服务器上,其主要作用是协调HTTP服务器,管理Servlet。
    在这里插入图片描述

Tomcat就是一个Web容器,更准确的说是Servlet/JSP容器,为了开发过程中调试方便,Tomcat也具备处理HTTP请求的能力,因此它勉强也算得上是一个HTTP服务器,但是正如之前所说这仅仅是为了调试方便,真实部署项目时,需要专业级的HTTP服务器支持。
多说一句Tomcat,jetty这种Web容器只属于Servlet/JSP容器,而不属于JavaEE容器,因为Java容器中还有其他技术(EJB等),而Tomcat并未支持。与此类似,JBOSS属于EJB容器也不是JavaEE容器。比较有名的JavaEE容器,有WebLogic,WebSphere。

Tomcat目录结构

自行到官网上下载压缩包解压即可。注意,Tomcat6只支持Servlet2.5标准,而Tomcat7支持Servlet3.0。
tomcat运行是依赖jdk的,解压完成后添加操作系统的环境变量%JAVA_HOME%为jdk根目录即可。

  • /bin,存放可执行文件。比较重要的startup和shutdown。以bat后缀的是windows系统中的,以sh后缀的是linux。
  • /conf,配置文件。最重要的是server.xml。
  • /lib,tomcat运行时依赖的库,比如servlet-api.jar,是运行servlet时必须用到的。
  • /logs,日志文件。
  • /temp,临时文件目录。
  • /webapps,存放web应用程序的根目录,里面每一个一级子目录都代表一个独立的Web应用。
  • /work,运行时生成文件目录,比如JSP编译后生成的文件。

Web应用的目录结构

  • WebRoot/,项目根目录
    • xxx.jsp,静态资源
    • xxx.html,静态资源
    • META-INF/
    • WEN-INF/,文件名必须固定
      • classes/,编译好的java类,实现业务逻辑
      • lib/,应用依赖的第三方jar包
      • web.xml,应用的配置

注意,WebRoot下的静态资源可以通过url直接访问,而WEB-INF下的资源不可以直接访问。

部署Web应用

直接部署

直接将项目根目录或者打包好的war包放到tomcat的webapps目录下,如下:
直接部署web项目

之后启动tomcat就可以通过url访问了。url形式为http://127.0.0.1/{ContextPath}/{PathInfo}。启动ContextPath对应应用根目录名,在这里为helloweb。PathInfo对应静态资源的路径或者配置的路径映射。

外部部署项目

项目的路径其实不一定要在webapps下,可以在任何位置。但是需要配置两个信息:

  1. 项目的ContextPath,tomcat需要将url中的ContextPath与应用一一对应。
  2. 项目的文件路径,既然不再webapps目录下,那一定要让tomcat知道文件在哪。

在servel.xml中配置

找到servel.xml文件:
在这里插入图片描述
打开servel.xml在Host标签下添加一个Context标签:
在这里插入图片描述
path属性对映ContextPath,docBase对映文件在磁盘上的路径。

单独创建配置文件

在{tomcat根目录}/conf/Catalina/localhost目录下创建一个配置文件:
在这里插入图片描述打开配置文件做如下配置:
在这里插入图片描述注意,docBase属性是空的,那么ContextPath是在哪配置的呢?答案是文件名hello.xml,此时ContextPath对应的就是文件名hello。

猜你喜欢

转载自blog.csdn.net/qq_34935078/article/details/85346806