一、基本概念

1.1硬件服务器:通常是指在互联网上具有独立IP的计算机,通常配置比较高。比如我们自己的计算机也可以作为服务器使用(只不过配置较低)

1.2软件服务器:就是一个计算机程序,比如MySQL服务器软件,tomcat服务器软件。服务器软件分为很多类型,比如:ftp服务器,数据库服务器,邮件服务器,web服务器软件等

1.3 web服务器:通过浏览器访问的一段计算机程序,服务器收到你的访问请求时,进行处理,并做出响应。 

  1.  1.3.1WebLogic服务器 全面支持JavaEE版本的服务器 收费
  2.  1.3.2WebSphere服务器 全面支持JavaEE版本的服务器 收费
  3.  1.3.3.Tomcat服务器 免费开源的,JS,体积小,功能也很强大,是市面用的最多的一款服务器

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器.

tomcat的特点:

    1.由于有Sun公司的支持,所以对java的兼容性在当时是特别好的,原因是tomcat也是java编写的软件,所以必须要依赖于jdk环境,如果我们jdk有问题,启动tomcat时,一定会报错!!!!

    2.所以tomcat可以非常即使的更新java的规范,所以被广大的java开发者所喜爱

    3.也被广大的软件开发商认可,产生了很多适配tomcat的软件,于是就成为主流的web服务器了

    4.免费开源的,属于轻量级的服务器,在中小型项目和并发访问用户量不高的情况下,被广泛的使用,所以就是我们日常开发和测试程序的首选服务器

    5.tomcat默认的并发能力是150,更多的话也是可以支持的,但是得人为配置,win系统本身限制同一下线程下,并发量不能超过2000
    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

JAVASE: J2SE 可以理解为java的基础包

JAVAEE: J2EE 企业级版本

JAVAME: J2ME 为移动设备或者嵌入式设备进行开发的

二、Tomcat的使用

2.1 下载安装:https://tomcat.apache.org/   官网直接下载

2.2启动与关闭

解压下载的压缩包,无需安装,直接解压就可以(路径不要包含中文空格等),找到对应的bin目录下的startup.bat,双击启动 TomcatTomcat服务器 

备注:

 如果启动服务器一闪而退,可以去log目录下查看日志,如果报这个问题

Tomcat服务器

说明此时的服务器所使用的端口被占用了

如何解决呢?

  1. 给服务器切换一个新的没被占用的端口号
  2. 关闭正在占用这个端口的程序,不能随便关闭,因为不知道占用的程序是什么可能是系统重要程序,所以关闭需慎重

具体步骤:

  1. 开发dos窗口
  2. 输入netstat -ano|findstr 8080,找到对应的程序的最后的数字,那么这个就是这个程序的编号

Tomcat服务器

  1. 通过这个编号查询这个程序是什么程序tasklist|findstr 32188

Tomcat服务器

  1. 查看这个程序是可以关闭的程序,才可以杀死进程taskkill /f /pid 32188

2.3测试

http://localhost:8080/  如果能正常打开此网址,则Tomcat服务器启动成功,如何将写好的网页发到服务器上,将写入的网页相关文件复制,在Tomcat解压文件夹目录下找到E:\Software\exe\apache-tomcat-8.5.34\webapps文件夹,在此目录下新建一个问价夹,并将复制的网页相关文件粘贴进去,打开网页输入网址服务器的ip/域名:端口号/访问的页面资源(例如:http://localhost:8080/demo/light.html )可正常访问,不能直接将页面放在webapps的根目录中,因为无法识别,所以必须要在webapps目录下,新建一个项目目录(web应用),然后才可以访问

虚拟主机

在tomcat服务器中,默认提供了一个站点,就是localhost,这个站点也叫作虚拟主机。

Tomcat服务器

虚拟主机就是在一个单一的物理主机上,实现多网域服务的方法,也就是可以运行多个网站或者服务的技术,虚拟主机之间完全独立,比如我们访问百度和访问淘宝,两个网站之间是完全独立的,但是我们不能确定是都两个网站之间是否在使用同一个真实主机,另外虚拟主机技术的流行,可以使用户自行管理虚拟服务器,主要是原因还是为了节约成本

