本帖最后由 小石姐姐 于 2018-5-28 15:15 编辑
MVC-JDBC-AJAX
JSP的开发模式: JSP + Servlet + JavaBean 称为MVC的设计模式:
MVC:
M:Model:模型层
V:View:视图层
C:Controller:控制层
Java中的内省技术:
内省:用来获得JavaBean的属性及属性的get或set方法.
JavaBean:就是一个满足了特定格式的Java类:
需要提供无参数的构造方法:
属性私有
对私有的属性提供public的get/set方法.
事务的概述
MYSQL的事务管理有两种方式:(MYSQL数据库事务默认是自动提交的.Oracle数据库事务默认是不自动提交.)
1.手动开启事务
start transaction; -- 开启事务
多条sql;
commit/rollback;
2.设置一个自动提交参数
show variables like '%commit%'; -- 查看与commit相关参数.
set autocommit = 0; -- 将autocommit参数设置为OFF.
事务特性:
原子性:强调事务的不可分割.
一致性:强调的是事务的执行的前后,数据的完整性要保持一致.
隔离性:一个事务的执行不应该受到其他事务的干扰.
持久性:事务一旦结束(提交/回滚)数据就持久保持到了数据库.
如果不考虑事务的隔离性,引发一些安全性问题:
一类读问题:
脏读:一个事务读到另一个事务还没有提交的数据.
不可重复读:一个事务读到了另一个事务已经提交的update的数据,导致在当前的事务中多次查询结果不一致.
虚读/幻读 :一个事务读到另一个事务已经提交的insert的数据,导致在当前的事务中多次的查询结果不一致.
一类写问题:
引发两类丢失更新:
解决引发的读问题:
设置事务的隔离级别:
read uncommitted :未提交读.脏读,不可重复读,虚读都可能发生.
read committed :已提交读.避免脏读.但是不可重复读和虚读有可能发生.
repeatable read :可重复读.避免脏读,不可重复读.但是虚读有可能发生.
serializable :串行化的.避免脏读,不可重复读,虚读的发生.
JDBC的添加,修改,删除查询.
查询:
在首页点击查询:提交到Servlet--调用业务层--调用DAO
添加:
在首页点击添加:提交到添加的JSP.在JSP中输入一些信息.提交到Servlet.
在Servlet中接收参数,封装参数,调用业务层,调用DAO.
使用令牌机制完成重复提交的问题.
修改:
在列表页面中点击编辑:提交到Servlet.查询某个商品.显示到页面.
在页面中输入一些信息,点击确定.提交到修改的Servlet.
接收参数,封装,调用业务层,调用DAO.
删除:
在列表页面中点击删除:提交到Servlet.
在Servlet中接收id,调用业务层,调用DAO.
使用JS进行提示.
分页查询:
分页分类:
一次性查询几条记录.
一次性查询所有记录.对记录进行切分.
一次性查询几条:limit
封装一个分页的Bean:
提供参数:currPage,pageSize,totalCount,totalPage,List.
在业务层需要将PageBean进行封装.
AJAX:
AJAX:异步的JavaScript And XML.
AJAX的作用:
完成页面局部刷新而不影响用户的体验.
XMLHttpRequest:
属性:
onreadystatechange :当对象的状态改变的时候会触发.
readyState :记录的是对象的状态.
status :状态码.
responseText :响应文本.
responseXML :响应的XML.
方法:
open(“请求方式”,”请求路径”,true);
send(“请求参数”);
setRequestHeader(“头名称”,”头的值”);
JQuery中的AJAX:
load();
get();
post();
ajax();
$.ajax({
url:,
data:,
success:function(){
}
});
AJAX中的数据的格式:
文本,HTML代码,XML,JSON.
|