专用学习笔记

板块更名了~

板块更名了~

板块更名了~

 

 

程序详情以及github见项目相关主页~

1、SQL进阶操作:http://www.cnblogs.com/fangyz/p/5348111.html

2、js里面有个叫argument的对象,这东西有点刷新我的价值观,6的不行

   来源地址:http://www.cnblogs.com/xdotnet/archive/2007/04/11/javascript_object_arguments.html

3、单例模式的应用:http://blog.csdn.net/yong199105140/article/details/8425781 

4、JS提交servlet :http://blog.sina.com.cn/s/blog_5c050cd20101jbe7.html

5、表单隐藏域的应用:http://for-dream.iteye.com/blog/1570279

    感想:隐藏域的用处有点巧妙吧,虽然可能拖慢一点的网页加载速度,但是在数据传递上还是有点作用的,虽然

     不知道这样说对不对,但是这是我的感想吧。

            另外还有个iframe,这东西我看网上也很多人提,但是没具体使用过,还未能有感想。哈哈~

6、Ajax调用Servlet:http://blog.csdn.net/xiaxiaorui2003/article/details/4083194

   补充:Ajax的JS方法(创建xmlHttp对象):http://blog.csdn.net/indexchen/article/details/543209

     感想:在Serlvet框架下避免每次提交后都要刷新就要用到Ajax,有了这个技术虽然又会衍生出要解决重复提交的问题,

     但是在用户交互上就给人一种畅快感,在体验上也可以给人一种流畅性的体现。虽然整个网页的加载量也不大,

     但是流畅性体验给用户的感觉是直观的,用户追求的是时效性和流畅性以及性能(这个暂时谈不上~数据量不大)

     ,所以在mini web app上做好流畅性的体验为将来做大型应用的时候打下基础。

7、正则表达式验证用户输入:http://www.jb51.net/article/72041.htm

  感想:正则表达是这个东西给我的感觉非常非常非常的赞,因为只是几个特殊字符和英文的组合就能判断输入的格式,

     比起以前C语言一直在用if-else判断来的直观许多,但是正则表达式的设计上我感觉有点奇怪,看了好几次那些

     符号的意义还是没能匹配到想要的字段,虽然网上都有正则表达式的模板,但是有的时候网上没有想要的模板的

     时候还是要自己设计的,所以我也会尽快弄懂正则表达式的设计方式。

8、(github)在提交这次web应用的时候发现git bash会报一个warnning 

  warning: LF will be replaced by CRLF
  
解决方法:命令行中敲入 :git config --global core.autocrlf false

9、foreach的用法:http://www.cnblogs.com/mingforyou/archive/2011/11/01/2231953.html

   感想:个人在用法感觉可以用在不确定长度的数组或者list上,如果确定长度话,我觉得还是用回普通的for,毕竟比较直观。

          foreach在不懂其结构下,有点晦涩难懂,运用多了才有一点的感觉。

10、Array的排序:http://www.cnblogs.com/xudong-bupt/p/3168618.html

  java数组的其他排序方式:http://blog.csdn.net/fengyifei11228/article/details/2623980

  感想:这个是在看foreach用法的时候无意中看见一个sort方法然后才发现的,因为大二在学习java中比较少接触到java的数据结构,

     而且也没怎么看过java array的排序,想着应该和C语言的排序方式一样,所以没有深入研究。直到现在发现java有个array类

     的sort方法可以排序。更重要的是,大一学了一年的C语言和C语言的数据结构,现在才发现原来C语言有排序的库函数,想当

     初还屁颠屁颠背那个几个排序算法。虽然现在应用少,但是至少当时没有挂掉数据结构哈哈~,不过这次也算是个意外的收获~

     惯例附上个C语言排序库函数的例子吧:http://blog.163.com/yuhua_kui/blog/static/9679964420142195442766/

