javaweb概述

HTTP概述

  • 全称 HyperText Transfer Protocol 超文本传输协议
  • 请求/响应式
  • 特点
1
2
支持客户端eg浏览器

  • 请求方式get post

  • http1.0 每次只能处理一个http请求 影响网页的访问速度

  • http1.1 处理多请求和响应

  • 浏览器向服务器传送请求 = http请求消息

  • 服务器将处理后的数据发回给客户端(浏览器) = http响应消息

  • 统称http消息

HTTP请求消息

  • 请求行位于请求消息的第一行

    1
    2
    3
    4
    GET /index.html HTTP/1.1
    get 是请求方式
    后面接的是资源路径
    最后跟的是请求协议版本
  • http请求方式有八种

  • 常见的 两种是==get==和==post==

  • get方式获得的参数直接在url地址后面 但传输的数据量有限

    1
    2
    http://www.itcast.cn/javaForum?name=youjun&pwd=123
    网址后面跟问号 有多个信息则在信息间跟&
  • post方式传输的大小没有限制 且 更安全 实际开发用

  • 请求头在请求行之后

    1
    2
    3
    Host: localhost:8080
    格式
    请求头字段 冒号 空格 内容
  • 常用的请求头字段

    1
    2
    3
    4
    Accept-Charset 字符集
    Accept-Encoding 编码方式
    Accept-Language 返回的语言
    User-Agent 浏览器版本等浏览器信息

HTTP响应消息

  • 包括 响应状态行 响应消息头 和 实体内容

  • 响应状态行

    1
    2
    3
    HTTP/1.1 200 OK
    包括
    http版本 状态吗 对状态码的描述信息
  • 状态码

    1
    2
    3
    4
    5
    1xx 表示请求已经接受 需要继续处理
    2xx 表示请求已成功被服务器接受,理解,并接受
    3xx 为了完成请求 客户端需要进一步细化请求
    4xx 客户端的请求有错误
    5xx 服务器端出现错误
  • 常见状态码

    1
    2
    3
    4
    5
    200 表示服务器成功接受了客户端的请求
    302 表示请求的资源临时从不同的url响应请求
    304 表示客户端缓存的版本是最新的
    404 表示服务器找不到请求的资源
    500 表示服务器发生错误
  • 响应消息头略

Web应用的介绍和配置

  • Tomcat路径下目录

    1
    2
    3
    4
    bin 放可执行文件和脚本文件
    conf 放webxml和serverxml
    lib 放jar
    webapps web应用程序主要发布目录
  • 为什么startup.bat一闪而过

    1
    2
    端口被占用
    没有配置好jdk环境

Servlet基础

概述

  • 用java语言来编写动态资源的开发技术

servlet继承结构

sevlet接口

  1. init() 初始化
  2. service() 服务
  3. destroy() 销毁
  4. getServletConfig() 获取servletconfig对象,是容器向servlet传递参数的载体
  5. getServletInfo() 获取servlet相关信息

servlet的生命周期

  • 由Web容器(Tomcat)管理,经历三个阶段init→service→destroy

serializable接口

  • Java.IO包中的可序列化接口,用于标识作用

servletConfig接口

  • 用于封装tomcat初始化servlet时的配置信息

GenericServlet实现类

  • 为抽象类
  • 设计目的 与应用层协议解耦

HttpServlet类

  • 将service中的==servletrequest==和==servletresponse==转为==httpservletrequest==和==httpservletresponse==
  • 实际开发直接继承该类并重写doxx()方法

HttpServletRequest对象

  • 用于获取请求数组
  • 通过对request
  • 请求方式/url/协议版本

attention

  • get/post post在实体内容中返回 get的信息在链接uri后面生成
  • contain()方法匹配字符串
  • “hobit”.equals(key);

XML

  • 手机平板电脑等设备存储数据的格式不同,但它们之间可以用xml实现数据的交换

  • xml是Extensible Markup Language的缩写 是一种类似于html的标记语言 称为可拓展标记语言

  • xml是一种通用的数据交换格式

  • 与html的区别

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    1.
    html标记用来显示数据
    xml标记用来描述信息
    2.
    html不区分大小写
    xml严格区分
    3.
    html可以有很多根元素
    格式良好的xml只能有一个
    4.
    html中空格会自动过滤
    xml中空格不会自动删除
    5.
    html标记是预定义的
    xml是可随便定义的
    6.
    html中的属性可用可不用
    xml的属性必须放在引号里

xml语法

  • 在一个完整的xml文档中 必须包含一个xml文档声明
  • 命名规则
  • 注释的细节

DTD约束

简介

早期出现的xml约束模式语言,根据其语法文件创建的是DTD文件

DTD约束文档

  • 如下

引入DTD

  • 如下

DTD语法

  • 格式

    1
    <!ELEMENT 元素名称 >

Schema约束

  • 同前者 但功能更加强大 相应的语法也复杂很多

TOMCAT

安装

https://tomcat.apache.org/

启动

  1. bin目录里面找到startup.bat/ linux下使用startup.sh
  2. 打开浏览器 输入127.0.0.1:8080;

启动问题

  1. 未正确配置jdk
  2. 端口号修改
  3. startup乱码: 修改conf下的logging.properties,其所有utf-8改为GBK

关闭

  1. 点击bin目录内的shutdown.bat
  2. 在命令窗口输入ctrl+C
  3. 强制关闭 直接点x

配置

部署项目的方式

  1. 直接将项目放在tomcat的webapps下面
  2. 打开浏览器之后输入127.0.0.1/项目文件夹/项目
  3. 简化部署:将项目打包成war包 放置在webapps下面 会自动解压缩并且删除的时候会自动去掉源文件

标准访问格式

  • 协议://域名:端口/资源路径/资源名称

静态资源

  • 当用户多次访问这个资源时,其源代码永远不会改变
  • 会动的静态资源

动态资源

  • 当用户多次访问这个资源时,其源代码可能发生改变