• Tomcat文件夹和server配置文件解析


    Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

    • Tomcat属于解压即安装的软件,当我们在官网下载好了Tomcat安装包之后解压的道德文件夹如下图:

     我们尽量不要去修改这个文件夹的名字

    • 打开这个目录之后:

     我们可以看到这些目录:

    • bin   各种exe二进制文件,包括启动和关闭;
    • conf     Tomcat所需要的配置文件,包括配置端口号,默认访问文件,local地址等等
    • lib     各种jar包
    • logs   日志文件
    • webapps    下面存放的文件夹,每一个文件夹对应一个项目
    • work    工作台

    然后我们在bin目录下双击startup.bat文件启动Tomcat

     会看到如下界面:

    (第一次启动会中文乱码,不过没影响)

    此时我们打开浏览器输入:http://localhost:8080   回车会出现Tomcat的默认访问页面:

     Tomcat的默认访问页面其实就是webapps下的ROOT文件夹里的index.jsp文件:

     

    我们可以修改index.jsp里面的内容进行证明:

    我们把第一行的标签修改成“迎风少年”然后退出Tomcat重新启动再次通过浏览器访问:http://localhost:8080   :

     当我们输入localhost:8080时我们访问到Tomcat服务器,Tomcat服务器默认的响应界面是ROOT项目下的index.jsp

    但是我们知道,在webapps目录下还有很多项目:

     加入我们要访问docs项目,那么因为docs并不是Tomcat的默认访问项目,我们就必须指定相应的访问目录:

     其实当我们访问docs目录的时候,默认访问的就是docs下面的index.html

    我们把路径输全:

     两个界面完全一样

    但是如果一个文件里面并没有index.*文件,那么我们只输入到这个文件夹的路径是不会访问到页面的,例如我们的自建项目hello:

    当我们只把路径输入到:

     回车的结果是:

     因为在hello文件夹下面并没有一个index.*的文件所以Tomcat服务器找不到index.*文件所以返回未能找到资源。

    这个时候我们想访问我们的自建项目有两种办法:

    1. 设置访问路径到具体文件(加后缀名)
    2. 把我们的想要访问的文件名改成index.*

    第一种方式:

     回车显示:

     第二种方式:

     先把名字修改为index.*的格式,然后在浏览器上输入到hello的路径即可:

    回车如下:

     我们一样访问到了index.html文件

    (我们需要知道Tomcat的默认访问文件是index.*文件,当我们制定一个访问路径时,如果该路径没有具体到具体文件,那么这个路径下就一定要有一个index.*的默认访问文件)

    接下来我们对Tomcat的配置文件(conf)里面的server.xml进行一下讲解:

     打开server.xml文件,里面的<Connector>标签里面的内容:

    其中port="8080"代表就是把我们的服务器端口设置成8080

    比如前面我们访问的时候,都要加上8080端口号:

     这是Tomcat的默认端口号,但是我们看的网上的浏览地址并没有写相应的端口号,那是因为http的默认端口号是80,所以我们在网上访问的时候80端口是可以省略的;

    我们可以将Tomcat的端口号改成80进行测试:

     然后我们重新启动服务器进行Tomcat的主页访问:

    这个时候我们再输入8080端口:

     回车:

     我们换成80端口:

     回车:

    成功访问并且80端口不在地址栏显示:那么我们直接打localhost呢?

     回车:

    所以使用http进行访问的时候80端口是可以省略不写的

    那么为什么打localhost就会访问我们的电脑呢?

    我们再次打开server.xml配置文件

    查看<Host>标签里面的name属性是localhost,这不是巧合,我们把它改了再进行访问试试:

     就不会再找到页面

    那我们试一下我们设置后的地址:

     满怀激动的回车:

    尼玛竟然是一个卖域名的,

    那么为什么不是我们的Tomcat默认主页呢?

    我们打开:C:WindowsSystem32driversetc下面有一个hosts的配置文件

     我们打开然后在下面加入下面这一行映射:

     保存之后我们再次在搜索栏输入我们设置好的www.yfsn.com

    再次满怀激动的回车:

    它来了,它来了~~~

    原理就是当我们输入一个网址的时候,浏览器会首先把这个映射给我们的电脑里面的hosts配置文件里面的映射比较,

    看看有没有对应的映射,如果有就访问映射对应的ip地址(刚才我们设置的ip地址时192.168.0.0.1,这是一个计算机回环地址代表我们计算机本身),

    如果没有,浏览器就会根据我们输入的网址去DNS远程服务器上去查看(DNS上保存着全世界所有的域名):

    计入我们访问百度的网址:www.baidu.com

    很明显我们并没有在hosts文件中添加过www.baidu.com的映射,所以浏览器并不能在hosts文件中找到,就回去DNS云端去寻找www.baidu.com这个映射对应的

    真正的ip。

    我们可以进行一个实验:

    我们在搜索栏输入www.baidu.com回车,然后打开浏览器开发者模式(fn+f12)进行一下检测:

    我们打的实际上是www.baidu.com

    但是在DNS上相对应的真正的ip地址(远程地址+端口)是:61.135.169.121:443

    Tomcat大概就这么多内容

    迎风少年
  • 相关阅读:
    SPOJ ADAFIELD Ada and Field(STL的使用:set,multiset,map的迭代器)题解
    hdu 6444 网络赛 Neko's loop(单调队列 + 裴蜀定理)题解
    hdu6446 网络赛 Tree and Permutation(树形dp求任意两点距离之和)题解
    HDU6447 网络赛 YJJ's Salesman(DP + 线段树)题解
    HDU 6438 网络赛 Buy and Resell(贪心 + 优先队列)题解
    BZOJ 3155 Preprefix sum
    BZOJ 2743 采花
    BZOJ 3339 Rmq Problem
    BZOJ 1660 乱发节
    BZOJ 3531 旅行
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/13607218.html
Copyright © 2020-2023  润新知