随笔分类 - Technology
摘要:一、spring及ibatis的简介 关于spring和ibatis的介绍在这里就不多说了,具体的简介及应用可以参考我前面的两篇文章:《ibatis的简介与初步搭建应用》,《spring的简介与初步搭建应用》,这里主要结合两者,搭建起集成环境,并演示简单的实例应用。二、集成环境的搭建下图是我的搭建图 (一)、Dao层搭建 这里Dao层的搭建就是指Dao层接口,即Mapper接口的创建,和我《ibatis的简介与初步搭建应用》这篇文章里的是相同的,你也可以参考那里面的:1. 表结构的创建,SQL如下:CREATE TABLE goods ( id int(11) NOT NULL DEFAU..
阅读全文
摘要:一、spring的简介 spring是什么东西就不介绍了,自己去找谷老师。二、spring的下载 最新的稳定spring3.1.0版本,下载地址:http://www.springsource.org/download/,最好下载“with docs”的版本,其中包括了spring API及帮助文档,这些文档对学习spring是很有用的,我的第一个简单示例就是参照文档搭建起来的。三、简单的示例应用(使用xml的格式定义bean)下图是我的搭建图,readMe.txt是本人的自己添加的说明文档,没有这个文档没关系。1. 接口及实现类的编写接口:package com.kane.csdn.inte
阅读全文
摘要:一、ibatis的简介ibatis是什么东西就不介绍了,自己去找谷老师。这里讲下自己的使用体会。之前自己学过Hibernate,是看尚学堂的视频教学的,看完以后发现Hibernate体系中的内容真的很多,什么N-N关联、HSQL、缓存管理等等,看得我真的很晕,想要一时间掌握还真不可能,反正我现在也不是特别明白。后来新的公司是用ibatis,所以自己回去研究了下,结果发现ibatis真的很简单,体系结构相比Hibernate易化多了。在自己搭建了一个简单的示例后,体会更深,一个ibatis的配置文件、domain对象及其SQLMapper即可搞定,而且在SQLMapper中你只要专注与你的SQL
阅读全文
摘要:MVC框架之—Struts原理简介与简单开发流程部署Struts原理简介: Struts 是一组相互协作的类、servlet 和 JSP 标记,它们组成一个可重用的 MVC 2 设计。这个定义表示 Struts 是一个框架,而不是一个库,但 Struts 也包含了丰富的标记库和独立于该框架工作的实用程序类。下图显示了 Struts 框架的一个概览。Client browser(客户浏览器) 来自客户浏览器的每个 HTTP 请求创建一个事件。Web 容器将用一个 HTTP 响应作出响应。 Controller(控制器) 控制器接收来自浏览器的请求,并决定将这个请求发往何处。就 Struts 而.
阅读全文
摘要:数据字典表——存储Web页面的常用数据信息问题:在平时的Web应用中,我们经常会看到一些单选的下拉列表,比如:用户注册时的密码保护问题下拉框、入学年份下拉框等等许多。这些下拉列表的内容经常会改变,比如说修改了一个密保问题、添加了一个入学年份等等。如果所在html页面中添加或修改一个<option></option>的话,这就修改了代码,违背了扩展原则,所以直接修改代码是不可取的。既然内容是可变的、可修改的,那么就应该考虑将这些信息存放到数据库中。这样的话,要想修改或添加内容直接在数据库中做,这样就不用修改页面代码了。解决思路:既然让那些存放到数据库中,那么怎么设计表呢?
阅读全文
摘要:数据库的ID自增字段代码生成器——解决不同数据库自增字段的差异机制问题:在设计数据库字段时,有时需要一个int型的id主键,让它能自动递增,每次插入一条数据,它都能够自动增1或者规定的自增数n。对于特定的数据库,要实现这个很简单,比如mysql是用auto_increment,Sql Server是用identity。但是如果在代码中使用和特定数据库有关的特性,那么代码就不能移植,比如把数据库从mysql换成sql server,那么代码就要更改,就不能实现移植扩展。解决思路:既然要实现代码的移植扩展,就不能使用和数据库相关的特性,那该怎么办呢?这就是本篇要介绍的ID生成器。思路是这样的:在数
阅读全文
摘要:面向接口编程在Java web 三层架构的应用与使用工厂模式解决问题为什么要面向接口编程:在应用中,我们一般都是面向接口编程的,这样有利于系统的扩展与移植。就像Java Web中的三层架构:展现层、业务逻辑层、数据持久层一样,上层都是调用下层的接口。因为一旦下层实现改变:比如持久层从数据库操作更换为文件操作,上层因为调用下层的接口而不用更改任何代码,利于系统扩展与移植。面向接口编程的思路要点: 举一个例子,现在要添加一个用户,数据持久层接口如下所示:package kane;import java.util.List;import kane.UserInfo;/** * UserInfoDao
阅读全文
摘要:为什么采用filter实现了字符集的统一编码 问题: 为什么会有字符集编码的问题呢?对于Java Web应用,使用Tomcat容器获取和传递的参数(request.getParameter())默认是iso8859-1编码格式,所以即使我们在页面统一使用中文编码GB2312,在request.getParameter()取得的参数仍会有乱码。 因此我们要对Tomcat获取的参数进行编码转换,采用request.setCharacterEncoding()与response.setCharacterEncoding()会使得获取的参数与返回的结果和页面的(比如是GB2312)编码一致,这样就可以
阅读全文
摘要:JavaScript是用于页面交互的一种技术,它能控制页面元素并进行操作。下面接单的介绍checkbox的一些常用。我们以下图为例: 用户可以对其中的记录进行修改和删除,但是修改只能选中一条记录,而删除则可以对多条记录进行。这就要用到javaScript页面交互。 以响应修改事件函数为例,代码如下: function modify () { //遍历所有的checkbox选项 var a = document.getElementsByName("selectFlag"); var flag = 0; var index = 0; for(var i=0;i<a.le
阅读全文
摘要:什么是Dom4j及其初级使用方法(一)什么是Dom4j?Dom4j是Document for Java的简称,是用java解析dom文档的组件。在绝大多数应用中,都会需要配置文件。比如要将数据库从mysql改为oracle,使用配置文件会很方便,而不需要修改代码,所以解析配置文件、读取信息也是代码的一部分。如今有很多种解析xml文件的方式:DOM、SAX、JDom、Dom4j等等。其中最优秀、使用最广的就是Dom4j。著名的Hibernate框架也是使用这的,Sun官方也是使用Dom4j的。关于上面四者的介绍与优缺点可参考:http://qqwyy.javaeye.com/blog/15022
阅读全文
摘要:分页技术原理与实现(三)——无刷新的Ajax分页技术 紧接着上篇—分页技术原理与实现(二)——Java+Oracle实现,本篇继续分析分页技术。上篇讲的是分页技术的代码实现,这篇继续分析一下分页技术的效果控制。 上篇已经用代码简单的实现了一个分页。但是我们都看到,代码中每次通过servlet请求取得结果集后,都会转向到一个jsp页面显示结果,这样每次查询页面都会刷新一下,比如查询出现结果集后要查看第三页,页面就会刷新一下。这样页面给人的效果感觉就会有点不舒服,所以我们希望能够在通过条件查询结果集后无论访问哪一页,页面都不会刷新,而只是结果集变化。要解决这个,我想大家很容易就会想到Ajax了。.
阅读全文
摘要:分页技术原理与实现(二)——Java+Oracle代码实现 紧接着上篇—分页技术原理与实现(一)——为什么要进行分页及怎么分页,本篇继续分析分页技术。上篇讲的是分页技术的简单原理与介绍,这篇深入分析一下分页技术的代码实现。 上篇最后讲到了分页的最佳实现是在数据库层进行分页,而且不同的数据库有不同的分页实现,比如Oracle是用三层sql嵌套实现分页的、MySql是用limit关键字实现的(上篇已讲到)。 这篇以Java+Oracle为基础,讲解代码层的实现。 就如平时我们很在分页中看到的,分页的时候返回的不仅包括查询的结果集(List),而且还包括总的页数(pageNum)、当前第几页(pag
阅读全文
摘要:分页技术原理与实现(一)——为什么要进行分页及怎么分页什么是分页技术分页,是一种将所有数据分段展示给用户的技术.用户每次看到的不是全部数据,而是其中的一部分,如果在其中没有找到自习自己想要的内容,用户可以通过制定页码或是翻页的方式转换可见内容,直到找到自己想要的内容为止.其实这和我们阅读书籍很类似.下页显示了两种常见的分页方式:分页的意义分页确实有效,但它一定会加大系统的复杂度,但可否不分页呢?如果数据量少的话当然可以.但是对于企业信息系统来说数据量不会限制在一个小范围内.如果不顾一切的Select * from某个表,再将返回的数据一古脑的扔给客户,即使客户能够忍受成千上万足够让人眼花缭乱的
阅读全文
摘要:一般在用Servlet处理表单元素时,表单元素都是一些简单的文本,Servlet很容易用Request.getParameter()就可以处理。但是当表单不止包含一些简单的文本,比如有上传文件域时,Servlet直接从HttpServletRequest对象中解析出复合表单的每一个子部分仍然是一项非常复杂的工作. 为了简化对“multipart/form-data”类型数据的处理过程,可以采用相应的组件进行处理,这样可以节省很大的编码、支持重用,效率也挺高。 对于Java的组件也有一些:FileUpload、SmartUpload和Cos等等,本文就以Apache的FileUpload讲解一.
阅读全文
摘要:整数划分问题及其算法一、问题描述整数划分问题是将一个正整数n拆成一组数连加并等于n的形式,且这组数中的最大加数不大于n。如整数的6划分为:65 + 14 + 2, 4 + 1 + 13 + 3, 3 + 2 + 1, 3 + 1 + 1 + 12 + 2 + 2, 2 + 2 + 1 + 1, 2 + 1 + 1 + 1 + 11 + 1 + 1 + 1 + 1 + 1共11种。二、算法描述下面通过递归方法得到一个正整数的划分数。 递归函数的声明为 int split(int n, int m);其中n为要划分的正整数,m是划分中的最大加数(当m > n时,最大加数为n),Ⅰ.当n =
阅读全文