每日学习-动态数据交互

1.今日所学

动态数据交互
  • 封装的思路
    • 封装请求对象 request

      • 解析

      • 保存数据:请求的方法、请求路径、请求参数 MAP

      • 特殊的方法判断(get post)

    • 封装响应对象 respones

      • 保存数据:状态码、状态信息、文件类型、输出流

      • 写数据(方法):写响应行+写响应头+响应体(传参)

    • 封装java服务处理对象 servlet

      遵循JavaWeb开发规范

      • servlet接口(制定规则)抽象方法

        • service()

          根据请求方法类型来调用下面不同的方法处理

        • doGet()

        • doPost()

      • 以上所有的方法都有形参 request response

工厂模式

思想:将创建对象的工作交给工厂,调用工厂提供的方法获取对象实例

构建方式:

            - 创建一个类作为工厂,提供静态方法
            - 方法传参(参数作为标识)
            - 方法内部根据参数不同,来返回不同的对象
            - 通常这些对象都有共同的父类或者接口

工厂升级:使用Map数据结构

  • 结构:以键值对方式进行存储

  • 键Key:不能重复,可以是任何引用数据类型,这里使用字符串类型

  • 值Value:使用Servlet类型

  • 根据键获取值:map.get(key)

  • 添加元素:map.put(key,value)

  • 遍历:1.获取所有的key的集合 2.通过遍历key的集合来获取对应的value

请求带参数
  • HTTP请求常见方法类型

    • 地址栏 get

    • src(js/图片)

    • href(css/超链接)

    • 表单请求(默认get,可以修改成其他请求)

  • get  请求参数

    http://127.0.0.1:10086/login?acc=1001&pwd=123

  • post 请求参数位置

    请求头后空一行之后是请求体中

ajax技术
  • 含义:异步的js请求与后端交互

    • a异步请求 jjs aand xxml数据格式(被json替代)

  • 使用方式

    • js原生编写ajax十分繁琐,而且不通用

    • 使用jq封装ajax进行操作

  • jq ajax的格式

     $.ajax({
         url:"/login",					// 请求路径
         method:"get",					// 请求方法
         dataType:"text",				// 响应数据类型
         success:function(suc){			// 成功请求的回调函数
             console.log(suc)			// 成功后的回调信息
         },
         error:function(err){			// 失败请求的回调函数
             console.log(err)			// 失败后的回调信息	
         }	
     })

  • 接口标准

    • 响应码 200 404

    • 响应信息 msg

    • 响应的具体数据

扩展
1.Hash

hash(哈希) 这个此词在十分常见。在编程界中Java所使用的HashMap、python中的哈希表,包括加密和负载方面都能见到。它相当于贯穿了整个项目的周期。

hash是一系列的算法,它能给出在你输入任意长度后固定长度的输出。给出的哈希值分散的比较均匀,而且是单向的。无法通过哈希值推导出原始的数据。比如像是MD5SHA使用的就是Hash算法。

在之前的API文档日报时,在1.equals和==有什么区别(在个人笔记中,未上传)中曾提到过重写eqluas( )方法时也需要重写hashCode( )时介绍了hashCode( )方法,正好搬过来复用一下。

2.HashMap

在本日的课上正好说到了MAP(键值对)集合。那就先讲讲Map集合。

我们在使用之中无法直接new出MAP的对象。而是只能通过多态向上转型。是因为Map为接口是无法直接创建对象。

// 创建Map对象
Map<K , V> map = new HashMap<K , V>()
 K  ----> // key,键
 V  ----> // value,值
​
// 注:在Map之中一个键对应一个值,如果添加新值使用相同的键。则会覆盖掉Map之中原先键的值

HashMap是实现了Map接口的类。它的上层使用到了数组的形式存储相同的"键",下层则是对相应的键和值使用链表形式进行存储链接。是数组和链表的结合体,也就是我们俗称的哈希表。

简单的记录部分使用Map中常用的方法:

