仅供参考
什么是 Tomcat
Tomcat 简单来说就是一个 Java web 服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。
Tomcat 结构目录
- bin:存放启动,关闭 Tomcat 和其他脚本
- conf:存放Tomcat的各种配置文件。这里最重要的文件是server.xml,它是容器的主要配置文件。
- lib:存放运行 Tomcat 运行需要的jar包
- logs:存放日志文件,当我们需要查看服务器运行情况的时候,可以查看日志文件
- temp:存放 Tomcat 运行时产生的临时文件
- webapps:存放web应用的位置(重点)
- work:存放jsp被访问后生成对应的 .java 文件和 .class 文件
我的第一个 Hello Project
1.首先,在 webapps 目录下创建 Hello 文件夹(目录)
2.在新创建的 Hello 目录下,创建 index.html,访问它(注意看路径:指定资源访问)
3.仅仅只有 .html 文件时是不够的;还需要创建 WEB-INF 目录,且在 该目录下创建一个web.xml
web.xml 是web应用的配置文件(可以从其他项目中复制一份【复制ROOT/WEB-INF/web.xml的文件到自己的项目目录中】)
添加如下代码:
// 指定项目首页
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
4.访问 Web 项目
如上图,此时直接访问 项目路径即可【hello.html已经是web项目的首页了,所以不需要指定资源访问了】
【基本操作】之一:配置虚拟路径
wsm
1.如果把所有web项目都放在webapps下,可能导致磁盘空间不够用,也不利于对web项目的管理(如果存在非常多的web项目)
2.把web项目存放到其他磁盘管理就需要配置虚拟目录(默认情况下都存放在webapps目录下)
方法1:
1.在其他路径下创建一个新的 web 项目,并创建WEB-INF目录(包括web.xml)和一个html文件
2.找到 Tomcat 目录下的 /conf/server.xml 文件
3.在 server.xml 文件中的 <Host 节点> 后添加如下代码:
//path表示的是访问该项目时输入的web项目名
//docBase表示的是项目的绝对路径
<Context path="/web" docBase="D:\web"/>
4.访问项目
方法2:
1.在其他路径下创建一个新的 web 项目,并创建WEB-INF目录(包括web.xml)和一个html文件
之前方法1的设置已全部去除
2.在 Tomcat 目录下找到并进入 /conf/Catalina/localhost
3.在该目录下创建 一个 .xml 文件(该文件名即代指你关联访问的项目)
4.访问项目
注:上述两个虚拟路径的配置时,在配置结束时均需要重新启动 Tomcat ;另外,注意观察其在浏览器中访问项目时的 网站地址。
【基本操作】之二:修改 Tomcat 端口和配置临时域名
修改 Tomcat 端口号
这个比较简单,直接进入到 Tomcat 目录下的 /conf/server.xml 文件,修改 <Connector 节点中的 port 值:
如上图,修改端口号为 8888.(端口被占用时需要修改)
配置临时域名
临时域名也是访问 Tomcat 服务器的一种方式,平时都是使用 localhost(主机名)或者 127.0.0.1 (本机地址)访问 Tomcat 服务器。临时域名可以说是一种较为新鲜的方式。
1.进入到 C:\Windows\System32\drivers\etc 目录下,找到 hosts 文件
2.在 hosts 文件中配置临时域名
此时,既可以通过 localhost 主机名访问 Tomcat 服务器中的项目,也可以通过配置的临时域名 myhost 访问 Tomcat 服务器中的项目。(未给项目设置虚拟主机前)
【基本操作】之三:设置虚拟主机
一个 Tomcat 可以认为是一台真实主机。在一台真实主机中可以配置多个项目,这些项目在访问者看来访问它们就像在访问各自独立的主机一样,所以我们可以认为这些项目都运行在 Tomcat 这台真实主机当中的各自的虚拟主机当中。一个网站就可以认为是一个虚拟主机。
1.在 Tomcat 目录的 /conf/server.xml 文件中 添加虚拟主机名
//name – 指定虚拟主机的名称,浏览器通过这个名称访问虚拟主机
//appBase – 虚拟主机管理的目录,放置在这个目录下的web应用当前虚拟主机可以自动加载
<Host name="myhost" appBase="D:\web">
<Context path="/web" docBase="D:\web"/>
</Host>
缺省虚拟主机:如果访问者是通过 ip 来访问,这个时候服务器无法辨别当前要访问的是哪台虚拟主机中的资源,此时访问缺省虚拟主机。
缺省虚拟主机可以在server.xml中engin标签上通过defaultHost属性进行配置
添加虚拟主机后,可见:
2.访问虚拟主机下的 Web 项目