服务端基础

一.下载、安装、启动、配置

  1. 下载地址:http://tomcat.apache.org
  2. 配置
    环境变量:Path=D:\Java\jdk1.8.0\bin;
    JAVA_HOME=D:\Java\jdk1.8.0
  3. 修改tomcat服务器默认端口(8080)
    修改方式:找到[tomcat安装根目录]/conf/server.xml文件,将70行的port属性修改为80即可!
  4. 端口占用问题
    解决方式:1.运行shutdown.bat文件,将tomcat安照关闭的流程再关闭一次
    2.在cmd中,通过“netstat -ano” 命令查看当前系统活动的进程,找到80端口并查看80端口对应的进程ID,再通过“taskkill /f /pid 进程ID” 结束占用80端口的进程
    注1:如果报netstat不是内部或外部命令,可以先进入 c:\windows\system32目录, 再运行
    注2:如果“taskkill…” 报拒绝访问,说明cmd窗口未获得管理权限,只需要通过管理员运行cmd,再执行

二.Tomcat服务器的目录结构介绍

  • bin :tomcat服务器批处理文件的存放目录
  • conf :tomcat配置文件的存放目录,其中server.xml文件是tomcat的核心配置文件
  • lib :tomcat运行时所依赖的jar包的存放目录
  • logs :tomcat运行时产生的日志文件的存放目录
  • temp :tomcat运行时产生的临时文件的存放目录
  • webapps :
  • work :tomcat服务器运行时产生的工作文件的存放目录(JSP翻译后的Servlet文件、session的序列化文件)

三.Web应用

1.什么是Web应用

  • 所谓的Web应用其实就是一个目录。
  • 将为了实现某一个功能而准备的Web资源文件,(html/css/js…)根据所实现的功能,按照一定的目录结构组织起来的就是一个Web应用!
  • Web资源不能直接被虚拟主机所管理,必须组织成Web应用才可以

2.如何组织Web应用的目录结构

news(文件夹)
	|
	| -- 除WEB-INF以外的目录下:html/css/js/jjsp..这些文件可以直接被浏览器访问
	| -- WEB-INF (特殊的目录) 放在这个目录中的资源文件不能直接被浏览器访问
			|
			| -- classes 目录
			| -- lib 目录
			| -- web.xml 文件

3.如何部署Web应用到虚拟机主机中

  • 只需要将Web应用的目录拷贝到虚拟主机管理的目录下就可以完成发布!
  • 比如:现有localhost主机,默认管理的目录为webapps目录下,就可以通过localhost主机来访问news中的web资源了
    http://localhost:8080/news/1.html
    

4.配置缺省的Web应用

  • 将Web应用的名称改为大写的ROOT,当前Web应用就是一个缺省的Web应用
  • 访问地址:
配置前:http://localhost:8080/news/1.html
配置后:http://localhost:8080/1.html

5.配置Web应用的主页

  • 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">
</web-app>
  • 配置方式:在当前Web应用的 WEB-INF/web.xml 文件中的根标签内部,添加如下配置:
    <welcome-file-list>
    		<welcome-file>1.html</welcome-file>
    <welcome-file-list>
    
  • 访问地址:
    配置前:http://localhost:8080/1.html
    配置后:http://localhost:8080
    

四.虚拟主机相关配置

1.什么是虚拟主机

  • 所谓的虚拟主机其实就是tomcat服务器中配置的一个站点(比如百度/新浪),用户在访问时就感觉好像是访问一台独立的主机一样,因此我们称之为这两个站点,是运行在tomcat服务器模拟出来的两台虚拟主机。
  • tomcat服务器中科院配置多个站点,每一个站点都是一台虚拟主机!

2.如何配置一台虚拟主机

  • 在[tomcat安装目录]/conf/server.xml 文件中的Host标签的下面添加一个新的 Host 标签,配置如下:
    <Host name="bai" appBase="baidu"></Host>
    
    • name属性用于指定主机名称,将来通过浏览器来访问这个主机
    • appBase用于指定虚拟主机默认管理的目录,将来可以将Web用于放在这个目录中,就可以部署Web应用到当前主机中了
  • 配置完后还要到 hosts 文件中或者是 DNS 服务器中,添加域名和IP的映射关系:
    127.0.0.1 bai
    
    • hosts 文件的位置:
      C:\Windows\System32\drivers\etc\hosts
      

