1.sql 查出一张表中重复的所有记录数据
select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
2.Ajax 异步调用给全局变量赋值
async
默认是true,即为异步方式,$.Ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.Ajax里的success方法, 若要将其设置为false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成
才可以执行。
注意的是,ajax请求确实是异步的,不过这请求是由浏览器新开一个线程请求,当请求的状态变更时,如果先前已设置回调,这异步线程就产生状态变更事件放到 JavaScript引擎的处理队列中等待处理。
3.在一个JSP页面中包含另一个JSP页面的三种方式
(1)include指令
<%@ include file="Header.jsp"%>
jsp页面是把include指令元素(<%@ include
file=""%>)所指定的页面的实际内容(也就是代码段)加入到引入它的jsp页面中,合成一个文件后被jsp容器将它转化成servlet。
可以看到这时会产生一个临时class文件和一个servlet源文件。
(2)include标准动作
<jsp:include page=“Header.jsp”/>
而动作元素(<jsp:include
page=""/>)是在请求处理阶段引入的,会被JSP容器生成两个临时class文件和两个servlet文件。而引入的只是servlet
的输出结果,即JspWriter对象的输出结果,而不是jsp的源代码。
(3)采用JSTL
<c:import url="http://www.sina.com/index.html">
注意:采用前两种方式,只能包含当前web应用的界面, <c:import>可以包含容器之外的内容。
参考文章:
http://www.cnblogs.com/jams742003/archive/2009/07/30/1534774.html
4.javascript的回调函数
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给
另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外
的一方调用的,用于对该事件或条件进行响应。
因此,回调本质上是一种设计模式,并且jQuery(包括其他框架)的设计原则遵循了这个模式。
在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。
因此callback 不一定用于异步,一般同步(阻塞)的场景下也经常用到回调,比如要求执行某些操作后执行回调函数。
参考文章:
告诉你什么是javascript的回调函数
http://www.jb51.net/article/54750.htm