一、安装Tomcat服务器
1.1 安装Tomcat服务器
从官网下载一个tomcat的压缩包
解压,然后进入到bin目录执行startup.bat启动服务:
用浏览器打开http://localhost:8080/,如果出现如下画面,证明安装成功。
1.2 Tomcat服务启动常见问题
- JDK未安装或JAVA_HOME环境变量未设置,主要表现在执行startup.bat屏幕一闪而过
- Catalina_home环境变量设置问题(一般不需要配置),主要表现在本地有两个tomcat,自己启动tomcat在A目录,环境变量设置的B目录,实际启动的是B目录,A目录下的web程序访问不了
- 8080端口被占用,可以使用如下方式删除占用端口的进程或程序
8080端口被占用解决方案:
方案一: kill掉占用8080端口的进程
1.打开cmd命令行窗口,使用netstat -ano可以查询所有端口和PID的对应关系:
2. 找到占用8080端口的PID,netstat -ano|findstr "8080"
3. 打开任务管理器找到对应进程,kill掉。一个进程直接在任务管理器中结束即可,如果有多个,在命令执行命令taskkill /f /t /im 进程名,然后重启Tomcat服务:
如果看不到进程号,选择"查看"->"选择列",勾选上PID即可。
方案二:修改Tomcat的服务端口号
这个在下面详细说明
1.3 Tomcat服务器端口号配置
我们在做web开发的过程中端口号使用8080,但是上线部署的时候不要使用8080端口,否则每次别人访问你的网站的时候还要输入端口号,会很麻烦。我们可以使用80端口,因为http协议默认端口号就是80,没有输入就默认设置为80
打开conf/server.xml文件,找到Connector,把port改成80
1 <Connector port="80" protocol="HTTP/1.1"
2 connectionTimeout="20000"
3 redirectPort="8443" />
然后重启tomcat服务器,但是重启失败,找到占用80端口的进程,是系统进程kill不掉。
说明:只要改动server.xml就要重启Tomcat服务。
解决方案:
1. 打开cmd命令行窗口,执行命令netsh http show servicestate,占用80端口的进程
2. 在任务管理器中,把这些进程全部kill掉
3. 重启Tomcat服务,访问http://localhost/,验证结果
扩展知识:网络中常用协议的端口号
端口号 | 服务 | 全称 |
21 | FTP | File TransferProtocol(文件传输协议) |
22 | SSH | Secure Shell(安全外壳协议) |
23 | Telnet | Telnet(远程登录) |
25 | SMTP | Simple Mail Transfer Protocol(简单邮件传输协议) |
53 | DNS | Domain Name Server(域名服务器) |
80 | HTTP | HyperText Transport Protocol(超文本传输协议) |
110 | POP3 | Post Office Protocol Version 3 (邮局协议3) |
443 | HTTPS | Hypertext Transfer Protocol Secure(超文本传输安全协议) |
二、Tomcat目录结构
三、虚拟目录映射
3.1 基本概念
Web应用程序:指供浏览器访问的程序,通常也简称为web应用
一个Web应用由多个静态web资源和动态web资源组成,如:
- html, css,js文件
- jsp文件,java程序,支撑jar包
- 配置文件等
- 组成web应用的这些文件通常我们会使用一个目录组织,这个目录称之为web应用所在目录。
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录映射。
3.2 虚拟目录映射常用配置方式
先新建一个web项目,E:\JavaWebDemo
方式一:在server.xml中配置
打开Tomcat的server.xml,在<Host>标签中间增加Context标签设置path=虚拟路径,docBase=web应用所在目录
1 <Host name="localhost" appBase="webapps"
2 unpackWARs="true" autoDeploy="true">
3
4
5 <Context path="/JavaWeb" docBase="E:\JavaWebDemo" />
6
7 </Host>
还可以将JavaWebDemo配置成默认的,浏览器访问时,默认访问我们的web程序,只需将path=""即可。
说明:这种方式有个弊端,因为改的是server.xml,就是每次修改都要重启服务器。方式二和方式三不用重启服务,一般都使用后面两种。
方式二:在conf\Catalina\localhost配置
在Tomcat conf\Catalina\localhost目录中可以增加一个xml,xml中配置Context,并制定web应用所在目录,而这个xml的名字(不包含xml)就是虚拟映射的目录:
增加foo.xml,设置Context标签,因为映射的目录就是文件名,所以就不用设置path:
<Context docBase="E:\JavaWebDemo" />
foo#bar.xml
设置缺省目录:将xml名字改成ROOT,即ROOT.xml
方式三:Tomcat自动映射
把我们的web应用程序直接拷贝到Tomcat的webapps目录下,虚拟映射目录就是web应用的目录: