黑马程序员技术交流社区
标题:
【石家庄校区】笔记
[打印本页]
作者:
李皓321
时间:
2018-5-27 16:20
标题:
【石家庄校区】笔记
MVC&事务
1
,获得字节码对象的三中方法:
通过类名.class方法获的
通过类的实例对象
2,Java中的内省技术:
概念:用来获得JavaBean的属性及属性的get或set方法.JavaBean:就是一个满足了特定格式的 Java类:
*需要提供无参数的构造方法:
* 属性私有
* 对私有的属性提供public的get/set方法.
3,JSP + Servlet + JavaBean 称为MVC的设计模式.
MVC:
M:Model:模型层
V:View:视图层
C:Controller:控制层
4,属性由get/set方法决定
5,MYSQL数据库事务是默认提交的,Qracle数据库事务默认是不自动提交的。
手动开启事务:
start transaction ---开启事务
多条sql:
commit/roolback
设置一个自动提交参数:
show variables like ‘%commit%’;----查看与commit相关参数
set autocommit=0;----将autocommit参数设置为OFF
6,事务的特性:
原子性:强调事务的不可分割性
一致性:强调的是事务的执行的前后,数据的完整性要保持一致
隔离性:一个事务的执行不应该受到其他事务的干扰
持久性:事务一旦结束(提交/回滚)数据就持久保存到了数据库
7,如果不考虑事务的隔离性就会引发一些安全性问题:
一类是读问题(重点)三种:
脏读:一个事务读到了另一个事务还没提交的数据
不可重复读:一个事务读到了另一个事务提交的update数据,导致在当前的事务中多次查询结果不一致
虚读/幻读:一个事务读到了另一个事务已经提交的insert的数据,导致在当前事务中多次查询结果不一致
二类是写问题:
引发两类丢失更新:
8,解决引发的读问题:
设置事务的隔离级别:
read uncommited : 未提交读,脏读不可重复读,虚读都有可能发生
read commited :已提交读,避免脏读,但不可重复读,虚读有可能发生
repeatable : 可重复读。避免脏读,不可重复读,但虚读有可能发生
aerializable: 串行化的,避免脏读,不可重复读,虚读的发生。
MYSQL隔离级别默认是 repeatable,
Oracle默认是read commited
9,EE开发的三层结构:
客户端层:HTML,CSS,JS,(之前是Java Applet)
WEB层:Servlet+JSP
业务层:EJB
持
久层:
异步AJax
异步AJax:
原生的JS写法实现
框架的
1,AJAX概述:
AJAX:异步的 JavaScript And Xml。
使用的是老技术,用的是新的思想
异步与同步区别:
AJAX的功能:完成页面的局部刷新,不中断用户的体验。
早期时候JS技术根本不受重视,后台开发人员经常将JS当成一种玩具语言。后来发现JS中有一个对象XMLHttpRequest对象 可以向服务器异步发送请求
2,XMLHttpRequest:
属性:
readyState :XMLHttpRequsest的状态:
0(未初始化):对象已建立未初始化
1(初始化):对象已建立,尚未调用send方法
2(发送数据):send方法 已调用,但是当前的状态及http头未知
3(数据传送中):已接受部分数据,因为响应及http头不全,这时通过resposeBode和responseText获取部分数据会出现错误。
4(完成):数据接受完毕,此时可以通过responseBody和responseText获取完整的回应数据。
onreadystatechage :当XMLHttpRequest状态改变的时候触发一个函数
status
responseText;
responseXML
方法:
open(请求方式,请求路径,是否异步):异步去向服务器发送请求
send(请求参数):发送请求
setRequestHeader(头信息,头的值):处理POST请求方式的中文问题
创建XMLHttpRequest对象:
IE:将XMLHttpRequest对象封装在一个ActtiveXObject组件
Firefox:直接就可以创建XMLHttpRequest对象。
3,JQuery的AJAX:
部分方法
JQ的对象.load(路径,参数,回调函数);
$.get(路径,参数,回调函数,数据类型);
$.post(路径,参数,回调函数,数据类型);
$.ajax();
serialize(); -- JQ的AJAX传递参数的时候需要使用的方法.
xml/json
1,AJAX的响应的数据:
文本,一段HTML的数据,XML,JSON
2,Json:
键值对形式,可以直接被Js识别
表示形式;
对象表示为 键值对
数据由逗号分隔
概述:
JSON的数据格式的介绍
{“id”:1,“name”:aaa}
[{"id":1,"name":aaa},{"id":2,"name":bbb}]
JSON的生成工具:
JSONLIB 转成JSON数据:
3,监听器Listener
概念:就是一个Java类,用来监听其他Java的状态的变化
用途:
用来监听其他的对象的变化
主要应用在图形化的界面中比较多
GUI,Android
术语:
事件源:指的是被监听的对象。(汽车)
监听器:指的是监听的对象。(报警器)
事件源与监听器的绑定:在汽车上安装报警器
事件:指的是事件源的改变。(踹汽车一脚)
WEB中的监听器:
WEB中的Listener和Filter是属于Servlet规范中的高级的技术
WEB中的监听器共有三类八种(监听三个域对象)
事件源:Servlet中的三个域对象。ServletContext,HttpSession,ServletRequest
监听器:自定义实现8个接口
事件源和监听器的绑定:配置。
WEB中的监听器分类(三类八中):
一类:监听三个域对象的创建和销毁的监听器
ServletContextListener
HttpSessionListener
ServletRequestListener
二类:监听三个域对象的属性变更的监听器(属性添加,移除,替换):
* ServletContextAttributeListener
* HttpSessionAttributeListener
* ServletRequestAttributeListener
三类:监听HttpSession中的JavaBean的状态改变(绑定,解除绑定,钝化,活化)
* HttpSessionBindingListener
* HttpSessionActivationListener
WEB中的监听器的使用:编写一个类实现监听器的接口:通过配置文件配置监听器
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2