综合笔记
1.jQuery中如果是对网页进行事件绑定,那么要等网页加载完,再执行绑定操作。因为加载完了,才能用$("**")找到它。
2.Java web 中采用的是面向接口编程思想。
3.
4.在事务(spring中的事务)方法中,对于SessionFactory.getCurrentSession()得到的Session或者用HibernateTemplate操作,我们不用管它的session的关闭,也不用管事务的开启和提交。如果要是SessionFactory.openSession()得到的session,那么我们就要手动关闭session,需要手动事务的开启和提交。如果设置了事务中用同一个session,那么事务就得用同一个session。
5.过滤IP:http://www.cnblogs.com/keepchange/archive/2011/07/02/2096374.html
6.网络编程:http://www.cnblogs.com/linjiqin/archive/2011/06/10/2077237.html
7.对于spring容器的注解,首先自己要得到要被注解,就是被spring容器管理,自己内部属性注解了,要能得到,就是是从spring中得到。
8.json:
var json = JSON.stringify(obj);
$.post("stockholder_save", {
json : json
}, function(data) {
if(data.msg){
alert("保存成功");
window.location.href="stockholder_list";
//window.location.reload();
}else{
alert("保存失败")
}
});
String json = request.getParameter("json");
JSONObject jsonobject = JSONObject.fromObject(json);
9.监听器:http://www.blogjava.net/rabbit/archive/2012/08/24/386170.html
10.ajax:http://www.cnblogs.com/tylerdonet/p/3520862.html
11.json:http://zhangbreeze.blog.163.com/blog/static/1638770782012349225193/
12.list 转json http://blog.csdn.net/encienqi/article/details/7840532
13.
14.EL表达式,详细见:http://baike.baidu.com/view/1488964.htm?fr=aladdin
15.ognl表达式和EL表达式。
值栈就是对象导航图,strut2中setter方法和getter方法就是对应设置值栈中的值和取得值栈中的值。
struts2中${值栈中的值(可以给出明确的导航,也可以不给明确的导航,那么它就会从栈顶搜索,搜索到然后返回)}是ognl表达式取得值栈中的值的另一种形式。EL表达式还是发挥以前的功能。ognl表达式取得值栈中的值是#root.....(#root可以省略),还有#request,#session,#application这些map类型的。ognl表达式要配合struts2标签使用。
16.http://blog.csdn.net/lifetragedy/article/details/9718567
17.struts2 中文乱码。http://www.360doc.com/content/08/0424/10/61497_1212275.shtml
18.json:http://www.cnblogs.com/undead/archive/2012/07/18/2594900.html
19.http://blog.sina.com.cn/s/blog_5920510a01011vu8.html
package junit.test;
class one{
public one(){
String str=this.getClass().getSuperclass().getSimpleName();
System.out.println(str);
}
}
class two extends one{
public two(){
System.out.println("two");
}
}
class three extends two{
public three(){
System.out.println("three");
}
}
public class TestOne {
public static void main(String args[]){
three te=new three();
}
}
26.http://blog.csdn.net/li_tengfei/article/details/6098145
27.http://09572.iteye.com/blog/1562734
28.
29.泛型类和泛型接口就好比是传参数一样。
30.mappedBy:http://blog.csdn.net/fxpbupt/article/details/5842714
31.多对一:http://blog.sina.com.cn/s/blog_76df7f2501010r4b.html
33.java开发的那点事
34.json格式的数据要转成bean,那么json中key值要与bean的属性名相同。
35.hibernate内连接:http://www.doc88.com/p-377887493785.html
36.hibernate:级联操作,http://winterit.blog.163.com/blog/static/13956405320101243152464/
37.hibernate连接查询,http://www.cnblogs.com/feiguo/p/3690601.html
38.$.ajax(),http://blog.sina.com.cn/s/blog_4f925fc30100la36.html
39.张孝祥的《深入Java web 内幕》。
42.级联删除:http://arthur-3726.iteye.com/blog/422877
43.对于有外键的表进行保存,更新操作的话,传统的,我们是只需要获得主表的主键,然后进行保存,更新操作,这时hibernate会检查外键表的添加的外键值是不是主表中的主键的一个。如果不是,那么会报错,如果是,操作成功。
但是如果外键表设置级联的话,如:save-update,all。那么对外键表进行保存,更新操作的话。它相当于操作了两个表,先是对主表进行操作(对于重复记录只操作一次),然后再来根据主表主键来操作外键表。所以如果规定主表有些字段不能为空,那么就要注意不为空的字段了。
44.对于主表(即被参照的表),进行保存,更新,删除操作的话,也可以设置级联操作,它们是通过外键建立关系的。如:save-update,delete,all。那么对它先进行保存,更新,删除操作,,然后它所关联的表也会进行相应的操作。
虽然设置了级联,但是进行保存,更新,删除操作,也可以不用带上从表,带上了从表,就得遵照从表的设计来操作,比如:从表有的字段不能为空,那么你就不能为空。
45.inverse和mappedBy是同一个东西,只是inverse是用于xml配置,而mappedBy则是用于注解中。 都是规定哪方是关系的维护者。
在xml中,inverse默认是false,即任何方都是关系的维护者。
多对一情况,一般将一方设置为inverse=true,就是只让多的那方来维护。他其情况,看情况来确定。
在注解里,默认是双方都是关系维护者,如果要放弃关系的维护者,则加上mappedBy="**"。
多对一情况,一般将一方设置为mappedBy="**",就是只让多的那方来维护。他其情况,看情况来确定。
46.http://www.cnblogs.com/shitianzeng/articles/2319094.html
47.http://www.cnblogs.com/hongten/archive/2011/06/19/2084696.html
48.http://www.cnblogs.com/focusChen/articles/2401892.html
49.http://www.cnblogs.com/hongten/archive/2011/06/19/2084696.html
50.分页类参考:
public class PageBean {
// 指定的或是页面参数
private int currentPage; // 当前页
private int pageSize; // 每页显示多少条
// 查询数据库
private int recordCount; // 总记录数
private List recordList; // 本页的数据列表
// 计算
private int pageCount; // 总页数
private int beginPageIndex; // 页码列表的开始索引(包含)
private int endPageIndex; // 页码列表的结束索引(包含)
/**
* 只接受前4个必要的属性,会自动的计算出其他3个属生的值
*
* @param currentPage
* @param pageSize
* @param recordCount
* @param recordList
*/
public PageBean(int currentPage, int pageSize, int recordCount, List recordList) {
this.currentPage = currentPage;
this.pageSize = pageSize;
this.recordCount = recordCount;
this.recordList = recordList;
// 计算总页码
pageCount = (recordCount + pageSize - 1) / pageSize;
// 计算 beginPageIndex 和 endPageIndex
// >> 总页数不多于10页,则全部显示
if (pageCount <= 10) {
beginPageIndex = 1;
endPageIndex = pageCount;
}
// >> 总页数多于10页,则显示当前页附近的共10个页码
else {
// 当前页附近的共10个页码(前4个 + 当前页 + 后5个)
beginPageIndex = currentPage - 4;
endPageIndex = currentPage + 5;
// 当前面的页码不足4个时,则显示前10个页码
if (beginPageIndex < 1) {
beginPageIndex = 1;
endPageIndex = 10;
}
// 当后面的页码不足5个时,则显示后10个页码
if (endPageIndex > pageCount) {
endPageIndex = pageCount;
beginPageIndex = pageCount - 10 + 1;
}
}
}
public List getRecordList() {
return recordList;
}
public void setRecordList(List recordList) {
this.recordList = recordList;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getRecordCount() {
return recordCount;
}
public void setRecordCount(int recordCount) {
this.recordCount = recordCount;
}
public int getBeginPageIndex() {
return beginPageIndex;
}
public void setBeginPageIndex(int beginPageIndex) {
this.beginPageIndex = beginPageIndex;
}
public int getEndPageIndex() {
return endPageIndex;
}
public void setEndPageIndex(int endPageIndex) {
this.endPageIndex = endPageIndex;
}
}
51.sql语句要加强训练。Linux操作系统命令,见网址:http://www.cnblogs.com/qq78292959/archive/2011/06/10/2077866.html,
http://www.cnblogs.com/tangbinblog/archive/2012/10/17/2727942.html
52.spring mvc 加强练习。
53.oracle sql语句练习,见网址:http://www.blogjava.net/lusm/archive/2007/06/27/126669.html
54.Eclipse安装SVN插件:http://www.cnblogs.com/ruiati/p/3584120.html
55.svn 客户端:http://www.cr173.com/soft/6040.html#address
56.Java 注解主要是三大块知识内容:java内置注解,java的元注解,java自定义注解,java自定义注解是静态设计的,而反射的逻辑代码才是真正的动态设计的。
57.我们计算机有内存,java虚拟机它也有内存,这个内存是可以设置大小,内存溢出就是指这个java虚拟机内存溢出了。