假如这个世界上只剩下你一个人,当你正坐在屋子里的时候,这时突然响起了敲门声...
  • C#线程系列讲座(4):同步与死锁

    2008-07-26 19:53:24   /   Visual C#

    本文为原创,如需转载,请注明作者和出处,谢谢!虽然线程可以在一定程度上提高程序运行的效率,但也会产生一些副作用。让我们先看看如下的代码:class Increment{private int n = 0;private int max;public Increment(int max){this.max = max;}public int result{get{return n;}set{n = value;}
  • Java编码问题解决方案大揭密

    2008-07-23 11:48:18   /   Java入门与认证版

    一、Java编码是怎么回事?对于使用中文以及其他非拉丁语系语言的开发人员来说,经常会遇到字符集编码问题。对于Java语言来说,在其内部使用的是UCS2编码(2个字节的Unicode编码)。这种编码并不属于某个语系的语言编码,它实际上是一种编码格式的世界语。在这个世界上所有可以在计算机中使用的语言都有对应的UCS2编码。正是因为Java采用了UCS2,因此,在Java中可以使用世界上任何国家的语言来为变量名、方法名、类起名,如下面代码如下:class 中国{public String 雄起(){return "中国雄起";
  • C#线程系列讲座(1):BeginInvoke和EndInvoke方法

    2008-07-14 09:49:12   /   .NET软件架构与模式

    本文为原创,如需转载,请注明作者和出处,谢谢!开发语言:C#3.0IDE:Visual Studio 2008本系列教程主要包括如下内容:1.BeginInvoke和EndInvoke方法2.Thread类3. 线程池4. 线程同步基础5. 死锁6. 线程同步的7种方法7. 如何在线程中访问GUI组件一、线程概述在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,或是为了提供程序的性能,将要执行的任务分解成多个子任务执行。这就需要在同一个进程中开启多个线程。我们使用C#编写一个应用程序(控制台或桌
  • C#线程系列讲座(1):BeginInvoke和EndInvoke方法

    2008-07-14 09:46:31   /   .NET软件架构与模式

    本文为原创,如需转载,请注明作者和出处,谢谢!开发语言:C#3.0IDE:Visual Studio 2008本系列教程主要包括如下内容:1.BeginInvoke和EndInvoke方法2.Thread类3. 线程池4. 线程同步基础5. 死锁6. 线程同步的7种方法7. 如何在线程中访问GUI组件一、线程概述在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,或是为了提供程序的性能,将要执行的任务分解成多个子任务执行。这就需要在同一个进程中开启多个线程。我们使用C#编写一个应用程序(控制台或桌
  • 用jabsorb(json) for java编写AJAX应用程序

    2008-07-04 11:12:48   /   Java web开发及框架技术

    本文为原创,如需转载,请注明作者和出处,谢谢!jabsorb是一种基于Ajax/Web 2.0的简单轻便的框架,可用于在Web浏览中通过HTTP请求向服务端发送请求,并获得响应数据。实际上jabsorb就是json的升级版(不仅改了个名,而且包名都改了),目前最新版本是1.3。老版本的json可以从http://oss.metaparadigm.com/jsonrpc/download.html下载。jabsorb可以从http://jabsorb.org/Download下载。jabsorb在json基础上有了很大的改进,从1.2版开始支持ORB和循环引用(Circular References)。使用jabsorb至少有以下两个好处:1
  • 在SQL Server2005中按列连接字符串的三种方法

    2008-06-27 20:20:34   /   .NET软件架构与模式

    本文为原创,如需转载,请注明作者和出处,谢谢!最近做一个项目,遇到一个在分组的情况下,将某一列的字段值(varchar类型)连接起来的问题,类似于sum函数对int型字段值求和。 如有一个表t_table,结构和数据如图1图1其中要按着xh字段分组,并且将每一组name字段值连接起来。最终结果希望如图2所示图2表
  • C#新特性:var、初始化、匿名类和扩展方法

    2008-06-12 12:01:32   /   .NET软件架构与模式

    本文为原创,如需转载,请注明作者和出处,谢谢!一、用var定义变量在C#3.0中提供了一种新的声明变量的方式,这就是var。通过这个关键字,在声明变量时就无需指定类型了,变量类型是在初始化时由编译器确定的。代码如下:var ss = "abcd";MessageBox.Show(ss.GetType().ToString());上面的代码将显示System.String,从而证明C#编译器已经将ss编译成了String变量了。而在输出ss后,再输入“.”后,会看到将String类型变量的相应方法和属性也列出来了,因此可以断定,C#将ss看成了String类型,而不是Object。所以使
  • 实现Web程序的自动登录

    2008-06-09 18:54:57   /   WEB程序开发

    本文为原创,如需转载,请注明作者和出处,谢谢!有很多Web程序中第一次登录后,在一定时间内(如2个小时)再次访问同一个Web程序时就无需再次登录,而是直接进入程序的主界面(仅限于本机)。实现这个功能关键就是服务端要识别客户的身份。而用Cookie是最简单的身从验证。如果用户第一次登录,可以将用户名作为Cookie写到本地,代码如下:Cookie cookie = new Cookie("user", user);cookie.setMaxAge(365 * 24 * 3600);cookie.setPath("/");response.addCookie(cookie);当用户再次访问程序时,服务端程
  • .net framework3.5新特性:Lambda表达式

    2008-06-09 18:52:51   /   .NET软件架构与模式

    本文为原创,如需转载,请注明作者和出处,谢谢!本文介绍了.net 3.5 framework中的Lambda表达式。这种表达式可以取代delegate,作为方法指针来使用。在C#2.0及C#1.x中,需要使用delegate来定义方法指针。如下面的代码如示:public delegate bool Filter(int num);// delegate类型public int[] searchArray(int[] values, Filter filter){List result = new List();foreach (int i in values){if (filter(i))result.Add(i);}return r
  • 用JavaScript计算字符串占用字节数

    2008-05-29 19:35:16   /   WEB程序开发

    最近和JavaScript纠缠上了。遇到这么一个问题,数据库的字符集为UTF-8的,要在页面上使用JavaScript验证输入的文本用UTF-8存储时占用字节长度。JavaScript的String对象有length属性,但是这个计算的是字符数,不是字节数(问题总是翻来覆去的,记得当年玩Delphi的时候,还得写程序计算字符串的字符数,因为Delphi中String的length是字节数...)。偷懒一点的办法是将验证代码中最大长度设置为数据库中对应字段的长度的1/3,但是这样准确来说有点不合适。所以想办法在JavaScript中判断在UTF-8下存储的String的字节数,在网上找到
  • 表单控件的副产品——查询控件

    2008-05-29 19:31:58   /   ASP.NET与AJAX

    查询控件温故而知新能自己“跑”的表单控件,思路,雏形,源码。vs2005版本表单控件续(1)——应用接口来简化和分散代码当初在写表单控件的时候,突然想到,这个表单控件稍微修改一下不就是一个查询控件了吗?那么查询控件需要做的什么事情呢?1、自己描绘控件,比如能够自己添加文本框、下拉列表框这一类的控件。2、可以自己获取用户输入的信息,根据查询方式组合where 后面的 SQL语句 。是不是和表单控件很像呢?在表单控件的SaveData()里面我们可以得到字段名称和
  • Web上传文件的原理及实现

    2008-05-29 19:03:28   /   WEB程序开发

    本文为原创,如需转载,请注明作者和出处,谢谢!现在有很多Web程序都有上传功能,实现上传功能的组件或框架也很多,如基于java的Commons FileUpload、还有Struts1.x和Struts2中带的上传文件功能(实际上,Struts2在底层也使用了Commons FileUpload)。在asp.net中也有相应的上传文件的控件。虽然现在有很多上传组件可以利用,但是了解Web上传文件的原理,对于处理突然出现的问题会有很大的帮助,下面就来讲一下通过浏览器上传文件的基本原理。在了解了原理之后,就可以非常容易地自制满足自身需要的上传组件了。众所
  • AJAX从服务端获取数据的三种方法

    2008-05-26 23:20:51   /   WEB 2.0技术

    本文为原创,如需转载,请注明作者和出处,谢谢!在本文中将给出一个例子来介绍使用AJAX技术从服务端获得数据的三种方法。这个例子很简单,就是两个选择框(html中的标签),通过选中第一个select的某一项后,会从服务端得到一些数据,并加载到第2个select中。方法一、从服务端获得XML格式的数据从服务端获得数据的最容易想到的方法就是在服务端反加一定格式的数据,一般是XML格式,然后在服务端使用XMLDocument或其他技术来读取这些数据,并生成标签中选项的格式文本(标签)。下面的addOptions函数是这个例子的核心函
  • Struts2教程10:国际化

    2008-05-20 22:25:51   /   Java web开发及框架技术

    本文为原创,如需转载,请注明作者和出处,谢谢!国际化的作用就是根据不同国家的用户在访问Web或其他类型的程序时,将各种信息以本地的常用形式显示出来,如界面信息在中国,就会显示中文信息,在以英文为主的国家里,就会显示英文信息。还有就是一些信息的格式,如日期格式等。从属性文件中获得字符串信息是国际化的基本应用。在Struts2中使用的属性文件就是Java属性文件,扩展名为properties。在Struts2中的属性文件可以有很多默认的位置,Struts2可按如下的顺序(或步骤)来定位属性文件:1. ActionClass.
  • 用javascript/css实现GridView行背景色交替、点击行变色

    2008-05-19 22:41:32   /   WEB 2.0技术

    前几天在博问里发现有人问关于 GridView点击行变色 的问题,突然想起很久很久以前,写过一篇文章 一个简单但常用的表格样式--鼠标划过行变色--简洁实现 ,是关于表格行颜色交替和鼠标指向时变色的,正好今天把那一篇补充和扩展一下,加上鼠标点击选择(其实只是点击后变个颜色,“选择”这个词在这里不合适),顺便把这个直接应用到GridView上,如果是其他的控件,或者直接的HTML,稍加修改也可以用上,这里仅提供一个思路。虽然GridView 使用AlternatingRowStyle提供了交替行背景色的问题,但这个东西用着实在不爽,看它生成到HTM
  • C# 实现屏幕键盘 (ScreenKeyboard)

    2008-05-19 22:38:34   /   .NET软件架构与模式

    要实现一个屏幕键盘,需要监听所有键盘事件,无论窗体是否被激活。因此需要一个全局的钩子,也就是系统范围的钩子。什么是钩子(Hook)钩子(Hook)是Windows提供的一种消息处理机制平台,是指在程序正常运行中接受信息之前预先启动的函数,用来检查和修改传给该程序的信息,(钩子)实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不
  • 通过MVC模式将Web视图和逻辑代码分离

    2008-05-19 22:35:04   /   WEB程序开发

    本文为原创,如需转载,请注明作者和出处,谢谢!MVC模式(Model-View-Controller)常被用在Web程序中。如Struts框架就是一个基于MVC模式的Web框架。所谓MVC模式,就是将视图(也就是客户端代码,包括html、javascript等)和模型(和数据库及业务逻辑相关的Java代码)分开。并通过控制器将两者联系起来。这样做的好处可以使客户端开发人员和服务端开发人员的工作尽量分开,以使他们之间的干扰降到最低。虽然象Struts这样的框架可以很好地Model和View分离。但是对于客户端的代码,仍然存在着一定的视图和逻辑混合的现象。如
  • ITPUB技术门户每周头条精选(5月16日)

    2008-05-15 22:59:51   /   ASP.NET与AJAX

    频道头条精选:数据质量体系结构http://tech.it168.com/db/2008-05-12/200805120808753.shtml【IT168技术文档】本文提供一个在数据仓库项目的实施过程中,可增量添加的、可扩展的数据质量体系结构,它可以保证以最小的对前期投资的影响,并增加到存在的数据仓库和数据集成环境中。相互融合 谈社会化网络和开源关系http://tech.it168.com/o/2008-05-12/200805121636222.shtml【IT168 专稿】社会化网络和开源的思想之间是一种相得益彰的关系。开源思想早已有之,在开源世界中开发者可以协同开发和分享软件。而随着
  • 在IE和Firefox中通过AJAX跨域访问Web资源

    2008-05-15 22:21:08   /   WEB 2.0技术

    一、解决在IE和firefox中无法跨域访问的问题AJAX从本质上讲就是命名用XMLHttpRequest组件来向服务端发送HTTP请求,请接收相应信息。至于成功接收到响应信息后的操作,就和普通的Web客户端程序类似了(一般用DOM将信息加到HTML组件中)。但问题就发生在了XMLHttpRequest组件上。虽然在大多数浏览器中(包括IE、Firefox等)都叫这个名子。使用方法也类似。但在进行某些操作时却有不同的效果。就拿跨域访问的问题来说。让我们先看看如下的html中的javascript代码:test.html// 获得IE和
  • Struts2教程9:实现自已的拦截器

    2008-05-09 20:57:58   /   Java web开发及框架技术

    本文为原创,如需转载,请注明作者和出处,谢谢!在上一篇中介绍了Struts2拦截器的原理,在这一篇中我们将学习一下如何编写自己的拦截器。一、拦截器的实现实现一个拦截器非常简单。实际上,一个拦截器就是一个普通的类,只是这个类必须实现com.opensymphony.xwork2.interceptor.Interceptor接口。Interceptor接口有如下三个方法:public interface Interceptor extends Serializable{void destroy();void init();String intercept(ActionInvocation invocation) throws Exception;}
651/41234>

数据统计

  • 访问量: 12458
  • 日志数: 119
  • 建立时间: 2008-02-08
  • 更新时间: 2008-10-01

RSS订阅

Open Toolbar