如今将使用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的版本号不同而不同。

使用Tomcat的一些经验和心得的更多相关文章

  1. tomcat部署项目的一点心得

    打包方式 eclipse  右键项目Export  选择WAR file 在选择将打包好的war 包存放的位置 放到tomcat中运行   : 首先将war包fang放到解压的tomcat中的weba ...

  2. Java面试题Tomcat的优化经验

    一.掉对web.xml的监视,把jsp提前编辑成Servlet.有富余物理内存的情况,加大tomcat使用的jvm的内存 二.服务器资源 服务器所能提供CPU.内存.硬盘的性能对处理能力有决定性影响. ...

  3. 将eclipse上的web项目部署到Tomcat服务器上经验总结

    1.  将Tomcat插件添加到eclipse上 Window --> Preferences --> Server --> Runtime Environment --> A ...

  4. 双非本科字节跳动Android面试经验和心得体会分享(已拿offer)

    新人报道,没有什么可分享的,就记录一些自己求职的体会和心得. 我是在校招补录的时候参加了今日头条的招聘,岗位是Android开发,最后成功拿到了入场券.但是这也丝毫不值得骄傲,大家都知道:技术日新月异 ...

  5. 海华大赛第一名团队聊比赛经验和心得:AI在垃圾分类中的应用

    摘要:为了探究垃圾的智能分类等问题,由中关村海华信息研究院.清华大学交叉信息研究院以及Biendata举办的2020海华AI垃圾分类大赛吸引了大量工程师以及高校学生的参与 01赛题介绍 随着我国经济的 ...

  6. Tomcat安装配置

    Tomcat安装配置 很久没有通过博客对学习所得进行记录了. 现在将使用Tomcat的一些经验和心得写到这里,作为记录和备忘.如果有朋友看到,也请不吝赐教. 1.首先是Tomcat的获取和安装. 获取 ...

  7. Tomcat服务器的安装配置图文教程(推荐)

    现在将使用Tomcat的一些经验和心得写到这里,作为记录和备忘.如果有朋友看到,也请不吝赐教. 1.首先是Tomcat的获取和安装. 获取当然得上Apache的官方网站下载,开源免费,而且带宽也足够. ...

  8. Apache-Tomcat的安装配置

    现在将使用Tomcat的一些经验和心得写到这里,作为记录和备忘.如果有朋友看到,也请不吝赐教. 1.首先是Tomcat的获取和安装. 获取当然得上Apache的官方网站下载,开源免费,而且带宽也足够. ...

  9. Tomcat7.0安装配置

    很久没有通过博客对学习所得进行记录了. 现在将使用Tomcat的一些经验和心得写到这里,作为记录和备忘.如果有朋友看到,也请不吝赐教. 首先,我个人使用的是apache-tomcat-7.0.27你可 ...

随机推荐

  1. Python,计算 ax^2 + bx + c = 0的根

    1 #-*-coding : utf-8-*- 2 import math 3 4 def quadratic(a, b, c): 5 if not isinstance(a, (int, float ...

  2. document.write清除原有内容情况

    原博客: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta ...

  3. Android基础TOP5_2:MultiAutoCompleteTextView多文本自动补全文本框

    Activity: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln ...

  4. ElasticSearch学习笔记--一些规范,会持续更新

    我们在ElasticSearch中存储的数据一般是采用json的格式存储,所以ElasticSearch中有一个叫Mapper的东西用来定义jsonschema来规范这个json 但是这个mapper ...

  5. GLPI开源资产管理系统

    GLPI一款资产管理系统,功能比较强大,东西比较多,放张图,有机会再深入研究

  6. GetArxPath

    extern HINSTANCE _hdllInstance;CString GetArxPath(){ CString strArxPath; GetModuleFileName(_hdllInst ...

  7. python队列的实现

    队列是一种抽象数据结构,具有以下特点: (1)具有先进先出的特性(FIFO) (2)拥有两种基本操作,即加入和删除,而且使用front和rear两个指针来分别指向队列的前端和末尾. 队列的基本操作 c ...

  8. block的作用

    ios高效开发--blocks相关   1.替换delegate       如果我们有2个viewController,a和b,当我们从a界面push到b后,在b上面触发了一些事件,这些时间又会影响 ...

  9. P1048 采药(洛谷,动态规划递推,01背包原题)

    题目直接放链接 P1048 采药 这题只是01背包+背景故事而已 原题来的 PS:我写了一篇很详细的01背包说明,如果下面ac代码有看不懂的地方可以去看看 对01背包的分析与理解(图文) 下面上ac代 ...

  10. QT使用插件QAxWidget来展示web页面

    要求:用qt版开发一个桌面程序,该程序有一个界面,用来显示一个采用silverlight开发的web页面. 分析:在qt中实现web显示,根据qt的版本和对应编译器的版本,有如下选择: (1)5.6以 ...