11、Hibernate增删改查:http://blog.csdn.net/jiuqiyuliang/article/details/39078749(增删改查全部弄好了) (这个和复利计算暂时没啥关系哈~)

   PS:内置方法的个别区别:http://www.cnblogs.com/chanedi/articles/2106024.html  http://www.iteye.com/problems/5761

  (2016-04-12~04-13)感想:研究了一下午的Hibernate,晚上终于做出来了查询,修改有点问题,一直跳转不到那个servlet里面的修改函数,明天继续看看。

  Hibernate的架设还是比较简单,很多东西都不用自己去配置,只要自己去写service下的接口和实现类,以及servlet还有网页代码。 

  其余的事情都可以交个Hibernate本身去做,虽然有些地方和我看的教程不一样,但是都可以通过自己的研究来解决这些问题。

  之前在网上查的很多资料发现很多实例都是整合了Struts2,但是hibernate还没消化完的我,只能寻找一些纯Hibernate的例子来

  练练手。

  (2016-04-14)感想:折腾了两天的hibernate的增删改查,也是弄的醉醉了,查询和删除都很顺利。但是昨天被更新模块搞的心烦意乱的,折腾一晚上最后才查出来是对象为空,

  因为报错的一直都在 tCompounding.setMoney(FMoney) 一开始还纳闷为什么set方法有问题,后来查着查着发现对象没有实例化,只是被一个参数实例化以后,便被

  置空了。后来多了判断以后实例话以后又出问题了。这个跟映射文件的id值的class有关,数据设置了自动递增,更新的数据都会自动更新到最后一个的后面。。。(莫名其妙的插入)

  后来改了个属性以后就好了。插入比更新简单,很快就弄完。主要是更新那块,居然反了个很不起眼的小错误,自己也没发现没有实例化那个对象。不过这样也能更加透彻的让我了解

  hibernate的工作流程吧。不过真的真的不要依赖myeclipse的hibernate自动配置,真的有毒...Dao层的基本都没有开启事务就执行事务,需要自己去创建个session工厂对象然后去

  getSession然后才能连到数据库。最好能自己写,不然。。真的改的地方有点多。。。  

  

  注意:Hibernate DAO层的自带delete函数有点问题,需要自己手动去获取Session然后提交事务 (真的真的不要全部相信自动化配置,有点毒,耽搁了大半个中午..)

public void delete(TCompounding persistentInstance) {
        session = HibernateSessionFactory.getSession();
        log.debug("deleting TCompounding instance");
        try {
            TS = session.beginTransaction();
            session.delete(persistentInstance);
            //getSession().delete(persistentInstance);  //本来只有这一句的,结果一开始调试死活都没反应..找了好多资料才知道怎么回事.
            log.debug("delete successful");
            System.out.println("delete success");
        } catch (RuntimeException re) 
        {
            //if(TS!=null) TS.rollback();
            log.error("delete failed", re);
            System.out.println("failed");
            throw re;
        }finally
        {
            TS.commit();
            session.close();
        }
        System.out.println(log);
    }

 

 

 

 

  实验效果图:

  

  代码构成图:

   

  分享下几个HQL语句:http://www.cnblogs.com/focusChen/articles/2401892.html  http://www.cnblogs.com/hongten/archive/2011/06/19/2084696.html 

 

  最终效果图:
  (查表后~)

   

  (插入)

  

  (更新)

  

  (删除:就没有界面了哈~简单粗暴的直接删除,没有做交互窗口)

  

 

自己的示例:

   1、argument的应用:

     

     

     

   感想:因为复利计算做个了动态表格,然后想到客户可能需要删除或者修改某一行的数据,所以便有了这个需求从而进行一番研究,最后发现argument这个对象在js中可以接受来自jsp按钮传递的动态参数。

      这个对象的厉害之处在于,在javascript中,不需要明确指出参数名,就能访问它们。。。  

             碉堡了,碉堡了,碉堡了,有木有。。。

  

  2、隐藏域的应用:

  

  

 

  感想:隐藏域这个名词并不是第一次听说,见过很多次,但是这次是第一次应用。之前为了查找如何无刷新提交表单的时候,见到网上有人提议使用隐藏域提交,但是后来我隐藏域有点缺陷,所以开始学习Ajax。

      然而这次的用隐藏域是为了在按钮处直接提交,之前没用隐藏域提交的结果是在DataDeleteServlet下接受的值是空值,无法进行删除操作,所以我采用了隐藏域解决了这个问题。

 

 

  3、Ajax调用Servlet

  

     

         

  感想:Ajax的意思异步JS和XML,可以不用整个网页刷新只刷新局部。

     本次结对项目起初采用servlet技术的框架进行,可是servlet有个弊端就是提交数据以后要对页面进行刷新,从而导致原有页面的数据被清空。

     所以这次改进利用Ajax进行接收数据的任务,然后传到servlet进行数据库操作。

      不足:这次使用Ajax并没有使用jQuery而是采用js建立xmlhttp对象进行传递,没有jQuery来的简洁。

      原因是对于Jquery的语法还并不太深入,有些例子看不太懂,所以退而求其次,选择了js方向。

      关于:Ajax和Servlet的关系模式如下图显示:

     

 

  4、JQuery Ajax

          实现方式:待上传

 

          

 

posted @ 2016-04-07 11:02  23孙海林  阅读(506)  评论(9编辑  收藏  举报