自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

愷风(Wei)的专栏

使用工具、了解工具、创造工具……

  • 博客(10)
  • 资源 (25)
  • 论坛 (4)

原创 Java for Web学习笔记(五八):Spring框架简介(7)bean的profile

通过为beans设置不同的profile,实现不同的环境运行不同的配置。我们的产品分为开发环境development,测试环境qa,以及生产环节production,我们为bean归属不同的profile,在不同的环境使用,例如数据库的ip地址等。自动扫描的小例子我们仍使用欢迎词的小例子,采用自动扫描的方式,欢迎词接口有两个不同的实现,分别用在不同的环境。第一个实现,用于开发环

2017-04-29 22:01:05 1647

原创 Java for Web学习笔记(五七):Spring框架简介(6)代码设置

例子说明  之前我们通过xml来设置多应用上下文的spring,本例,我们将通过代码来进行设置。代码结构如图:配置信息从代码中获取上下文配置从代码中获取的设置  使用XML配置有下面的问题:不能对XML配置进行debug使用XML难以进行单元测试,都是整体测试  采用java代码配置可以解决上面的问题。spring启动时用AnnotationConfigWe

2017-04-29 21:51:19 2027

原创 Java for Web学习笔记(五六):Spring框架简介(5)自动识别

标注和自动识别  在大型的项目中,有数百的beans,无论用xml还是手动代码设置都很崩溃。可以通过自动扫描和标注设置,如servlet中的annotation的标注。  类标注:@org.springframework.stereotype.Component:可以写@Compoment,表明是Srping管理的beans,Sping将实例化,并注入到他们的依赖。@Controller(

2017-04-29 21:43:01 1350

原创 Java for Web学习笔记(五五):Spring框架简介(4)多Context的例子

多个上下文我们可以设置多个上下文,这些上下文是树状继承结构。即包括管理自己的bean,父辈的bean,祖辈的bean,以此类推。我们可以使用一些公共的bean,也可以使用一些不同的隔离的bean。例如对某个web应用,普通用户和管理员用户,他们有不同也有相同的处理。XML的配置web.xml ... ... default /r

2017-04-29 21:30:40 1389

原创 Java for Web学习笔记(五四):Spring框架简介(3)一个简单的One Context例子

相关java代码这是一个简单显示欢迎词的例子,如果无用户名,欢迎词为Hello,World;如果有用户名,则为Hello,。ServiceService是对业务逻辑的封装,分为接口和具体的实现。一个接口可以有多个实现。Service接口/** GreetingService:给出欢迎词接口。*/public interface GreetingService { pu

2017-04-29 20:52:28 1640

原创 Java for Web学习笔记(五三):Spring框架简介(2)一些准备

maven的pom.xml我们在pom.xml中增加下面内容,本次我们给出较为完整的依赖关系,可以作为模板: UTF-8 2.9.0.pr2 2.8.1 1.1 3.5 1 1.3 4.3.7.RELEASE javax.servlet javax.servle

2017-04-29 17:59:13 1163

原创 Java for Web学习笔记(五二):Spring框架简介(1)特点简述

反转控制:Inversion Control反转控制(IoC,Inversion Control)在Spring中,如果A依赖于B,在runtime中实现,而不是在compile中实现。这使得同样的代码,用于不同的环境,模拟环境,测试环境或者生产环节。实现Inversion Control的最常用技术是依赖注入(DI,Dependency Injection)。一个类将声明依赖另一个接口,

2017-04-29 11:00:19 1643

原创 Java for Web学习笔记(五一):Log(3)代码中使用log4j2

常用方式  Log4j2的等级有FATAL,ERROR,WARN,INFO,DEBUG,TRACE,另外还有全开全关的非登记ALL,OFF。输出不同级别的log信息//【1】创建实例。等同与LogManager.getLogger(MyServlet.class);可以logger.getName()来验证。这个名字就是log的category,每个类应该有自己的log实例priva

2017-04-23 16:21:10 2934

原创 Java for Web学习笔记(五十):Log(2)配置log4j2

相关maven org.apache.logging.log4j log4j-api 2.8.1 compile org.apache.logging.log4j log4j-core 2.8.1 runtime <!-- log4j-jcl是支持API的adapter。有lib采用Commons Log

2017-04-23 16:11:31 2560

原创 Java for Web学习笔记(四九):Log(1)log很重要

为何要log如何写好log,是程序员的必修课。比较通用的方式是Apache的log4j2,和第一个版本log4j相比,log的等级更多,可以准实时在运行过程中修改log登记,适合在发现问题时提升等级,获取更详细的log,而平时采用一般等级。不推荐使用System.out的方式:没有等级区分,很可能会影响程序的性能不能提供类名,代码行(一般错误定位才打开,生产环节中缺省不打开)的额外

2017-04-23 16:01:39 2070 1

[zip文件] Pro Android学习:拖拽小例子

Pro Android学习系列中的拖拽小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-12-12

Pro Android学习:touch screen小例子

Pro Android学习系列中的Touch Screen小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-11-18

Pro Android学习:list widget小例子

Pro Android学习系列中的List Widget2小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-10-23

Pro Android学习:widget小例子

Pro Android学习系列中的Home Screen Widget小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-10-15

Pro Android学习:media frameworks小例子

Pro Android学习系列中的media frameworks小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2014-09-30

[zip文件] Pro Android学习:telephony小例子

这是Pro Android学习系列中Telephony API部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-09-16

Pro Android学习:location小例子

这是Pro Android学习系列中location部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-08-27

Pro Android学习:2D动画小例子

这是Pro Android学习系列中2D动画部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-08-14

Pro Android学习:Alarm manager小例子

这是Pro Android学习系列中alarm manager部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-07-18

Pro Android学习:Broadcast小例子

这是Pro Android学习系列中Broadcast部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-07-01

Pro Android学习:AsyncTask小例子

这是Pro Android学习系列中AsyncTask部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-05-16

Pro Android学习:了解Handler小例子

这是Pro Android学习系列中Android Service部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-05-08

Pro Android学习:了解package的小例子

这是Pro Android学习系列中了解package部分的例子源代码。包括通过共享UserID实现资源共享,以及lib项目

2014-04-18

Pro Android学习:Android service小例子

这是Pro Android学习系列中Android Service部分的例子源代码。相关学习笔记见:http://blog.csdn.net/flowingflying/article/details/6212512

2014-03-27

Pro Android学习:Http service小例子

这是Pro Android学习系列中http service的例子源代码。

2014-02-10

Pro Android学习:permission例子

这是Pro Android学习系列中permission部分的例子源代码。

2013-12-19

Pro Android学习:Preference(首选项)小例子

这是Pro Android学习系列中preference部分的例子源代码。

2013-12-04

Pro Android学习:ActionBar小例子

Pro Android学习系列中的action bar小例子。

2013-11-07

Pro Android学习:Dialog小例子

这是Pro Android学习dialog部分的例子源代码。

2013-10-30

Pro Android学习:Fragment

这是Pro Android学习Fragment部分的例子源代码。

2013-10-25

Pro Android学习:Menu

是Pro Android学习笔记Menu系统的例子代码

2013-09-29

Pro Android学习:联系人API

Pro Android学习系列中的传感器小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2015-06-15

Servlet速成学习

跟踪http://edu.51cto.com/course/course_id-1774.html学习,在代码上做笔记,可算是速成学习完servlet

2015-03-20

Pro Android学习:传感器

Pro Android学习系列中的传感器小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512

2015-02-06

NTLM PPROXY client的实现(C source code)

HTTP PROXY中NTLM的客户端的C源代码。包含相关的DES等算法在内。Base64的算法,是通过网上共产主义获取,MD4,MD5,HMAC MD5的算法是RFC中提供的,其余的可以根据下面链接的步骤进行编写。我提供一个源代码的例子。其中arith_开头的相关算法,httppc_ntlm是 NTLM的type1、type2、type3消息的应答构成,test_httppc_connect是一个测试的例子,里面没有main函数,但是另外构造一个main函数,在wei_set_proxy_info之后,调用wei_httppc_connect就可以了。详细见http://blog.csdn.net/flowingflying/archive/2009/03/03/3952796.aspx 有朋友说少了头文件,我查了一下,不好意思,少了md.h。请参考下面。 /* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD4 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD4 Message-Digest Algorithm" in all material mentioning or referencing the derived work. RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. These notices must be retained in any copies of any part of this documentation and/or software. */ #ifdef __cplusplus extern "C" { #endif #ifndef WEI_MD_H #define WEI_MD_H #ifndef IN #define IN #endif #ifndef OUT #define OUT #endif /************************************ 算法:MD4和MD5 *********************************/ //从RFC1320 The MD4 Message-Digest Algorithm的附录 //从RFC1321 The MD5 Message-Digest Algorithm的附录 /* PROTOTYPES should be set to one if and only if the compiler supports function * argument prototyping.The following makes PROTOTYPES default to 0 if it has not * already been defined with C compiler flags. */ #ifndef PROTOTYPES #define PROTOTYPES 0 #endif /* POINTER defines a generic pointer type */ typedef unsigned char * POINTER; /* UINT2 defines a two byte word */ typedef unsigned short int UINT2; /* UINT4 defines a four byte word */ typedef unsigned long int UINT4; /* PROTO_LIST is defined depending on how PROTOTYPES is defined above.If using PROTOTYPES, * then PROTO_LIST returns the list, otherwise it returns an empty list. */ #if PROTOTYPES #define PROTO_LIST(list) list #else #define PROTO_LIST(list) () #endif /* MD4 context. */ typedef struct { UINT4 state[4]; /* state (ABCD) */ UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */ unsigned char buffer[64]; /* input buffer */ } MD4_CTX; void MD4Init PROTO_LIST ((MD4_CTX *)); void MD4Update PROTO_LIST ((MD4_CTX *, unsigned char *, unsigned int)); void MD4Final PROTO_LIST ((unsigned char [16], MD4_CTX *)); /* MD5 context. */ typedef struct { UINT4 state[4]; /* state (ABCD) */ UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */ unsigned char buffer[64]; /* input buffer */ } MD5_CTX; void MD5Init PROTO_LIST ((MD5_CTX *)); void MD5Update PROTO_LIST ((MD5_CTX *, unsigned char *, unsigned int)); void MD5Final PROTO_LIST ((unsigned char [16], MD5_CTX *)); #endif #ifdef __cplusplus } #endif 因为我没有认真地打包封装,而是从我的一个project中抽出了,有些遗漏,请大家原谅。今天又有网友来问PRIVATE在哪里定义。因为代码不在手头的机器上,没法仔细看,PRIVATE的定义如下 #define PRIVATE 定义为空,这是模仿C++的private,说明这个函数不会被其他文件引用,只用于本文件。 最近又收到网友的来信,说少了几个util文件。这个是不在ntlm的算法中,而是在验证例子test_httppc_connect.cpp中使用。查了一下,我确实没有放到网上。汗啊,因为验证例子是从某个程序中抽取出来,里面包含一个很简单的http的解析。我本来想update资源,没有找到 update的方法。需要说明的是这部分和真正的算法没有直接关系。放在这里,太长了,如果需要的网友,请到http://blog.csdn.net/flowingflying/archive/2009/03/03/3952796.aspx 那里下载。

2009-03-16

恺风的留言板

发表于 2020-01-02 最后回复 2020-01-02

CSDN博客订阅Feedsky无法更新

发表于 2009-06-19 最后回复 2009-08-11

修改名字不成功

发表于 2009-06-19 最后回复 2009-07-23

Intel移交Moblin至Linux基金会

发表于 2009-04-07 最后回复 2009-06-19

空空如也
提示
确定要删除当前文章?
取消 删除