如今将使用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 manage.py syncdb报错:No module named MySQLdb

    今天同步数据时出现这个错误: 解决方法: 1.先下载mysql-python 支持1.2.3-2.7版本 MySQL-python 1.2.3 for Windows and Python 2.7, ...

  2. 联想 P70-t 免解锁BL 免rec Magisk Xposed 救砖 ROOT

    >>>重点介绍<<< 第一:本刷机包可卡刷可线刷,刷机包比较大的原因是采用同时兼容卡刷和线刷的格式,所以比较大第二:[卡刷方法]卡刷不要解压刷机包,直接传入手机后用 ...

  3. php经典bug

    <?php $tem = 0=="a"?1:2; echo $tem; ?> 输出结果为:1 原因:在0=="a",这个比较中因为会将字符串&quo ...

  4. HDU_1207_汉诺塔2

    汉诺塔II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  5. SpringBoot中如何使用jpa和jpa的相关知识总结

    jpa常用的注解: 注解 解释 @Entity 声明类为实体或表. @Table 声明表名. @Basic 指定非约束明确的各个字段. @Embedded 指定类或它的值是一个可嵌入的类的实例的实体的 ...

  6. CAD从二制流数据中加载图形(com接口Delphi语言)

    主要用到函数说明: _DMxDrawX::ReadBinStream 从二制流数据中加载图形,详细说明如下: 参数 说明 VARIANT varBinArray 二制流数据,是个byte数组 BSTR ...

  7. ThinkPHP---TP功能类之上传

    [一]概论 (1)上传操作的核心操作:移动临时文件(move_upload_file),在ThinkPHP里封装了上传类Upload.class.php (2)上传类Upload.class.php代 ...

  8. oracle数据库子查询的结果需要使用多次解决办法

    with c as (select a.trandt,sum(a.tranam) tranam from tran a group by a.trandt )--将子查询抽取出来,以后可以直接用.该方 ...

  9. MySQL:INSERT ... UPDATE

    在 INSERT 语句末尾指定ON DUPLICATE KEY UPDATE时,如果插入的数据会导致表中的 UNIQUE 索引或 PRIMARY KEY 出现重复值,则会对导致重复的数据执行 UPDA ...

  10. TestNG套件测试(二)

    在xml中指定要运行的整个包来执行套件测试 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...