什么是Web服务器?web服务器的定义
其实并没有标准定义,一般认为Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。
WEB服务器的介绍,Web服务器的特点:
- 服务器是一种被动程序:只有当Internet上运行其他计算机中的浏览器发出的请求时,服务器才会响应。
- 服务器一般使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。
- Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。
一、什么是Tomcat
Tomcat是一款开源轻量级Web应用服务器,是一款优秀的Servlet容器实现。
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
Servlet严格来讲是指Java语言实现的一个接口,一般情况下我们说的Servlet是指任何实现了这个Servlet接口的类。
实例化并调用init()方法初始化该Servlet,一般Servlet只初始化一次(只有一个对象)
service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions()、destroy())。
当Server不再需要Servlet时(一般当 Server 关闭时),Server调用Servlet的destroy()方法。
典型的Servlet的处理流程:
1)第一个到达服务器的HTTP请求被委派到Servlet容器。
2)Servlet容器在调用service()方法之前加载Servlet。
3)然后Servlet容器处理由多个线程产生的多个请求,每个线程执行一个单一的Servlet实例的service()方法。
1、Tomcat版本介绍
Servlet2.X:项目目录结构必须要有WEB-INF,web.xml等文件夹和文件,在web.xml中配置servlet,filter,listener,以web.xml为java web项目的统一入口。
servlet 3.x规范:项目中可以不需要WEB-INF,web.xml等文件夹和文件,在没有web.xml文件的情况下,通过注解实现servlet,filter,listener的声明,当使用注解时,容器自动进行扫描。
同时Tomcat8.5进行了大量的代码重构,对比与7.0的版本,也符合Tomcat未来的代码架构体系。但是Tomcat的核心和主体架构还是一直保持这样的。
2、8.5版本特点
·支持Servlet3.1
·默认采用NIO,移除BIO
·支持NIO2(AIO)
·支持HTTP/2协议
·默认采用异步日志处理
为什么要讲8.5的版本,首先这个版本比较新,因为太老的版本比如6.0的版本Servlet不支持3所以会导致部署SpringBoot等项目有问题,同时这个版本是在9.0出现以后发布的一个中间版本,主体架构延续8.0,同时又实现了部分9.0的新特性。
3、Tomcat启动
Tomcat下载地址: https://tomcat.apache.org/download-80.cgi
3.1、一般启动
startup.bat/sh
启动成功的日志信息省略。。
启动成功可以访问到的Tomcat首页
http://localhost:8080/
为什么有这个默认首页:Tomcat“买一送一”的思想,默认Tomcat启动后加载webapps中的项目
3.2、IDE中启动
一个Sprei项目配置和打包
IDE中启动成功后的只有项目的访问,没有首页的显示的