JavaWeb基础Http&Tomcat

Tomcat&web

Tomcat

WEB

CS&BS 架构

C/S:client/server 客户端/服务器端
B/S:browser/server 浏览器/服务器端 必须有一个浏览器,例如:webqq、4399 小游戏

  • CS–BS

WEB 的简介

Web:网页,JavaWeb 使用 Java 开发 Web 网页
放在 Internet 上提供外界访问的文件称为 Web 资源,其中 Web 资源又可以分为:静态 Web 资源和动态 Web 资源。

  • 静态的 web 资源 HTML、CSS、JAVASCRIPT、JPG 等
  • 动态的 web 资源 Servlet/JSP JAVA 主要做后台的管理系统

静态资源和动态资源区别

访问 Web 资源

打开浏览器,输入 URL:
协议名://域名:端口/路径,
例如:http://www.jf.com:80/index.html

请求的 URL 地址

服务器的介绍

服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理, 因此一般来说服务器应具备承担服务并且保障服务的能力。
- 服务器的构成(一台没有显示器的电脑)

处理器
硬盘
内存等

  • 服务器要求

    处理能力
    稳定性
    可靠性
    安全性
    可扩展性
    可管理性等方面

  • 根据服务器提供的服务类型不同,分为文件服务器、数据库服务器、应用程序服务器、 WEB 服务器等。

  • 访问服务器资源

    访问要求:http://+ip+端口号 找到主机。如果有资源的文件,就可以访问了。\
    访问百度
    http://www.baidu.com/
    HTTP 协议默认端口号是 80,可以不写。

  • 如果想访问本机的服务器

    http://localhost:80
    http://127.0.0.1:80

  • 常见服务器

    WebLogicBEA 公司开发的(被 Oracle 收购了)收费的 支持 JAVAEE 所有的规范 (EJBservlet/jsp 规范)
    Tomcat apache(开源的组织,非常的伟大)只 Servlet/JSP 规范。免费的。

Tomcat 服务器

概述

  • Tomcat 服务器由 Apache 提供,开源免费。
  • 课程中使用 Tomcat7|8
  • Tomcat 安装方式

    安装版
    解压版(开发建议中使用):解压当前文件夹,目录不要有中文。无需安装,我们选择 解压版。

  • 准备工作

    在启动 Tomcat 之前,我们必须要配置环境变量: JAVA_HOME: 必 须 先 配 置 JAVA_HOME , 因 为 Tomcat 启 动 需 要 使 用 JDK; CATALANA_HOME:如果是安装版,那么还需要配置这个变量,这个变量用来指定 Tomcat 的安装路径,例如:F:\apache-tomcat-7.0.42。

启动

进入%CATALANA_HOME%\bin 目录,找到 startup.bat,双击即可;

关闭

进入%CATALANA_HOME%\bin 目录,找到 shutdown.bat,双击即可;

Tomcat 测试

注意先启动 Tomcat

  • 打开浏览器,在地址栏输入 http://localhost:8080/
  • 显示如下界面代表安装成功

Tomcat 服务器常见的启动问题

黑色窗口一闪而过

Tomcat,JDK 环境变量没配置好,请配置环境变量

添加 JAVA_HOME 环境变量

端口占用问题

  • 报错:java.net.BindException:Addressalreadyinuse:JVM_Bind
    端口被占用,解决:
    需要结束掉占用端口的应用程序。
    找到占用端口的应用程序。 通过命令 netstat –ano,在任务管理器中结束程序。
    修改端口号。
    修改配置文件了。 tomcat/conf/server.xml 配置文件

HTTP

HTTP 协议

HTTP 介绍

  • 超文本传输协议,客户端连上 web 服务器后,若想获得 web 服务器中的某个 web 资源, 需遵守一定的通讯格式,HTTP 协议用于定义客户端与 web 服务器通迅的格式
  • 基于请求和响应的模式(先有请求,后有响应)
  • 浏览器与 Web 服务器交互过程

HTTP协议的版本

HTTP 最早的版本是 0.9,于 1990 年被提出,后来,为了进一步完善 HTTP,先后在 1996 年 提出了版本 1.0,在 1997 年提出了 1.1,这里只对 1.0 和 1.1 进行介绍。

HTTP/1.0

  • HTTP1.0 有着明显的缺陷:

每次只能处理一个 HTTP 请求,导致客户端与服务端交互比较耗时
发送请求后,服务器做出响应,链接立即断开
- 1.0交互过程图

