- 博客(31)
- 资源 (13)
- 收藏
- 关注
原创 适配器模式
顾名思义 就是让两个或多个不兼容的东西通过某种方式能够联系起来 生活中常见的电源适配器 usb转接口等就说说USB转接口吧 ,随着科技的发展,台式机已经慢慢的淘汰了,周遭的人的换成笔记本了,你也想把你的那个旧电脑换成笔记本了,说换就必须要快,于是你通过上网搜索啊什么的很快就选好了一台笔记本,然后买回家,立马打开试下怎么样,这是你发现以前台式机的键盘和鼠标jie下面我们看看适配器模式定义:
2012-10-03 00:48:00
174
原创 重温单例模式
前两天面试被问到设计模式了,感觉答的不好,在复习下。所谓单例模式,简单的说就是保证一个类只有一个实例对象,并提供一个全局的访问点来获取它。知道了单例模式的定义,那么怎么实现呢?从定义上看,必须先保证类只用一个实例,我们都知道要取得一个类的实例直接通过调用类的构造方法来获取,构造方法一般是public的,所以我们可以从类外部多次调用它来获取类的实例,那么现在就要限制类外部不能调用它,即它对外部是不可
2012-10-02 00:20:56
967
原创 一些c/c++知识点
1. 关于平printf输出问题:prinf计算参数时是从右往左压栈的。示例:int main(){ int a[] = {6,7,8,9,10} ; int *p = a ; (*p++) += 10 ; printf("%d,%d",*p,*(++p)) ; // cout<< *p << *(++p) << endl ;}输出为
2012-08-24 11:54:54
981
原创 java跳出多重嵌套循环
在java里面,我们知道有goto这个关键字,但是实际却没有啥作用,这就让我们不像在c/c++里面能够随便让程序跳到那去执行,而break只能跳出当前的一个循环语句,如果要跳出多个循环体那么该怎么办呢。我们可以这样解决:我们可以在循环体开头设置一个标志位,也就是设置一个标记,然后使用带此标号的break语句跳出多重循环。public class BreaklFor { public
2012-01-31 00:24:18
40691
1
原创 Hibernate学习笔记(初识Hibernate)
该学习hibernate了,在这个例子里主要是学习怎样使用ORM(对象到关系映射)持久化java对象。先介绍一下ORM。ORM是对象到关系的映射,它是解决实体对象到关系数据库相匹配的技术,其实现思想是将数据库中的数据表映射为对象,然后操作数据就可以以对象形式进行操作。ORM将对象自动持久化到关系数据库中,它对对象到关系数据库进行映射。Hibernate使用xml文档或是属性文件定义对象到关
2012-01-02 14:56:35
1091
翻译 Spring MultiActionController and using Annotation
使用Spring MultiActionController 类可以让我们将功能相近的Action组织在一个控制器里,处理每个Action的方法应当像下面这种形式。public (ModelAndView | Map | String | void) actionName(HttpServletRequest, HttpServletResponse [,HttpSession] [,Comm
2012-01-01 23:40:07
1198
翻译 Spring拦截器
Spring Interceptors具备前处理和后处理web请求的能力,每一个拦截器类应当继承HandlerInterceptorAdapter类,你可以覆写任意preHandle(),postHandle()或afterCompletion()这三个回调方法。正如这个名字一样preHandler()方法会在处理请求之前被调用,postHandle()方法会在处理请求之后调用,而afterCom
2012-01-01 12:44:46
21599
翻译 Spring Validation Using Annotation
在这个例子将应用Spring annotations完成Spring Form Validation(表单验证)例子的的功能。当使用annotated controller类时validate()方法将不会被自动调用,onSumbit()方法将会在表单提交是被调用。这儿进入方法后首先调用Uservalidator类的validate()方法,然后使用hasErrors()方法检查是否有错误。如
2011-12-31 11:02:56
3541
翻译 Spring Form Validation(表单验证)
增加表单验证,首先要实现一个表单,想要操作表单我们需要将控制器类继承SimpleFormController类,现在我们创建一个注册表单来理解它的工作过程,这个SimpleFormController在Spring3.0以后已经不推荐使用了,如果使用3.0后以上版本建议使用annotation来代替。首先定义我们的控制器类:package com.zcl.spring.validation
2011-12-31 10:26:56
17405
翻译 Spring Annotations
在这个例子将会学习怎样使用spring annotations填充一个表单。带annotation的Controller类如下:package com.zcl.spring.formtag;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.spr
2011-12-31 08:49:43
1170
翻译 Spring Form Tags
在这个例子里你将会看到如何使用动态值来填充表单。注册表单registration.jsp页面.<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> Registration Page User Name : Pass
2011-12-31 00:09:09
11004
翻译 Spring Annotation Controller
在这个例子里你将会看到一个怎么开发一个基于annotation的Spring控制器。这个例子除了使用annotation外基本和上一个例子相同,仅仅要说明的是你需要在前面那个例子之上进行的改变,所以如果你没实现(这里我也忘了写了,基本内容和Spring Form Validation(表单验证)差不多,那个就增加了个验证操作)你需要先写上一个例子。如果你使用的annotation是基于Co
2011-12-30 22:41:03
2552
翻译 Spring MVC
Spring MVC有助我们建立灵活的低耦合的web应用,Model-view-controller的设计有助于我们分离业务逻辑,表现层和控制层。模型负责封装应用数据,表现层负责显示将结果显示给用户,控制层负责接受用户请求并调用后台服务。下面的图形主要显示在Spring MVC中请求的流向当一个请求到达Spring MVC框架时,下面的事件依次发生。1、 Dispat
2011-12-29 10:36:48
1576
翻译 Spring设置注入和构造注入
在Spring中注入方式有设置注入和构造注入。设置注入就是指要被注入的类中定义有一个setter()方法,并在参数中定义需要注入的对象。简单的看个例子。定义有User类,并覆写了toString()方法。package com.zcl.spring.setterinjection;public class User { private String name ; private i
2011-12-29 09:20:50
21545
1
翻译 Spring IoC(控制反转)
在Spring中IOC(控制反转)是通过使用DI(依赖注入)设计默认实现的,那么什么是依赖注入呢,所谓依赖注入即是指将调用类对接口实现类的依赖关系由第三方注入, 取消调用类对接口实现类的依赖关系。通过一个简单的例子来帮助我们理解依赖注入。首先定义一个接口,里面只有一个QuizMaster方法package com.zcl.spring.di;public i
2011-12-29 08:49:24
2830
翻译 Convention插件的使用
在Struts2.1开始,Struts2通过引入Convention插件来支持零配置,也就是说我们不需要配置struts.xml文件,Struts2通过约定来自动配置。要实现这个功能我们只需要把struts2-convention-plugin-2.1.6包加入到我们的项目中。先来了解一下Convention吧,Convention插件完全工作在后台,Convention插件默认的搜索位于st
2011-12-28 10:21:22
3478
翻译 Domain Object as JavaBeans Property
在Struts2中数据转化为域对象是通过param拦截器自动进行的。你仅仅需要创建一个域对象做为一个javabean的属性并且实现相应的setter和getter方法。框架会自动初始化域对象并且传输表单数据。下面是示例。UserAction代码:package com.zcl.struts.domain;import com.opensymphony.xwork2.Action
2011-12-28 09:24:33
554
翻译 Struts2中使用xml文件验证
还有一种方式验证就是使用xml验证文件,其命名格式 为:ActionClass-validation.xml。如果我们的Action为LoginAction,则xml为LoginAction-validation.xml。并放在其相应包下。如果此时需要配置文件来存放错误信息,命名为:ActionClass.properties.并放在相应包下。登录验证定义LoginAction-validat
2011-12-27 10:54:07
512
翻译 Struts2中实现Validator
我们知道当我们继承了struts-default,我们的Action就能使用defaultStack。那么我们就可以在validate方法里面添加一些验证信息。一个登录程序验证:用户名必须是"Zhao"并且密码不为空才能登录成功;LoginAction类:package com.zcl.struts.validate;import com.opensymphony.xwork2.A
2011-12-27 10:22:07
598
翻译 Struts2的Interceptor
通过下面的例子,你会看到用不同的方式来创建自己的拦截器和相关联的Action类。Struts2配备了一套预定义的拦截器和拦截器栈,你可以使用它通过在struts.xml文件中包含struts-default包,它定义所有拦截器和拦截器栈。你可以使用堆栈满足你的需要,也就是说当你的包继承struts-default包时,你包中所有的Action都可以使用defaultStack。struts-d
2011-12-27 09:33:37
6508
原创 求二进制数中1的个数
最近看看编程之美,感觉上面的题挺不错的,分享下。正好熟悉下c++。题目描述:对于一个整形变量,求二进数中表示“1”的个数。解法1:对于一个二进制数我们知道如果除以2,如果有余数,则表示当前位置是一个1,如果不是则表示当前位置是0;所以此时我们就可一利用判断余数的方式求出这个数的二进制表示中“1“的个数。 #include using namespace std;in
2011-12-25 15:49:43
564
翻译 Struts2中DispatherAction的功能
在Struts1中,DispatchAction帮助我们将将多个功能相似的业务逻辑放在同一个 Action 中实现,各个业务逻辑通过传入不同的参数来决定执行哪个操作方法。在Struts2中,也默认的提供这种方法,使用这个功能,我们需要创建结构和execute方法相似的不同的方法,仅仅这个方法的名字改变了。在这个例子里UserAction包含了和User相关的功能,像addUser,upda
2011-12-23 13:44:02
1953
1
翻译 简单的interceptor(拦截器)介绍
简答的说,Interceptor(拦截器)将Action共同的行为独立出来,分散了关注编程的方法。在下面实例中,你将看到Interceptor如何在Action执行的前后运行,以及怎么样把结果返回给用户。下图将对你理解有帮助。当一个请求到达struts2框架时,将顺序执行一下的行为。1. Struts2框架首先找到处理这个请求的Action,并发现我这个Action相关联的拦截
2011-12-23 09:31:08
9526
翻译 OGNL的简单使用
OGNL是Object-Graph Navigation Language 的缩写,它是一种简单而且强大的表达式语言(EL),在struts2中OGNL能让我们访问存储在ValueStack(值栈)和 ActionContext(Action上下文)里的值。下面是一个我们通过OGNL取得String型数组的里面的值和使用OGNL读取集合的值,我们现在创建一个Action类,在Action类里我
2011-12-22 13:39:45
708
翻译 Struts2 bean标签使用
下面我们使用一个货币转换例子来说明bean标签的使用,在这个例子里我们将美元转换为人民币。下面是CurrencyConverter类package com.zcl.struts.beantag;public class CurrencyConverter { private float rmb ; private float dollars ; public float getR
2011-12-22 13:11:15
5392
翻译 Struts 2 Data Tags
下面我们将看到怎样使用property标签,set标签和push标签,他们是Struts2数据标签的一部分,在我们学习每个标签的语法之前我们需要知道什么是ActionContext(Action上下文)和ValueStack(值栈)。·ActionContext是一个持有请求处理相关的数据的全局存储区。·ActionContext是局部线程这使得Struts2 Actions是线程
2011-12-22 12:29:39
718
翻译 一些简单的UI标签
Struts2的UI标签简单并且易于使用,你不用写任何html代码,UI标签会根据你的选择的主题自动的生产它们,默认情况下使用XHTML主题,XHTML主题使用表格来定位表单元素。那么UI标签是怎样工作的,在Struts2中,在Struts2中ValueStack(值栈)存放着请求处理相关的数据,因此,所有表单的内容都将被存储在ValueStack里,UI标签的属性名对应这值栈里面的值。。
2011-12-22 10:59:57
2726
翻译 我的第一个struts2应用,HelloWorld!!!
最近跟着struts2文档学习了一下,英文实在是很折磨人,不过感觉上面的代码还可以,自己留着用,也可以大家看看。简单的建立struts2的环境,首先下载struts2的一个版本,不是最新版也可以,然后解压找到apps目录,里面放着的是struts2的一些示例应用,随便打开一个,把里面的jar文件复制到你建立的web项目中的/WEB-INF/lib目录下。下面是配置web.xml文件,增加s
2011-12-21 16:10:36
551
原创 JSP使用SmartUpload上传文件
SmartUpload由于它的简单易用性现在仍然有很多人去使用,想要使用SmartUpload实现上传和下载功能,只需将SmartUpload.jar包复制到Tomcat安装目录下的/lib文件夹下即可。现在首先实现简单的单个文件上传,这时必须要对表单进行封装。在form里面加上enctype=“multipart/form-data”表示表单将按照二进制的方式提交,而且是整体提交,而不再是分
2011-12-10 15:31:03
1784
原创 什么是页面的MIME
设置页面的MIME什么是MIME?MIME全程为Multipurpose Internet Mail Extension,即多功能Internet邮件扩充服务。在Windows下我们会看到各种文件有不同的扩展名,就像word文档的*.doc,文本文件的为*.txt。应用程序就是通过这些不同的扩展名识别并打开这些文件。其实MIME也就是用于指定某个扩展名文件将使用何种应用程序打开的一个说明。当给
2011-12-09 08:28:32
1974
原创 java面向对象基础
Java可以说是纯面向对象的语言,她不像C++那样看感觉是C升级版。那么什么叫面向对象,在解释这个概念的时候,我们得先明白,什么是类和对象。所谓类就是指对现实世界的某类事物的的一些特征的抽象,比如人可以是一个类。要不怎么叫人类呢,呵呵。而对象就是指一个个具体的东西。所以面向对象就可以理解为根据客户需求抽象出业务对象;然后构建相对独立的业务模块;之后设计业务逻辑,利用多态、继承、封装、抽象的编程思想
2011-12-08 22:44:56
578
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人