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 请求参数
-
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是一系列的算法,它能给出在你输入任意长度后固定长度的输出。给出的哈希值分散的比较均匀,而且是单向的。无法通过哈希值推导出原始的数据。比如像是MD5
和SHA
使用的就是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
第一次刚接触的时候算是陷入了个误区,曾经没学习的深入时,一直以为JSP
和JavaWeb
是一码事。知道后来时候发现,上课还是得好好上才行。在介绍JavaWeb
之前先说一下JSP是啥玩意儿吧。
JSP全称呼Java Server Pages是Sun 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 来访问?