1.概念
1.1 什么是Web服务器?
web服务器就是web项目的容器,我们将开发好的web项目部署到web容器中,才能使用网络中的用户通过浏览器进行访问。
1.2 静态资源和动态资源
web项目中的资源根据其特性可以分为两类:
(1)静态网页:网页界面中的数据始终保持不变(HTML/CSS/JS/图片)
(2)动态网页:网页中的数据根据用户不同的请求可以会发生变化,也就是说网页中的数据是由程序根据用户的请求意图动态产生的
1.3 常用服务器产品
(1)Tomcat(Apache开源,主流的web服务器之一,多应用于Javaweb项目开发)
Tomcat官网:https://tomcat.apache.org/
(2)Jetty(运行效率高于Tomcat)
(3)WebLogic (Oracle,收费)
(4)WebSpere(IBM)
(5)Nginx(web静态资源服务器)
2. Tomcat的安装
2.1 下载
官网下载:https://tomcat.apache.org/
以Tomcat8.5.72版本页面为例:
2.2 解压安装
(1)如果下载的是压缩包,则解压即可使用
(2)解压注意事项:
①建议解压的目标目录层级不要多
②不建议解压到中文目录中
2.3 Tomcat的目录结构
(1)bin
该目录存放的是可执行的二进制文件
①startup.bat用于启动Tomcat
②shutdown.bat用于停止Tomcat
(2)conf
存放的是Tomcat的配置文件
(server.xml可以配置Tomcat的端口,web.xml关于项目部署的描述文件)
(3)lib
Tomcat的类库,里面存放了Tomcat运行所需要的jar文件
(4)logs
存放Tomcat服务器的运行日志、记录了服务器启动、运行异常及关闭等操作的记录
(5)temp
临时目录,存放Tomcat运行过程中产生的临时文件
(6)webapps
存放web项目的目录,其中每个文件夹都是一个项目;其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目、
(7)work
Tomcat可以运行动态网页,动态网页就是在服务器上将数据加载到网页生成的页面,此目录就是存放Tomcat生成的文件
2.4 Tomcat服务器的启动和关闭
(1)Tomcat的启动:进入Tomcat的安装目录的bin下,双击startup.cmd
(2)Tomcat的关闭:双击shutdown.bat即可关闭
2.5 tomcat启动失败的原因
2.5.1 查看报错原因
(1)编辑startup.cmd
(2)修改文件
①原始文件
②修改后的文件
③保存文件重新启动就能看到错误信息
2.5.2 错误原因
2.5.2.1 查看JAVA_HOME配置是正确
2.5.2.2端口号被占用
(1)错误信息如下
(2)查找被占用的进程并杀死掉
①查询出8080端口被那些进程占用着
netstat -ano | findstr 8080
②按照进程查找应用
tasklist | findstr <进程号>
③强制关闭
taskkill -PID <进程号> -F
3.项目部署及访问静态资源
Tomcat是web服务器,我们的项目应用是部署在webapps下,然后通过特定的URL访问
3.1 创建项目
在webapps中建立文件夹(项目名称),比如:myweb
(1)创建WEB-INF文件夹,用于存放项目的核心内容
①创建classes,用于存放 .class 文件
②创建lib,用于存放jar文件
③创建web.xml项目配置文件(到ROOT项目下的WEB-INF复制即可)
(2)把网页(例如hello.html)复制到myweb文件夹中,与WEB-INF在同一级目录
(3)以访问hello.html为例,浏览器中输入:http://localhost:8080/myweb/hello.html
(4)URL主要由4部分组成:协议、主机、端口、资源路径
3.2 web项目部署
web项目部署:将web项目交给Tomcat管理,当用户访问Tomcat时,Tomcat可以将web项目中的资源响应给用户浏览器。
(1)方式1:直接将web项目拷贝到Tomcat的webapps
目录 (访问路径就是项目名)
(2)方式2:将web项目的路径配置到Tomcat中
①拷贝web项目的路径 (例如:E:\JavaWeb\workspace\html\demo1
)
②在Tomcat的conf目录中Catalina\localhost
创建一个xml文件(xml文件名可以自定义,建议和项目名称一致)
<!-- 在xml文件中如下配置 --> <!-- path配置web项目的访问路径 --> <!-- docBase配置web项目的目录路径 --> <Context path="/demo1" docBase="E:\JavaWeb\workspace\html\demo1"></Context>