- 博客(56)
- 资源 (2)
- 收藏
- 关注
原创 spring4+hibernate3+struts2整合模板
每次写项目都是重新搭建框架,想着重新搭建就相当于复习一下吧,最近帮同学写一个类似贴吧的作业,为了省事最后还是搭建一个框架模板,以后有写项目就直接用。spring用的是spring的4.0版本,hibernate用的是4.0版本,struts2用的是2.3.16版本。本来想用hibernate的4.3版本,但整合spring4.0时出现了新的问题,时间紧就留着以后再研究吧。模板下载地
2013-12-27 22:25:22
2341
原创 遍历json返回的集合
今天遇到了json返回的list集合在前台遍历显示为undefined的问题,搞了半天终于搞定了,以前也遇到过这问题,不过误打误撞的通过建中间类的形式给解决了,不过建中间类很坑爹啊有不有,这里说一下解决方法。 我出现的问题是在前台遍历json返回的list集合,但结果只有第一条数据显示,其他的数据都显示undefined。原因是集合所保存的类和数据库的其他表之间有一对多或多对一的关系,
2013-09-29 16:30:22
2660
原创 spring aop浅析
spring最核心的也就属ioc和aop了,虽然知道ioc和aop的原理,但在项目中只用到了ioc,aop没用到,所以这里对aop进行一下总结。spring aop英文全名Aspect Orient Programming 也就是面向方面编程,它是对面向对象编程的一种补充,被专门用来处理系统中分布于各个模块中的交叉关注点的问题,例如在javaee应用中aop常被用来处理一些具有横切性质的系统级
2013-08-13 19:53:51
1177
原创 spring cvc-elt.1: Cannot find the declaration of element 'beans'
今天在写spring aop示例的时候,在spring.xml文件中添加spring aop的schema后出现红叉,spring配置文件如下:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:con
2013-08-13 17:03:29
29036
3
原创 Struts2源码初探
主要是对最新版本Struts2.3.1进行研究,之前从网上搜了一些文章,不过好些都是以前版本的,对比了一下最新版本的源码,最新版本对之前版本进行了重构,对比别人以前版本的文章还是能读懂的,现在让我们来看一下Struts2.3.1的源码。
2013-08-07 13:19:07
1023
原创 设计模式之桥模式(Bridge)
桥模式就是将抽象与其实现解耦,使他们可以分别独立的变化,这里所说的实现并不是我们所了解的派生类对抽象类的实现,桥模式中的抽象指的是抽象类及派生类,实现指的是这些抽象类及派生类实现自己的方式。桥模式也是继承关系的一种替代实现。
2013-08-05 15:51:06
851
原创 设计模式之装饰模式(Decorator)
装饰模式就是使用被装饰类的一个子类实例,在客户端将这个子类的实例委托给装饰类,装饰模式是继承关系的一个替代方案。装饰模式在java io、junit中有很好的应用。 我们来看一个彩铃的例子:某手机在设计时只有打电话的功能:Phone.java:package com.dxy.design.pattern.decorator;public class Phone {
2013-08-03 15:47:09
795
转载 spring ioc容器创建过程深入剖析
前言 本次对于Spring的IOC容器的创建过程是基于其源码进行研究分析的,主要涉及BeanFactory的创建过程,Bean的解析与注册过程,Bean实例化的过程以及诸如ClassPathXmlApplicationContext的IOC构建过程。IOC容器创建过程 在Spring中,三大核心组件Context、Bean以及Core中,Context将Bean和Core结合起
2013-08-03 10:27:33
965
原创 设计模式之模板方法模式(Template Method)
本来打算按照书上的讲的设计模式一个一个学下来,但是读spring源码的时候遇到模板方法模式,不懂,就提前先学一下。模板方法模式就是定义一个算法执行的骨架,而具体的算法被延迟到子类中去实现,在spring中很多地方都使用到了模板方法模式,比如spring的JdbcTemplate,spring的HibernateTemplate中都是用了模板方法模式。我们来看一个例子说明为什么要使用模板方法
2013-08-02 22:56:50
953
原创 设计模式之适配器模式(Adapter)
适配器模式就是将一个系统的接口转换成另一种形式,从而使原来不能直接调用的接口可以调用。 在上篇文章当中,我们提到了外观模式,外观模式为外系统的调用提供了一个统一的接口,以此来降低系统间的耦合度,那么我们来想一下这样的应用场景,假如有多个外系统要调用子系统的统一接口的某个方法,但是他们所需要的返回值又是不同的类型,比如说有的需要返回string类型,有的需要返回Map类型等,而如果针对每个外
2013-08-02 16:20:34
764
原创 设计模式之外观模式(Facade)
外观模式又称门面模式, 所谓外观,就是为子系统对外提供的一组接口提供一个统一的界面,使其他系统对该系统的访问都是通过这个统一界面来完成的。我们来看一个小例子:某系统有三个类A类、B类、C类,分别完成某项功能: package com.dxy.design.pattern.builder.facade;public class A { public static
2013-08-02 14:56:31
817
原创 设计模式之原型模式(Prototype)
原型模式就是通过一个原有的原型对象来表明要创建对象的类型,然后通过复制这个原型对象来创建同类型的对象。 当我们在写一个应用的时候,假如有一个对象,并且这个对象包含了一些有效值,而我们需要和该对象完全相同的新对象来做其他操作,这时我们就可以使用Prototype模式了,通过复制原有的对象,然后在复制后的对象上进行所需操作。我们看一个例子:
2013-08-02 11:36:14
772
原创 设计模式之创建者模式(Builder)
创建者模式就是将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示,而且客户端不用知道对象的构建细节 我们先来了解一下为什么要用创建者模式: 假如我们要组装一台摩托车,我们需要螺丝、螺母、轮胎、发动机等许多零件,这些零件有的有联系有的没联系,但最终都会组装到一台摩托车上,假如我们用工厂模式或抽象工厂模式来设计,那么很难进行工厂类的划分,即使我们划分好了工厂
2013-08-02 10:40:32
822
原创 为什么要用工厂模式
工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A(). 工厂模式也是用来创建实例对象的,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。类Sample为例,要创建Sample的实例对象:Sample sample=new Sample();可是,实际情况是,通常我们都要在创建sample实例时做点初始化的工作,
2013-06-02 16:04:17
2469
原创 spring+Mongodb简单整合
1、Mongodb概述Mongodb是面向文档的数据库,与关系型数据库有很大不同,它不能在表中存储数据,而是以文档的形式来存储数据,MongoDB 没有结构化语言。如果你想创建一个新的文档类型,你不用做任何事来告诉数据库关于这些数据的结构,而仅仅是存到数据库中即可。MongoDB 的 API 是 JSON 对象和 JavaScript 函数的本地混合物,所以mongodb的数据处理方式类似于j
2013-06-02 13:13:52
2165
原创 NIO浅析
1、NIO概述 java.nio是在jdk1.4中新引入的类库,nio是java new io的简称,其提供了高速的、面向块的 I/O,与面向流的io相比,面向块的操作明显比面向流的快许多,面向流的I/O系统一次一个字节或者一个字符的处理数据,输入流生产一个字节/字符的数据,输出流消耗一个字节/字符的数据,而面向块的I/O系统的处理则是每一个操作都在一步中产生或者消费一个数据块
2013-06-01 01:54:09
867
转载 集合系列--ArrayList实现详解
1. ArrayList概述: ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也
2013-05-31 12:23:46
818
原创 集合系列--TreeMap实现详解
1、TreeMap概述: 对于TreeMap,它采用的是被叫做“红黑树”的排序二叉树来保存Map中的每个Entry,每个Entry都被当做红黑树的一个节点来对待,而红黑树是一种自平衡查找二叉树,树种每个节点的值都大于或等于他的左子树中的所有节点的值,并小于等于他的右子树中所有节点的值,这可以使我们快速的查找和定位所需的节点。 2、TreeMap存储实现:既然TreeMap是
2013-05-31 11:07:09
1239
原创 集合系列--HashMap实现详解
1、HashMap特点 HashMap是基于哈希表的map接口的非同步实现,key不可重复,但value可以,其中key和value都可以为空,且此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2、HashMap的数据结构hashmap 是一个链表散列的数据结构,即数组和链表的结合体,对于是怎样结合,我们首先看一下hashmap 的源码: /
2013-05-30 21:17:46
987
原创 集合系列--集合框架总览
首先来看一下java集合类的关系图: 集合类的简化类图: java集合类主要由Collection和Map接口派生而出,Collection和Map接口是java集合框架的根接口,这两个接口又派生出了一些子接口或实现类,例如:Set和List接口是Collection 接口派生的子接口,Queue是java提供的队列实现。 对于Set、List、Map集合,最常见的
2013-05-30 19:44:55
1056
原创 一个小错误,记录一下
今天帮同学些一个用jsp和servlet写的网站,很小,只是为了再熟悉一下jsp和servlet写网站的流程,在用超链接链接到servlet的时候显示空白页面,后台也不报错,从网上搜了一下,有的说是因为frameset的问题,不过没解决,然后突然想起以前做的项目中遇到 超链接的请求是get请求,如果链接地址是servlet的话会调用servlet中的doGet方法,因为实现我都写在post里,一看
2013-05-19 21:53:38
695
原创 try catch finally执行顺序
浏览论坛的时候看到这样一个问题:package test;public class Test { public int inc() { int x; try { x = 1; return x; } catch (Exception e) { x = 2; return x; } finally { x = 3;
2013-05-05 09:41:12
2477
转载 hibernate和mybatis的比较
1.出身 hibernate 是当前最流行的o/r mapping框架,它出身于sf.net,现在已经成为jboss的一部分了。 ibatis 是另外一种优秀的o/r mapping框架,目前属于apache的一个子项目了。 2.原理 相对hibernate“o/r”而言,ibatis是一种“sql mapping”的orm实现。hibernate 对数据库结构提供了较为完整的
2013-04-20 18:19:40
927
原创 spring + struts2 + mybatis整合
我接触最多的java持久层的框架应该是hibernate了,但是看一些企业招聘好多都要求会mybatis,所以学习了并整合了一下。对于hibernate和mybatis的优缺点下片文章再细讲,我们先来整合。首先整合spring+struts2,引入他们的jar包,这里直接给出我引入所有包的图: 首先在web.xml文件中配置spring的监听器: org.springf
2013-04-20 15:23:14
3268
原创 spring+struts2+freemarker整合
废话就不多说了,直接上代码:addStudent.ftl文件: 河北大学校友会 $(document).ready(function() { $("#form1").validate({ rules : { "stu.name" : { required : true
2013-04-18 10:03:13
2122
1
转载 apache+tomcat集群配置
看起来不错,留着以后用本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。准备环境ApacheApache是http服务器,我们利用其对Tomcat进行负载均衡。目前最新版本为2.2.17,下载地址为http://httpd.apache.org/download.cgi#apa
2013-04-15 20:03:20
669
转载 freemarker静态化简单示例
1、介绍-FreeMarker是什么 模板引擎:一种基于模板的、用来生成输出文本的通用工具 基于Java的开发包和类库 2、介绍-FreeMarker能做什么 MVC框架中的View层组件 Html页面静态化 代码生成工具 CMS模板引擎 页面栏目动态定制3、介绍-为什么要用FreeMa
2013-04-11 09:02:47
1362
原创 循环一个字符串
昨天晚上一个网友和我说了一道题,关于某一个字符串如何循环,不知道自己的解的对不对,反正是循环出来了,不过应该很烂,贴出来求更好的答案。 "[{goodsId:'000X7',number:1,imgPath:'',skuNo:'000X700'},{goodsId:'00001',number:1,imgPath:'',skuNo:'0809001'},{goodsId:'0000Z',n
2013-04-11 08:38:49
1084
原创 ubuntu安装apache2
靠!!!安装一个这个花了我一下午的时间,悲哀啊。。。因为如过用apt-get的方法安装apache的话,鬼知道他吧文件给我安装到那了,所以所有的软件就手动安装吧,1、先去官网网上下载四个软件:apr-1.4.6.tar.gz、apr-util-1.5.1.tar.gz、pcre-8.21.tar.gz、httpd-2.4.4.tar.gz在网上下载最新的版本即可,如果直接安装htt
2013-03-21 17:58:54
1012
原创 设计模式之代理模式(Proxy)
所谓的代理模式,也就是指通过一个代理对象来代替原对象在不改变原来代码的基础上对某一对象进行额外的控制,从而更好的体现对象中的单一职责。但是对于静态代理来说,一个接口只能服务于一种类型,如果要代理方法很多的时候,则要为每一个方法定义接口。这样就要学习一下动态代理和反射机制。这里我们学习一下动态代理。 动态代理有两种方式:一、需要被代理类实现接口,jdk的动态代理就是这种方式二、通过继
2013-03-20 16:10:15
745
原创 远程ubuntu总结
一边玩一边学习终于把ubuntu怎么部署项目,怎么远程连接ubuntu、ftp、mysql、以及jdk、mysql、tomcat的安装及配置,基本上都实现了。现在说一下具体的步骤,关于jdk、mysql、tomcat的安装和配置就不细说了,请参考我之前的文章。 1、首先在ubuntu上安装ssh,一般在安装ubuntu系统的时候就安装了ssh,有的没有安装,通过:$sudo apt
2013-03-19 10:17:01
1236
原创 ubuntu下配置tomcat的虚拟目录
1、以前在window下配置过tomcat的虚拟目录,用了myeclipse以后虚拟目录也就没用了,因为myeclipse是默认的把项目加载到你tomcat的webapps目录下的,所以很长时间不配了。在网上查了一些方法,这里只说常用的一种。 1、首先在tomcat/conf/Catalina/localhost目录下创建一个.xml的文件,用于配置你tomcat的虚拟目录,eg:我的
2013-03-19 09:29:03
2369
原创 ubuntu配置tomcat可以远程访问80端口
由于是自己手动安装的tomcat,而且由于条件有限,并没有安装tomcat的server版,只用了桌面版,所以没有集成tomcat6和apache2,只有自己安装了,从网上搜了一些如何开启tomcat的80远程访问。1、网上说不是防火墙的问题,是要修改/etc/default/tomcat6文件中的authbind=yes,将其注释掉就好了,但是你的先让你的防火墙开放80端口吧,由于我使用
2013-03-18 09:48:20
3252
原创 ubuntu安装配置tomcat
1、现在tomcat官网下载.tar.gz文件,我下载的是apache-tomcat-7.0.37.tar.gz下载地址:http://tomcat.apache.org/download-70.cgi2、下载完成后将其放在/opt/tomcat目录下(tomcat是我自己创建的目录,也可以放在其他目录),终端进入到tomcat目录后用tar -zxvf apache-tomcat
2013-03-17 22:21:45
838
原创 ubuntu输入正确的密码而不能登陆
ubuntu输入正确的密码后不能登陆的问题。出现登陆界面后,选择用户名,输入密码,然后登陆画面消失,似乎要进入系统了;但很快,又出现了同样的用户登陆界面,再次选择用户名、输入密码,再次来到这个状态,形成一个死循环。如果我选择自己的用户名,输入错误的密码,或者随便输入一个不存在的用户名和密码,直接提示密码错误。从网上搜了一下,说是因为改了一些配置文件而导致登陆不进去,改回来就可以了,因为不能登陆
2013-03-17 21:34:49
4058
原创 ubuntu下安装jdk
首先去oracle官网上下载jdk-6u41-linux-i586.bin,因为官网上没有jdk7的bin文件,所以就继续用jdk6吧,下载网址:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html 下载时需要oracle的账号
2013-03-17 16:34:30
1113
原创 远程连接ubuntu下mysql数据库
1、先确定是否已经安装了mysql,如果没有安装,通过sudo apt-get install mysql-server mysql-client 安装,并检查mysql服务是否开启,通过sudo netstat -tab |grep mysql查看,如果没有开启的话则开启。2、然后检测你的防火墙是否开启了3306端口,通过sufo ufw status,查看防火墙的状态,如果没有的话则
2013-03-17 13:48:47
926
原创 ubuntu中修改mysql字符编码
1、首先先检查一下mysql服务是否已经启动,在终端输入 sudo netstat -tab |grep mysql,如果没启动则输入sudo /etc/init.d/mysql start或者sudo /etc/init.d/mysql restart中心启动。2、启动过通过mysql -u root -p进入到mysql的服务,通过命令show variables like 'c
2013-03-17 10:29:26
912
原创 lucene4.1多域查询简单示例
lucene3.x和之前版本有很大的变动,而lucene4.x版本和lucene3.x也有不小的区别,网上有好多文章,但是差不多都是3.x版本的,在这贴一段代码,从数据库读取数据后创建索引,然后根据前台的关键字进行查询。 //用于存放建立的索引 String index_Store_Path = "F:\\index"; Analyzer analyzer = new Stan
2013-03-06 14:44:05
1791
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人