黑马程序员技术交流社区
标题:
【石家庄校区】学习笔记(MVC,AJAX,JSON等)
[打印本页]
作者:
笑也要笑疯狂
时间:
2018-5-27 16:10
标题:
【石家庄校区】学习笔记(MVC,AJAX,JSON等)
本帖最后由 笑也要笑疯狂 于 2018-5-27 16:25 编辑
MVC
service获取表单元素的value时,该表单元素一定要写上value值.
超链接的href属性和onclick()事件同时使用时,一定将href属性href="#"注销掉,
否则,不执行onclick()时间,跳转到当前页面.
location.href="",超链接<a href="">和<form action="">跳转时,
location.href,<a>默认提交方式是get
form指定get或者post.
这就要求后台根据get或post进行处理.
ACID特性:
原子性,一致性,隔离性,持久性
隔离性导致的问题.
脏读:读到另一个事务未提交的数据
不可重复读:读到另一个事务提交的update数据,导致两次读到的数据不一致
虚读/幻读:读到另一个事务提交的insert数据,导致两次查询的数据不一致
增删改查和分页
int类型可以设置自动增长auto_increment
String类型需要手动设置其唯一性,可以使用UUID.randomUUID()或者UUID+时间戳的方式.
添加功能要防止表单重复提高,采用令牌机制.
表单提交会把隐藏的字段也提交.
被双引号引起来的${}表达式就不用再用单引号引起来了.(视情况而定)
"${pageContext.request.contextPath }/ProductFindByIdServlet?pid=${p.pid }"
"del('${p.pid}')"
分页SQL语句
select * from xxx where... group by... having... order by... limit ?,?;
AJAX
同步和异步的区别:
同步:一步一步顺序执行.(用户需要等待,页面全部刷新)
异步:同时进行.(不需要等待,页面局部刷新)
功能:完成页面局部刷新(通过XML/JSON)
XMLHttpRequest:
readystate:0-4 4请求发送成功.
onreadystatechange:状态改变时触发
status:响应状态.200成功,404失败...
responseTest:获得响应文本
responseXML:获得响应的XML
open(请求方式,请求路径,是否异步):异步向服务器发送请求
在js文件中把路径写活可以采用在jsp<script></script>中使用
var contextPath=${pageContext.request.contextPath}的方式.
send(请求参数):发送请求,传递参数
setRequestHeader(头信息,头的值):处理post请求方式的中文问题
创建XMLHttpRequest对象:
IE:ActiveXObject
Firefox:XMLHttpRequest
$("#form1").serialize();只要表单中有name属性,就获取其值,转换成json形式.
比如:$.get("路径",$("#form1").serialize(),function(){});
$.get(),$.post()不能定制,定制应采用$.ajax(),参数type:post/get,url,data,dataType:xml/text等,success,complete等
$.ajax()相当重要.!!!一定要会.
$ajax({
url:"",
type:"POST",
data:{
"":"",
"":""
};
success:function(){}
error:function(){}
complete:function(){}
});
异步操作步骤:
1.定义触发事件
2.获得参数
3.确定是哪个访问方法.($.get(),$.post(),$.ajax())
4.完善function()内的业务
5.写访问的servlet代码.
function createXMLHttp(){
var xmlHttp;
try{//Firefox,Opera 8.0+,Safari
xmlHttp=new XMLHttpRequest();
}catch(e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
}
}
}
return xmlHttp;
}
XStream:
xStream.alias("Area",Area.class)
xStream.toXML(area);
响应xml后,ajax接收包装成$(data)对象.再对文档进行操作.
特别提醒:解析标签最好一层一层的解析...
JSON和监听器
JSON
格式:对象表示为键值对;{}表示对象;[]表示数组;
JSONArray:转换数组和list
JSONObject:转换对象和map
fromObject()
JsonConfig
jsonConfig.setExcludes(new String[]{""}) 在json队形中去除某些属性.
注意:遇到[]数组就遍历$.each();
监听器:监听其他Java状态的变化.
事件源:被监听的对象
监听器:监听对象
事件源与监听器绑定
时间:事件源的改变
事件源:三个域对象(ServletContext,HttpSession,ServletRequest)
监听器:实现8个接口
事件源和监听器的绑定:配置
三类八种:
1.监听三个域对象的创建和销毁
2.监听三个域对象属性的变化
3.监听HttpSession中JavaBean状态的改变(绑定,解除绑定,活化,钝化)
ServletContextListener:监听ServletContext的创建和销毁.
web.xml配置:<listener>
<listener-class></listenner-class>
</listener>
企业中的应用:
1.加载框架的配置文件:Spring框架的ContextLoaderListener继承了ServletContextListener
2.定时任务调度:Timer的schedule方法,TimerTask
重要!!程序启动耗时的资源可以放在实现ServletContextListener监听器的类中.
HttpSession在访问JSP时会被创建(session是JSP的内置对象,肯定会调用getSession).
访问servlet和HTML时不会被创建.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2