JavaWeb学习笔记(二)--Tomcat服务器(一)

一、安装Tomcat服务器

1.1 安装Tomcat服务器

官网下载一个tomcat的压缩包

解压,然后进入到bin目录执行startup.bat启动服务:


用浏览器打开http://localhost:8080/,如果出现如下画面,证明安装成功。

1.2 Tomcat服务启动常见问题

  1. JDK未安装或JAVA_HOME环境变量未设置,主要表现在执行startup.bat屏幕一闪而过
  2. Catalina_home环境变量设置问题(一般不需要配置),主要表现在本地有两个tomcat,自己启动tomcat在A目录,环境变量设置的B目录,实际启动的是B目录,A目录下的web程序访问不了
  3. 8080端口被占用,可以使用如下方式删除占用端口的进程或程序

8080端口被占用解决方案:

方案一: kill掉占用8080端口的进程

1.打开cmd命令行窗口,使用netstat -ano可以查询所有端口和PID的对应关系:

2. 找到占用8080端口的PID,netstat -ano|findstr "8080"

3. 打开任务管理器查看对应进程:

如果看不到进程号,选择"查看"->"选择列",勾选上PID即可。

5. 停止进程,一个进程的话直接在任务管理器中结束即可,如果有多个,在命令执行命令taskkill /f /t /im 进程名,然后重启Tomcat服务

方案二:修改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>

 

说明:这种方式有个弊端,因为改的是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

方式三:Tomcat自动映射

把我们的web应用程序直接拷贝到Tomcat的webapps目录下,虚拟映射目录就是web应用的目录:

 

猜你喜欢

转载自www.cnblogs.com/songchj-bear/p/10292384.html
今日推荐