修改默认端口号

Tomcat软件,默认使用的是8080端口号,也可以自定义端口号变成你需要的就可以了.
将tomcat的端口号切换为80端口,因为80端口为默认端口,可以不写,打开D:\apache-tomcat-8.5.34\conf\server.xml文件,然后修改第69行的port属性的值

Tomcat服务器

启动后,可以发现端口号已经发生了变化

Tomcat服务器

输入localhost即可访问tomcat主页

配置默认的web应用

把 http://localhost/demo/light.html 变成 http://localhost/light.html

ROOT目录就是默认目录,不需要写名字

如何将一个web应用变为默认的web应用?

只需要将web应用的名字修改为ROOT即可,同一个虚拟主机中,只能有一个ROOT目录,所以也就只能有一个默认的web应用

配置web应用的主页

把http://localhost/light.html 变成 http://localhost

只需要找到ROOT/WEB-INF/web.xml,在web.xml文件中添加如下配置即可

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1">
  	<welcome-file-list>
		<welcome-file>light.html</welcome-file>
  	</welcome-file-list>
  </web-app>

三、目录结构

    D:\Java\apache-tomcat-8.5.72\bin: 存放tomcat服务器中可执行文件的目录
    D:\Java\apache-tomcat-8.5.72\conf: 存放tomcat服务器中配置文件的目录
    D:\Java\apache-tomcat-8.5.72\lib: 存放tomcat服务器运行时所依赖的jar包
    D:\Java\apache-tomcat-8.5.72\logs: 存放tomcat服务器运行时产生的日志文件的目录,记录每次启动关闭的一些信息
    D:\Java\apache-tomcat-8.5.72\temp: 存放tomcat服务器产生的临时文件的目录, tomcat会自己清理该目录, 可以忽略该目录
    D:\Java\apache-tomcat-8.5.72\work: 存放tomcat服务器产生的工作文件
    D:\Java\apache-tomcat-8.5.72\webapps: 是localhost虚拟主机默认管理的目录,你开发好的项目代码必须在webapps目录下才可以通过浏览器访问你的程序,包括各种资源(html、css、js、jsp、servlet、图片等)和目录等
    D:\Java\apache-tomcat-8.5.72\conf\server.xml: 存放tomcat服务器的核心配置,配置了主机,端口号等
    D:\Java\apache-tomcat-8.5.72\webapps\ROOT\WEB-INF\web.xml:可以配置一个应用的主页等信息

  web应用目录结构

  |- WEB-INF:放在这个目录下的文件不能直接通过浏览器访问,因为会被服务器保护起来,可以通过转发访问

        |-classes目录:用来存放动态web资源(servlet,jsp)的class文件

        |-lib目录:用来存放动态web资源的jar包

        |-web.xml文件:是web应用的核心配置文件,web应用中的很多配置操作都会在这个文件中进行设置

  |- WEB-INF以外:是可以直接存放web静态资源,比如html,js,css,放在这部分的文件是可以直接通过浏览器访问的

备注: 

http状态码

200:状态码(一个三位的数字), 表示服务器处理请求的结果如何,200表示服务器成功的处理请求

    状态码的第一个数字定义了响应的类别,共五种类别:

    1xx:指示信息--表示请求已接收,继续处理

    2xx:成功--表示请求已被成功接收、理解、接受

    3xx:重定向--要完成请求必须进行更进一步的操作

    4xx:客户端错误--请求有语法错误或请求无法实现

   5xx:服务器端错误--服务器未能实现合法的请求

常见状态码:

    200: 服务器成功的处理了请求

    400: 客户端请求有语法错误,不能被服务器理解

    404: 表示客户端请求的资源不存在!

    500: 表示服务器端发生了错误!

    302:表示请求重定向(需要再进一步请求才可以获取到相应的资源)

    304/307:表示通知浏览器使用缓存

发表回复