综合笔记

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

21.Struts 2中的setter方法,getter方法可以这么说,setter方法从外面接受值,getter方法用于外面从action中得到值。 
23.myeclipse 使用和汉化
24.将一个属性注入一个类,如果该类找不到那个属性,可能那个属性在父类。子类继承了父类。
25.

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 内幕》。

40.多对一保存:http://www.itzhai.com/hibernate-many-to-association-mapping-principle-mapping-method-and-data-preserved.html

41.多对一:http://wenku.baidu.com/link?url=l68GBa0corbkcPK-da_ay5FervbafSfAcYkAn9_Cs4ivZPFEqzwkivRbYtKtrVZz1s_4FA8ixeSEbmUYltvMc7ulTVs9eP2ibVVhlQpgghC

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虚拟机内存溢出了。

原文地址:https://www.cnblogs.com/lipengsheng-javaweb/p/4057490.html