A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李皓321 初级黑马   /  2018-5-27 16:20  /  564 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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中的监听器的使用:编写一个类实现监听器的接口:通过配置文件配置监听器




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马