一、初识Web服务器

1、服务器

安装了服务器软件计算机

2、服务器软件

接收用户的请求,处理请求,做出响应

3、Web服务器

可以部署Web项目,让用户通过浏览器来访问这些项目

4、常见的与Java相关的Web服务器软件

  1. webLogic:oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的
  2. webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的
  3. JBOSS:JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的
  4. Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范,如:servlet/jsp。开源的,免费的

二、Tomcat

1、下载

http://tomcat.apache.org/

QQ图片20200707155309.png

QQ图片20200707155312.png

2、安装

将下载好的zip里的文件夹拖到自己想放的位置就安装完毕了,超简单

QQ图片20200707155814.png

3、卸载

删除文件夹就行了,又是超简单

4、相关目录的含义

QQ图片20200707160734.png

5、启动

1、启动

双击bin目录下的startup.bat文件就可以启动Tomcat,启动后记住不要关了!
QQ图片20200707161511.png
QQ图片20200707161624.png

2、验证是否真的启动成功

因为Tomcat的webapps目录下已经有自带的用于检测是否启动成功web项目,我只要在浏览器上输入

http://localhost:8080 或者 http://127.0.0.1:8080 又或者 http://192.168.0.105:8080

localhost 和 127.0.0.1 代表本机的IP地址

192.168.0.105 是我自己电脑的IP地址,可通过CMD输入ipconfig,找到IPv4 地址就是了,利用这个就可以让别人来访问自己的Web项目

8080 是Tomcat的默认端口号!

如果访问到以下页面,就代表启动真的成功了!
QQ图片20200707163039.png

3、无法成功启动的问题

1、黑窗口一闪而过

原因:没有正确配置JAVA_HOME环境变量

解决:自己重新去配置!低级问题

2、启动报错

原因:Tomcat配置文件里写的端口号被占用了

暴力解决方案(推荐):找到Tomcat配置文件里写的端口号,并且找到对应的进程,然后干掉就行了!

如何找?

1、打开CMD,输入netstat -ano

2、找到Tomcat配置文件里写的端口号(目前是8080),然后记下PID值
QQ图片20200707165344.png
3、打开任务管理器->详细信息->找到对应的PID,然后结束进程即可!
QQ图片20200707165556.png
温柔解决方案(不推荐):修改自身的端口号

在Tomcat的conf目录下找到server.xml目录然后修改,要改挺多的,还容易错!(就不演示了)

注意:一般会将Tomcat的默认端口号修改为80,该端口号是http协议的默认端口号,好处是在访问时不需要再输入端口号!

6、关闭

  1. 正常关闭(推荐):
    双击bin/shutdown.bat文件
    在黑框框里点击Ctrl+C
  2. 强制关闭():
    点击黑框框的右上角的X

注意:以上的关闭方式了解就行,后期我们会IDEA来关闭!

7、访问项目

假设现在有一个项目:项目在D盘,项目目录叫hello,里面有一个world.html静态资源文件

我们如果要访问这个静态资源文件,方法是:

http://localhost:8080/hello/world.html

/hello叫做虚拟目录

/world.html就是要访问的东西嘛

8、部署项目

假设现在有一个项目要部署到 Tomcat:项目在D盘,项目目录叫hello,里面有一个world.html静态资源文件

方式一:直接将项目放到webapps目录下即可(低级,不用)

方式二:配置conf/server.xml文件(麻烦,不用)

方式三:(高端,优秀,掌握)

  1. 在conf/Catalina/localhost创建任意名称的.xml文件,该文件名称就是虚拟目录的名称,假设起个名字为:hahaha
  2. 在hahahah.xml文件中编写内容如下:
    doBase后面就是创建的项目的路径!
  1. <Context doBase="D:\hello" />
  1. 以上两步做完后,访问的方式就变为:http://localhost/hahahaha/hello.html

注意:如果项目暂时不用了,又不想删除,可以将hahahah.xml文件的名称改为:hahahaha.xml_bak,变为临时文件就行了!


三、动态项目的目录结构

Java动态项目下有一个很重要的目录:WEB-INF目录

WEB-INF目录下包含三类:

  1. web.xml:该项目的核心配置文件
  2. classes目录:放置字节码文件
  3. lib目录:放置项目依赖的jar包

如Tomcat自带的ROOT项目:
QQ图片20200707193240.png
QQ图片20200707193242.png
注意:Java有动态项目肯定也有静态项目,静态项目无非就是CSS HTML JS这些太简单了,我们后期肯定都只开发动态项目!