使用Tomcat的一些经验和心得

如今将使用Tomcat的一些经验和心得写到这里。作为记录和备忘。假设有朋友看到,也请指教。

  1、首先是Tomcat的获取和安装。

    获取当然得上Apache的官方站点下载,开源免费。并且带宽也足够。下载会非常快。

  

    这是两种不同的下载,一个是普通安装版本号,一个是解压安装版本号。

使用起来是一样的,仅仅是在普通安装版本号中有一些界面可提供对Tomcat的快捷设置,并且普通安装会将Tomcat作为系统服务进行注冊。

  2、Tomcat的执行环境搭建。

    (解压版)安装(就是解压)完毕后例如以下:

  

    Tomcat的启动是一个bat文件(Windows下),在bin文件夹下。双击就可以。

    假设启动不成功。一般的情况是控制台出来一下马上消失。说明Tomcat没有找到Java的执行时环境。

    简单理解。就是Tomcat找不到JDK,没办法执行。

    我们“告诉”它JDK的安装路径。即在环境变量里新建JAVA_HOME(不区分大写和小写),指向安装JDK文件夹。例如以下:

  

    这样,Tomcat就配置好了,启动就OK。

    启动Tomcat,在浏览器地址栏输入http://localhost:8080/假设看到乱七八糟的关于Tomcat的介绍神马。说明配置成功。

   3、Tomcat的文件夹结构介绍。

      bin文件夹存放一些启动执行Tomcat的可执行程序和相关内容。

      conf存放关于Tomcatserver的全局配置。

      lib文件夹存放Tomcat执行或者网站执行所需的jar包,全部在此Tomcat上的网站共享这些jar包

      wabapps文件夹是默认的网站根文件夹,能够更改。

      work文件夹用于在server执行时过度资源,简单来说。就是存储jsp、servlet翻译、编译后的结果。

      其它文件夹和文件临时不做介绍。

  4、Tomcat的默认行为。

      我们的浏览器请求假设到达了Tomcat。而且请求无误,一般Tomcat会以静态页面(即html文件)的形式给与响应,这是httpserver的默认行为。

      一个完整的资源请求包含:

      协议(如http)

      主机名(域名。如localhost、www.baidu.com

      port号(http协议默觉得80。所以我们一般向某个站点发起请求没有输入)

      网站

      资源位置

        如http://localhost:8080/ROOT/index.jsp

      那么在第二步时我们仅仅输入了域名(或者主机名)就訪问到了某个详细的页面,这是怎么回事呢?。

      首先。请求会通过一些途径到达请求的主机地址并被该server(指硬件。如我们的本机电脑)上的httpserver程序获得。这一步解释起来比較麻烦,我们不做赘述,我会在其它篇幅里介绍。

      比方我们输入http://localhost:8080到浏览器里。被Tomcat发现了。

      如今它拿到请求,先分析我们所请求的是什么资源。

因为我们没有指定。它会到默认的网站去拿默认的页面给我们。

      如今我们把过程走一遍:

        server端:Tomcat监听着8080port,时时注意是否有请求过来。

        client浏览器发出请求,到达了server端,因为port的分配,请求终于被Tomcat得到。

        Tomcat解析请求的资源,发现没有指定须要的是哪个网站下的哪个资源。

        Tomcat在默认的网站下把默认的页面返回给client浏览器作为响应。

  

  5、更改Tomcat默认配置。

     ①、改动Tomcat监听port。

        我们都有过訪问站点的经历。我们一般仅仅输入了域名对吧。那么如果我们如今作为网络服务提供者。将要对外公布站点,我们怎么让用户仅仅输入我们的域名就能看到我们为他/她准备的网页呢?

        首先我们须要将监听port设置为80。道理非常easy,用户不会在浏览器输入:8080来訪问站点,浏览器也不会自己主动将请求发送到server的8080port。

          在%TOMCAT_HOME%(下面代指Tomcat的安装路径)下的conf文件夹下的server.xml文件里改动。

  

      这个文件中东西不少,事实上大家不必在意。为什么呢?你把凝视删除后再把整个xml看作一个对象。是吧,每一个节点是一个属性,这个属性又可能是一个对象。它里面有属性……要这样去理解,或者直接觉得是Tomcat的配置信息到也没错。

      这样,就不用输入:8080了。

    ②、改动默认网站。

      首先说,网站是具有特定结构的目录。这一点在Tomcat里表现得极为清晰。

      网站。在server上肯定是用目录(即目录结构)来存储和管理的。可是它和普通的目录又不同。在Tomcat里,可用于作为网站的目录必须有例如以下特点:拥有一个名为WEB-INF的子目录。该子目录下必须有一个名为web.xml的文件,并且该xml文件必须受约束与特定的DTD。

      

      我们先配置或者说叫创建一个网站,再将其设置为默认网站。

        配置网站:创建目录,创建WEB-INF子目录,创建web.xml,完毕。web.xml内容能够參考webapps/ROOT/WEB-INF/web.xml。

        设置为默认网站:

          这里须要分为两步运行。

            告诉Tomcat当请求哪个网站时(或者说在域名后面跟的是什么名字),你来找我。

            告诉Tomcat我在哪里。

  

            上图已经将两步配置好了(实际上Tomcat默认加上了将空网站指向ROOT的代码)。我们的d:/myweb:

            假设你的网站存放在webapps文件夹下,能够使用相对路径,比方,我们将d:/myweb整个拷到%TOMCAT_HOME%/webapps下。上图的docBase非常明显就不须要加上d:/了。

  

            我在index.html里写了几句话。然后结果出来了:

  

    ③、改动默认页面。

      在上面。我们还算是中规中矩。依照常理出牌,谢了index.html。

那么假设没有写呢?Tomcat会怎么做呢?

      请大家找到conf/web.xml。

这个文件是对全部网站的共同属性做出了设置。

比方大家看文件结尾处:

  

      这个叫做欢迎页面。当没有输入资源地址时,会由上至下地查找,获取页面。进行响应。

      非常清楚了吧。修改它就能够。可是不建议在这里改,会是全部网站设置变化,你应该将其拷贝到你须要修改的网站下的web.xml,进行设置。

   6、虚拟主机的配置。

      所谓虚拟主机,就是将一个或多个主机名(域名)和Tomcat所在的server进行绑定。因为一个IP能够和多个域名进行帮定,我们大能够将不同的域名指向server(指硬件)上的不同目录。造成一个server(或者一个IP)多个主机的“虚拟主机”效果。

      这个实现起来相当的简单。

仅仅须要在server.xml文件里新建Host节点。将其属性进行不同设置就可以。

复制代码
 1 #你的主机名(域名)1
 2 <Host name="localhost"  appBase="webapps"
 3            unpackWARs="true" autoDeploy="true"
 4            xmlValidation="false" xmlNamespaceAware="false"> 
 5 </Host> 
 6 #你的域名2
 7 <Host name="www.coderecord.org" appBase="主机空间地址" 
 8        unpackWARs="true" autoDeploy="true" 
 9        xmlValidation="false" xmlNamespaceAware="false">  
10        #域名3能够和域名2共用一个主机空间
11         <alias>coderecord.org</alias>
12         <Context path="" docBase="网站地址" debug="1" reloadable="true" allowLinking="true" />
13 </Host> 
复制代码

      以上配置信息依据Tomcat的版本号不同而不同。

原文地址:https://www.cnblogs.com/mthoutai/p/6905688.html