map.put(key , value)                // 存入键和键绑定的值,如果集合中有相同的键就为覆盖
map.get(key)                        // 通过指定的键获取值,如果没有这个键就返回NULL
map.containsValue(value);           // 如果值之中有指定value就返回true,如果没有则返回false
map.containsKey(key);               // 如果键之中有指定key就返回true,如果没有则返回false
map.remove(key)                     // 通过指定的键删除键值对元素
map.clear()                         // 清空整个集合

3.JavaWeb

        第一次刚接触的时候算是陷入了个误区,曾经没学习的深入时,一直以为JSPJavaWeb是一码事。知道后来时候发现,上课还是得好好上才行。在介绍JavaWeb之前先说一下JSP是啥玩意儿吧。

        JSP全称呼Java Server PagesSun Microsystems公司主导创建的一种动态网页技术标准。是属于JavaWeb的技术。它将页面逻辑与页面设计分离。是一种将后台数据转化后至前台页面的中间件,不算是一种完全的前端技术。

接下来正式进入JavaWeb的了解。

        JavaWeb是一种应用于开发 web 应用程序的技术框架。

        其中,web分为两个部分,分别是 web服务端web客户端 , Java在客户端的应用有 Java Applet ,在使用方面算是比较少见。在服务端的应用就特别的多,比如像是Servlet、JSP等等。

在web访问资源有两种:

        静态资源:

        在Web应用程序中,直接通过URL地址请求获取的静态文件,如HTML、CSS、JavaScript、图片等。

                优点

                        直接从服务器上获取,响应速度快。

                        内容不会发生改变,可以被缓存。

                        资源不依赖于服务器,可以被下载到本地离线使用。

                缺点

                        需要占用服务器的存储空间和带宽,增加了服务器的负担。

                        显示内容固定,无法根据用户的请求动态生成内容。

        动态资源:

        内容不固定,看用户请求啥就发啥。在这里就可以简单举个栗子,我们在课上所学的Servlet便是动态资源技术。

                优点

                        页面动态加载,每个用户看到的内容都不一样

                        可以与数据库进行交互,便于数据存储。

                缺点

                        假如出错,需要重新编写后再启动。

4.Tomcat

        这大脸猫算是之前学生生涯中最讨厌的一个玩意儿,在使用它的时候你永远不知道它会因为什么报错。有时候你甚至会因为你电脑关机了而导致无法正常启动。

这个玩意儿就是一个开源免费的Web应用服务器软件,目前最新版本是到11,在官网就可以下载

下载

目录下文件夹意思

        bin:存放可执行的二进制文件,.sh为linux下的执行命令,.bat是windows下的执行命令。

        conf:存放tomcat的配置文件。

        lib:存放tomcat需要的依赖包。

        logs:存放运行时产生的日志文件。

        temp:存放运行时产生的临时文件。

        webapps:应用程序包。

        work:存放运行时的编译后文件。

运行

bin文件夹

        批处理文件startup.bat,点击即可运行Tomcat。批处理文件shutdown.bat,点击即可关闭Tomcat。如何判断Tomcat是否运行成功?

在浏览器输入路径localhost:8080

        localhost也就是本地ip,Tomcat的默认端口就是8080。也就是说输入该路径,即可访问本地运行的Tomcat。

        如果运行成功,会出现一个官方提供的页面。如果运行失败,会无响应。

IDE开发工具自带Tomcat,使用上也算是比较爽的。不过目前为了学习还在使用eclipse。

2.总结

        终于到了心心念念的 ajax,之前学习阶段因为要参加比赛,没在课堂上学习到jQuery库以及如何使用此库封装好的 ajax ,再然后想通过自己百度去补一补结果没怎么看懂,说的好听叫做一知半解,真的去使用时大脑就一片空白。在本次使用 ajax 完成了jQ版本的mini管理系统,也算是了结自己曾经的心愿。虽然说现在好像用的都是 axios 来访问?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值