3.如何配置缺省的(默认的)虚拟主机

  • 现在 tomcat服务器中有两个主机:分别是 localhost和bai,对应的IP地址都是:127.0.0.1
    如果通过主机名访问的话,就是访问对应的主机
    localhost:127.0.0.1
    bai:127.0.0.1
    
  • 但是通过127.0.0.1来访问,服务器也不知道浏览器访问的是哪一个虚拟主机,这时就会去访问默认的虚拟主机
    • 默认的主机配置在 server.xml 文件的Engine标签上,如下:
      <Engine name="Catalina" defaultHost="localhost">
      
    • 可以修改 defaultHost属性值,来修改默认的虚拟主机

五.打war包

1.为什么要打war包

  • war包其实就是一个压缩包,后缀名为war,压缩之后体积更小,便于传输和远处部署
  • war包能够被服务器识别,发布到服务器的指定目录下,能够自动解压发布。

2.如何打war包

  1. 先进入到web应用的根目录,利用系统自带的压缩工具,将Web应用根目录下所有文件及文件夹打成一个xxx.zip包

  2. 将xxx.zip包的后缀名改为war既可

  3. 将xxx.war发布到虚拟主机默认管理的目录下(webapps)

    注意的细节:
    a、web应用下的文件和目录名称不能是中文的,否则不会自动解压发布
    b、使用压缩工具打包时,先打成一个zip包,别的压缩格式可能会导致失败!
    c、自己配置的虚拟主机不一定能识别war包,所以可能不会自动解压发布

HTTP协议

一、什么是HTTP协议

HTTP协议:规定了浏览器客户端和服务器之间通信的方式
规定了浏览器该如何给服务器发送请求信息
也规定了服务器该如何给浏览器做响应信息

二、三个基本原则

  • 基于请求响应模型
  • 一次请求对应一次响应
  • 请求只能右客户端发出,服务器端只能被动的等待请求,做出回应

三、HTTP协议的详解

  1. HTTP请求

    1. 请求行
      GET /news/1.html HTTP/1.1
      GET: 表示提交方式,HTTP协议中一共有7中提交方式,只用GET和POST
      /news/1.html: 指定请求资源的路径
      HTTP/1.1: 协议和版本
    2. 若干请求头
      host : localhost – 告诉服务器浏览器访问的是哪一台虚拟主机
      cookie : 和cookie技术相关的头
      Referer : 和防盗链相关的头,记录当前请求来自哪一个页面的超链接

    (空白行)

    1. 请求实体内容
      如果请求方式为POST提交并且请求中携带了数据,实体才会有内容
      如果请求方式为GET提交,请求实体内容是空的
  • GET提交和POST提交的区别
    主要是体现在请求参数传输过程的不同
    1. GET提交时通过地址栏url后面拼接参数将数据提交给服务器,相对不安全
    2. GET提交通过地址栏提交参数给服务器,数据量不能太大(不超过1KB或者4KB)
    3. POST提交是通过请求实体内容将数据提交给服务器,不会显示在地址栏,相对更安全
    4. POST提交的数据量理论上没有限制。
  1. HTTP响应

    1. 状态行
      HTTP/1.1 200 OK
      HTTP/1.1 : 协议和版本
      200 : 状态码,三位的整数,表示服务器对请求处理的结果
      	200:表示请求处理成功
      	302:和重定向相关的头
      	404:客户端请求的资源不存在
      	500:服务端在处理请求的过程出现了错误
      OK : 描述短语
      
    2. 若干响应头
    Content-Type: text/html;image/png -- 响应的数据类型
    Content-Length: 80 --响应的数据长度
    Set-Cookie: 后面介绍
    Refresh: 和定时刷新相关的头,比如:注册成功提示3秒之后跳转到首页就是一个定时刷新操作
    

    (空白行)

    1. 响应实体内容
      就是所请求资源文件的内容
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值