HTTP 请求消息

  • 请求消息:指的是客户端访问某个 URL 地址、单击网页的某个超链接或者提交网页上 的 form 表单时客户端给服务端发送的数据
  • 响应消息:服务器接收到请求数据后,会将处理后的数据回送给客户端,即 HTTP 响应
    消息。

  • 在 HTTP 消息中,处理服务端的响应实体内容(HTML 网页、图片等)以外,其它信息 对用户都是不可见的,想要观察这些数据,必须借助工具进行查看。

请求方式

POST 向指定的资源提交要被处理的数据数据,请 求服务器进行处理(提交表单或者上传文件)
GET 从指定的资源请求数据。请求获取 URI 所标 示的资源
HEAD 请求获取由 URI 所标识资源的响应消息头
OPTIONS 请求查询服务器的性能,或者查询与资源相 关的选项和需求
DELETE 请求服务器删除 URI 所 标识的资源
TRACE 请求服务器会送收到的请求信息,主要用于 测试或者诊断 PUT 将网页放置到指定 URL 位置(上传/移动)
CONNECT 保留将来使用

常用 POST 和 GET

  • 区别

GET 把参数列表显示在地址栏中,安全级别低,不支持大数据
POST 把参数封装在请求体中,安全级别高,支持大数据

  • 请求头

请求头主要用于向服务器传递附加消息,例如客户端可以接收的数据类型、压 缩方法、语言等。

请求头

Referer 浏览器通知服务器,当前请求来自何处。如果是直接访问,则不会有 这个头。常用于:防盗链 If-Modified-Since 浏览器通知服务器,本地缓存的最后变更时间。与另一个响应头组合 控制浏览器页面的缓存。
Cookie 与会话有关技术,用于存放浏览器缓存的 cookie 信息。
User-Agent 浏览器通知服务器,客户端浏览器与操作系统相关信息
Connection 保持连接状态。Keep-Alive 连接中,close 已关闭
Host 请求的服务器主机名
Content-Length 请求体的长度
Content-Type 如 果 是 POST 请 求 , 会 有 这 个 头 , 默 认 值 为 application/x-www-form-urlencoded,表示请求体内容使用 url 编码
Accept: 浏览器可支持的 MIME 类型。文件类型的一种描述方式。 MIME 格式:大类型/小类型[;参数] 例如: text/html ,html 文件 text/css,css 文件 text/javascript,js 文件 image/*,所有图片文件
Accept-Encoding 浏览器通知服务器,浏览器支持的数据压缩格式。如:GZIP 压缩
Accept-Language 浏览器通知服务器,浏览器支持的语言。各国语言(国际化 i18n)

请求体

  • 当请求方式是 post 的时,请求体会有请求的参数,格式如下:

username=李四&password=123456

  • 如果请求方式为 get,那么请求参数不会出现在请求体中,会拼接在 url 地址后面

http://localhost:8080…?username=zhangsan&password=123

响应

当服务器收到浏览器的请求后,会回送响应消息给客户端 上图中的 StatusCode 为状态码 500 表示请求失败,状态码由三位数字组成,状态码的第一 位数字定义了响应的类别,后面两位没有具体的分类,第一位数字有 5 种类型的取值,如下:
- 1xx:表示请求已接收,需要继续处理
- 2xx:表示请求已成功被服务器接收、理解并接收
- 3xx:为完成请求,客户端需要进一步细化请求
- 4xx:客户端的请求有错误
- 5xx:服务器出现错误

常见的状态码
  • 200 :请求成功处理,一切 OK
  • 302 :请求重定向
  • 304 :服务器端资源没有改动,通知客户端查找本地缓存
  • 404 :客户端访问资源不存在
  • 500 :服务器内部出错

常见响应头
Location 指定响应的路径,需要与状态码 302 配合使用,完成跳转。
Content-Type 响应正文的类型(MIME 类型) 取值:text/html;charset=UTF-8
Content-Disp osition 通过浏览器以下载方式解析正文 取值:attachment;filename=xx.zip
Set-Cookie 与会话相关技术。服务器向浏览器写入 cookie
Content-Enco ding 服务器使用的压缩格式 取值:gzip Content-leng th 响应正文的长度
Refresh 定时刷新,格式:秒数;url=路径。url 可省略,默认值为当前页。 取值:3;url=www.itcast.cn //三秒刷新页面到 www.itcast.cn
Server 指的是服务器名称,默认值:Apache-Coyote/1.1。可以通过 conf/server.xml 配置进行修改。

你可能感兴趣的:(Java)