Tomcat的目录结构、虚拟主机和相关知识

1.tomcat的目录结构

         bin ---- ----     启动和关闭需要的bat文件所在的目录
         conf ------       配置目录
         lib        ---       tomcat运行时需要的jar包所在的目录
         logs ---          日志文件所在的目录
         temp ---         tomcat运行时产生的临时文件存放的目录,不需要我们管理
         webapps --- 开发中最常用的目录,web应用放置到此目录下浏览器可以直接访问
         work ---         工作目录,tomcat运行时产生的工作文件存放在这个目录中

2.虚拟主机/web应用

         

         虚拟主机:

         一个tomcat可以认为是一台真实主机.在一台真实主机中可以配置多个站点,这些站点在访问者看来访问他们就像在访问各自独立的主机一样,所以我们可以认为这些站点都运行在tomcat这台真实主机当中的各自的虚拟主机当中,一个网站就可以认为是一个虚拟主机。
         web应用:
         一个虚拟主机中会有很多的web资源,但是web资源不能直接交给虚拟主机管理,需要按照一定方式组织成web应用虚拟主机才能使用.一般来说我们会按照功能将某一功能相关的所有的web资源组织成一个web应用后再交给虚拟主机.


         web应用目录结构: 如果目录结构不合法可能会出现各种奇葩的问题.
                  news
                  |
                  |--静态资源和JSP文件都可以直接放置在web应用的目录下,直接放在web应用下的内容,浏览器可以直接访问到
                  |
                  |--WEB-INF -- 可以没有,但是最好有,如果有则一定要保证他的目录结构是完整的.放置在WEB-INF目录下的所有资源浏览器没有办法直接进                                           行访问
                           |--classes -- 动态web资源运行时的class文件要放在这个目录下
                           |--lib -- 动态web资源运行时所依赖的jar包要放在这个目录下
                           |--web.xml -- 整个web应用的配置文件,配置主页/Servlet的映射/过滤器监听器的配置都需要依赖这个文件进行
     注意:WEB-INF文件夹可以没有,一旦有了,其中就必须包含上述三个文件(夹)!!

          web.xml的写法:仿照conf目录下的web.xml文件写法:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0">

      <welcome-file-list>
        <welcome-file>newssb.html</welcome-file>
    </welcome-file-list>

</web-app>

在浏览器中直接输入:http://localhost:8080/   即可访问。(在此之前已经将该web应用设置为默认web应用)

        配置虚拟主机:

            在conf/server.xml中<Engin>标签下配置<Host>标签就可以为tomcat增加一台虚拟主机了,例如:

  <Hostname="www.baidu.com"  appBase="E:\mywebapps"></Host>

            name -- 指定虚拟主机的名称,浏览器通过这个名称访问虚拟主机
            appBase -- 虚拟主机管理的目录,放置在这个目录下的web应用当前虚拟主机可以自动加载


*由于浏览器访问地址时,需要将地址翻译成对应的ip才能找到服务器,这其中翻译的过程是由dns服务器来实现的.我们在做实验的时候没有办法去修改dns服务器,此时可以使用hosts文件模拟dns的功能,从而完成实验.

*缺省虚拟主机:如果来访者是通过ip来访问,这个时候服务器无法辨别当前要访问的是哪台虚拟主机中的资源,此时访问缺省虚拟主机.缺省虚拟主机可以在server.xml中engin标签上通过defaultHost属性进行配置.


为虚拟主机配置web应用(三种方法)


(1)在Server.xml的<Host>标签中,配置<Context>标签,就可以为该虚拟主机配置一个web应用了

示例:<Context path="/news"  docBase="E:\news">

        path:如果将path设置为空则这个web应用为缺省web应用

       docBase:web应用的真实路径,

这种配置方式需要重启服务器,不推荐


(2)在tomcat/conf/[Engin]/[Host]/(实际就是指tomcat/conf/Catalina/localhost/,参照conf目录下的server.xml目录查看[Engin]的名字在这个目录下写一个xml文件,其中xml文件的名字就是虚拟路径,在这个xml中可以配置<Context>标签,其中配置真实路径。

文件名为:newsdwy.xml   

<?xml version="1.0" encoding="utf-8"?>   
<Context docBase="E:\news01"/>

访问:http://localhost:8080/newsdwy/newssb.html      

如果所配置的虚拟路径中有/由于文件名中不允许包含     /    需要用   #   替代。

只要将文件名设置为ROOT.xml则这个xml描述的web应用就成为了缺省web应用

这种配置方式不需要重启服务器,推荐


(3)直接将web应用放置到虚拟主机管理的目录下,虚拟主机就可以找到这个web应用,从而管理这个web应用
只要将web应用文件夹的名称改为ROOT,这个web应用就是缺省web应用



*web应用的虚拟路径映射 -- 就是为web应用的真实存在的路径配置一个浏览器访问的虚拟路径
*配置缺省web应用 -- 默认的web应用,当不写web应用名时就访问这个web应用

3.零散知识

(1)打war包,减少web应用的体积方便传输,并且在虚拟主机管理的目录下(webapps),war默认可以自动解压

方法一:敲命令:jar -cvf  ROOT.war *

方法二:直接用压缩工具压缩,然后后缀名改成.war即可。 

(2)

通用Context配置、通用web.xml配置(conf目录下),了解即可。

自己开发的web应用,可以理解为“继承”了conf下面的context.xml和web.xml。这就是为什么自己的web应用可以没有WEB-INF文件夹的原因。

(3)
Tomcat服务器的管理平台


===============================================================================================================
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值