摘要: 本文分别介绍Java与C#事件处理,包括介绍在C#中,事件(Events)成员就是用来声明一个类事件的。Java与C#事件处理都是实现了事件源-事件响应者机制,但又不完全相同。Java实现的是一种事件源与事件响应者两级实体对象方式,这里的事件响应者也是事件监听者,而C#实现的是一种事件源-代理-事件响应者三级实体对象方式。下面就这两种方式来具体说明。Java事件处理从概念上讲,事件是一种在"源对象"和"监听者对象"之间,某种状态发生变化的传递机制。事件有许多不同的用途,例如在Windows系统中常要处理的鼠标事件、窗口边界改变事件、键盘事件等。在Java中则是定义了一个一般的、可扩充的事件机制 阅读全文
posted @ 2010-12-26 23:24 左正 阅读(1228) 评论(0) 推荐(0) 编辑
摘要: 这里我们主要介绍C#和Java,包括介绍C#和Java都是对传统C++面向组件的编程方式的革新,但7年前就出道的Java在这方面显然与C#不可同日而语等方面。自C#诞生之日起,关于C#和Java之间的论战便此起彼伏,至今不辍。抛开Microsoft与Sun之间的恩怨与口角,客观地从技术上讲,C#和Java都是对传统面向对象程序设计在组件化软件时代的革新之果,可谓殊途同归。虽说两种语言有着“90%的重叠”,但那另外“10%的较量”也往往能够左右一架天平的方向。C#和Java都提出了对传统C++艰深、晦涩的语法语义的改良。在语法方面,两者都摈弃了C++中函数及其参数的const修饰、宏代换、全局变 阅读全文
posted @ 2010-12-26 23:17 左正 阅读(352) 评论(0) 推荐(0) 编辑
摘要: C#抓取网页程序是如何实现的呢?我们首先来了解在HTTP,它是WWW进行数据访问最基本的协议之一,在.NET的基本类型库类中提供了两个对象类:HTTPWebRequest和HTTPWebResponse,分别用来向某资源发送请求和获得响应。为了得到一个资源的内容,我们先指定一个想要抓取的URL地址,用HTTPWebRequest对象进行请求,用HTTPWebResponse对象接收响应的结果,最后用TextStream对象来提取我们想要的信息,并在控制台打印出来。C#抓取网页程序的实现步骤: 第一步:打开VS.NET,点“文件”-“新建”-“项目”,项目类型选择“Visual C#项目”,模板 阅读全文
posted @ 2010-12-26 15:38 左正 阅读(469) 评论(0) 推荐(0) 编辑
摘要: C#调用浏览器的理解我们可以从一个实例中看到C#调用浏览器实现原理:以"IE浏览器"登陆到"搜狐"网站为例。我们可以通过在"开始"菜单中选则"运行",然后在输入框中输入"IEXPLORE http://www.sohu.com"就可以登陆到"搜狐"网站的主页。那么我们可以得知,IE流览器是一个单独的程序,它的程序名是IEXPLORE.EXE,它的第一个参数是网站的网址。所以我们只要在C#程序中调用IE流览器程序并指定它的运行参数就可以实现这个功能,代码如下:System.Diagnostics.Process.Start( "IEXPLORE.EXE","http://www.sohu.com 阅读全文
posted @ 2010-12-26 15:30 左正 阅读(505) 评论(0) 推荐(0) 编辑
摘要: C#发送短信,我们都知道这个基本的应用,但是内部的原理是什么呢?这里我们想大家简单介绍,希望对你理解C#发送短信息的原理有所帮助。我想当很多读者一看到本文的题目一定会想本文内容一定非常深奥,并且作者一定知道了电信的发送短信的网关地址,其实并非如此。本文其实是利用一个现成的资源,一个可发送短信的Web Serviec。这个Web Service就是新浪网就提供的一个,可供用户直接调用的发送短消息的Web Service。这个Service的地址是http://smsinter.sina.com.cn/ws/smswebservice0101.wsdl。在这个Service中提供了一个发送短消息的 阅读全文
posted @ 2010-12-26 15:28 左正 阅读(579) 评论(0) 推荐(0) 编辑
摘要: C#发送邮件使用System.Net.Mail来实现,那么在这种实现中要注意这样几个问题是什么?C#发送邮件使用System.Net.Mail来实现的具体的实例是什么呢?现在开始我们的讲述。1、System.Net.Mail是.NET 2.0以后的版本中被推荐使用的方法,它解决了一些编码问题和一些安全验证的问题,并且对MailMessage类重写,提供了更多的函数,使得建立MailMessage更加便利。2、System.Net.Mail.MailMessage中,加入SubjectEncoding属性,而且对于To, Cc, Bcc都加入了一些域下的方法,使得可以更便利的实现邮件群发。而且使 阅读全文
posted @ 2010-12-26 15:25 左正 阅读(572) 评论(0) 推荐(1) 编辑
摘要: C#关机代码是如何执行的呢?那么这段代码主要使用的是P/Invoke技术,如果对这个技术还未有接触,请花一些时间学习一下。P/Invoke不是一个能在一篇帖子里能讲明白的东西。C#关机代码这段代码实现所用的就是简言之,P/Invoke = Platform Invoke,就是在.NET程序中调用Windows API等非托管函数的技术。C#关机代码实例://引入必要的命名空间using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawin 阅读全文
posted @ 2010-12-26 15:13 左正 阅读(2248) 评论(0) 推荐(0) 编辑
摘要: 一、RDLC报表   主要缺点:  (1)报表组件不丰富:如CheckBox、Barcode等组件均没有  (2)不支持最终用户自定义报表格式。如果不同客户对报表格式需求千差万别,就最好不要选择RDLC.  (3)不能在每一页显示明细数据的标题(除非费力的采用一些特殊方法)  (4)若要在报表标头显示公司logo,且logo来自数据库,则显示起来很麻烦,而且有多页的话,只能在第1页显示logo,除非是静态添加的图片。  (5)若报表格式复杂,比如一个报表含多个子表,各子表行数不固定,则会出现这样的情况,第1页没显示完,还有大半页以上空白位置,可其余内容却接着跑到下一页去显示了,折的位置这个很不 阅读全文
posted @ 2010-12-26 15:08 左正 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 一.导言国内很多项目都是小型项目, 参与人员少(两到五个人), 要快速交付(一两个月) . 要成功完成这种项目, 除了使用成熟且被团队成员熟练使用的技术之外, 有一个良好的开发流程, 也是很必要的. 二.小型软件项目开发流程下图是我对小型软件项目开发流程的一个设想:需求分析的重要性想必大家都应该清楚, 对于项目来说, 满足用户的需求是第一位的. 因为时间紧, 系统设计经常被忽略. 这会留下很大的隐患, 国内很多项目的需求通常是很简略的, 还需要在系统设计阶段把一些需求进一步的明确. 不然会出现因为前期一些需求不明确, 一些已经开发好的功能要重做的情况. 另外, 设计做好了, 思路清楚了, 接下 阅读全文
posted @ 2010-12-26 14:50 左正 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 几年前写信息管理系统都要设计很多很多表,每个表都是自己建立的,然后喜欢用高性能、高超的SQL语句搞定很多复杂的商业逻辑问题,那SQL语句又长又复杂,一般人还读不懂,但是代码很少、性能很高,其实软件公司里并不是人人都是高手,这样的SQL语句其他人也不好仿造也没能力维护,他们也无法按你的思路搞定复杂的逻辑,很容易变成无法入手,对项目也帮不上大忙的状态。这几年,由于建设的信息系统也多了,往往需要在几个系统之间进行集成,例如,你的用户表不在你的数据库里,你的角色数据在另外的XML文件里,你无法写一个SQL语句,里面又有从角色XML数据里读取的数据又有另外一个系统或服务里读取过来的数据,这时往往需要你的 阅读全文
posted @ 2010-12-26 14:47 左正 阅读(301) 评论(0) 推荐(1) 编辑
摘要: 写JS实现拖动需要一大堆不便维护的代码,实属麻烦,Google了大半天,发现了一个优秀的Jquery插件EasyDrag,只需要一行代码便可轻松在主流浏览器上实现拖动效果. $(document).ready( function() { $("#divPanel").easydrag(); } ); Html 代码 div id="divPanel" style="width:300px;height:300px;background:white;border:1px solid #000000;position:absolute;left:5px;top:50px" div id= 阅读全文
posted @ 2010-12-26 14:27 左正 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 虽不算什么高深的东西,但至少也算一点点小经验,分享分享吧,如果您是高手,而且您还有点时间,那么请你耐心看完整篇文章,然后再帮忙指点指点,留下您的经验,我也好学习学习。链接中的例子是一些脚本攻击相关的内容,有时间的朋友可以点开看看。1.不要相信Request.QueryString:相信在asp时代,这个问题比较严重,不信,随便到网络上找几个asp的企业站,找到这种url"view.asp?id=xxx",改成"view.asp?id=xxx or 1=1",相信你会看到不一样的东西,到了.net,应该很少了,不过上次看到有人说CSDN爆过哦,简单的解决方法是在取得数据时做数据类型验证或转换。比 阅读全文
posted @ 2010-12-25 21:25 左正 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 今天的文章不涉及到代码方面的东西,只是说说思想方面的东西,当然,我说的这些其实很简单,毕竟我也只是做了2年的程序而已,但未必每个团队都是这么做的。首先就是如何分层,分几层。很多情况下,三层架构是最常用的思想。的确,数据库访问,业务,页面。但有了服务,接口,对象的概念以后,很多人并不只是简单的在三层上实现。当然视项目大小而言,如果是个小功能,把所有代码也一个页面上也未必不可。分层的优势就是在于提高可维护性。我认为一个完善的架构,我不得不说的就是规范性的东西,我认为规范是个很重要的东西,当然,规范不只是说大家统一用某种形式命名变量,方法等等,这只是对程序员而言的规范,如果这个划做横向规范的话,那么 阅读全文
posted @ 2010-12-25 21:21 左正 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 处在待业状态最适合做的事情就是对以前的工作和学习做一个总结。 读过一些开源的架构,比如PetShop的架构,Nhibernate的架构,ibatis.net的架构。 自己写过的架构,从最早的简单三层,到面向服务,面向对象,面向接口编程思想的架构的转变,顺便乘着空余时间做下总结,很分析。 也希望得到高人指点,给初学者一些帮助。 我个人不是太过喜欢于ORM框架,但如果在适合的时候或者对ORM有偏向的时候,我想我也会对架构做一个ORM设计,但目前不是。 从整体来说,整个架构设计采用服务的思想,比如ObjectService继承于IObjectService接口。这个就是接口服务层和实现服务层的组成。 阅读全文
posted @ 2010-12-25 21:10 左正 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 大多数用户看到”该页无法显示",”服务器内部错误"等默认错误提示信息会立马关闭浏览器窗口,我们为什么不能自定义一下呢?让用户从错误信息中得到真正的帮助?错误信息的页面应该做到以下几点:1.给普通访客友好提示。告诉他们这是怎么了,简单,再简单,不要出现技术专业词汇,同时告诉他们一些建议如何避免和解决当前的错误。2.给网站管理员提示。比如如果程序的确运行错误后,我们需要得到详细错误信息,所以我们屏蔽错误信息的页面应该给予提示如何打开详细错误信息,而且要操作简单,容易,让管理网站的人即使不懂 .net 也能修改配置打开错误信息显示。3.屏蔽详细的应用程序错误信息。为了安全,我们一般隐藏应用程序的详细 阅读全文
posted @ 2010-12-25 19:43 左正 阅读(615) 评论(0) 推荐(0) 编辑
摘要: http://www.mypm.net/articles/show_article_content.asp?articleID=14698&pageNO=1 阅读全文
posted @ 2010-12-25 19:27 左正 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 读取源代码是每一个开发人员成长的必经之路,一份优秀的源代码,是作者多年开发技术的心血结晶,研究一份优秀的源代码,总是能够让你的技术得到一定程度的提升。然后,读别人的源代码并不是拿着代码在那里瞎看,而是要充分了解作者的编程思路,了解代码的优点和缺点,在了解作者思路的基础上,自己尝试写出比该代码更优秀的代码,才能达到“通透”的境界。如果在读取源代码时能够遵守以下准则,那么效果就会更好。准则1:必须尊重作者的劳动成果。我们读取别人的源代码后,如果需要拿到自己的项目中使用,建议能够在代码处详细注明代码的出处(但我们中国人很多都不重视这一点,外国人比较重视,我看fyiReporting的源代码时,作者如 阅读全文
posted @ 2010-12-25 19:24 左正 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 昨天写自动化测试的CASE的时候,碰到一个疑难杂症,调用截图的函数去截取一个Popup窗口,但是总是把背景程序给截下来,Popup窗口就跟看不到一样。本来以为是同步的问题,也就是以为先截图再点击弹出Popup窗口了。后来加了N个Thread.Sleep来测试,发现根本不是因为这个原因,而是截图的函数截不下来这个窗口。这个为啥呢,只好把截图的函数代码翻出来看,以前是用这种方式的:BitBlt(dcImage, 0, 0, (int)(rect.Width), (int)(rect.Height), dcScreen, (int)(rect.Left), (int)(rect.Top), Tern 阅读全文
posted @ 2010-12-25 19:20 左正 阅读(1837) 评论(0) 推荐(0) 编辑
摘要: 对于ASP.NET Forms验证,想必大家都非常的熟悉。然而,在控制用户的(过期时间)expired time的时候,你是否遇到过一些奇怪的现象呢?虽说只是一个小小的cookie,但是其中可能有很多的东西你都不知道。今天我将和大家详细讨论一下cookie的注意点。在ASP.NET 的Forms验证中,通常我们会使用ASP.NET自带的Login控件来进行验证。同时,在web.config文件中,我们所有的Forms设置都设为默认。现在,问题就来了。1) 为什么我明明点了"Remember me",而大概半个小时后,我又Log out了?2) 为什么我明明设置了timeout为无限期 e.g. 阅读全文
posted @ 2010-12-25 18:05 左正 阅读(276) 评论(0) 推荐(2) 编辑
摘要: 现在网络上已经到处可以看到使用模板开发出来的网站。使用模板开发网站有很多好处,最主要的就是模板与程序完全脱离,用户可以根据规定好的标签任意开发模板,导入到模板引擎里就能正常运行。所以美工人员跟程序编写人员彻底的独立了。提高了开发网站的效率,程序的重用性发挥的淋漓尽致。 智能建站系统、速成网站、自助建站系统、只会打字就能做网站,等等广告字眼我们已经不再陌生了,所有的这些无非都是围绕着模板做文章。也正是因为这样的系统越来越普及,对于要求不高的企业或者个人用户,拥有一个完全属于自己的网站,用现成的模板要比找网络公司定制省钱的多。性价比要高的多,所以目前中小型网络公司的生存问题堪忧。 提供模板做论 阅读全文
posted @ 2010-12-25 17:55 左正 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 这是我的"基于WF设计业务流程平台"的题外篇 以下是这系列的文章列表,写的很痛苦,但我会继续写下去基于WF设计业务流程平台-架构基于WF设计业务流程平台-权限体系基于WF设计业务流程平台_特定群体与特定人基于WF设计业务流程平台_参与者与任务列表基于WF设计业务流程平台_功能列表基于WF设计业务流程平台_参与者的权限基于WF设计业务流程平台_权限在流程模板外部映射基于WF设计业务流程平台_消息收集、通知接口基于WF设计业务流程平台_数据冲突 正文最近,"工作流"这个名词在企业应用中越来越多的被提及.在很多朋友在向我询问工作流细节时,都会问我一个问题,"我们需要工作流吗?" 本文以一个企业应用为 阅读全文
posted @ 2010-12-25 00:06 左正 阅读(542) 评论(0) 推荐(0) 编辑
摘要: 经常听到身边有很多搞开发的朋友说,“哎,程序员不好混,等到30岁后就要没有什么公司要了”、“计算机技术更新得太快了,过了30岁如果我的学习能力下降了,就跟不上了,到时候该怎么办”、“我的那些同学刚出来做其他行业每个月拿1000元,现在都每个月上万了,房子和车子都有了”、“如果有机会,我一定要转行”,”做技术在外国可以,但在中国行不通,国情不允许“,整天发这些牢骚的情况在我身边大有人在,尤其是一些入门不久的朋友,其实说到底,都是源于他们内心的恐惧,内心对于未来不可知的恐惧。 其实,我们每个人的内心中基本都有过相同的经历,随着自己的认识不断提高,视野扩大了,于是也就慢慢克服自己心中的恐惧了。从表面 阅读全文
posted @ 2010-12-24 23:46 左正 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 最近在公司做开发的时候,需要开发一个自动备份的功能,于是我想到了SQL SERVER备份调度功能,于是打开SQL SERVER 备份调度界面,想照样画葫芦做一个,然后20分钟就把该功能做出来。30分钟过去了,我的界面依然还没有做完,原来打算很快做完的界面却总是离目标遥遥无期,当把所有功能做出来时竟然花了45分钟,于是,我仔细地研究了该功能,居然从中发现了该功能的3个秘密:(1) 该功能为我们提供了快捷键,即使是LABEL上也提供了快捷键,使该软件能够适应不同的用户习惯操作。(2) 开发该功能的工程师确实很细心,什么样的日期以及时间备份都帮你考虑到了,你根据该功能,选择适合你的程序的备份时间。( 阅读全文
posted @ 2010-12-24 23:41 左正 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 1). 操作权限:什么资源,有什么权限?1.用户有什么权限?2.角色有什么权限?3.有什么权限可以访问哪个模块?2). 数据权限 什么对象-对-什么资源有什么权限?1.哪个用户对哪个用户有什么权限?2.哪个用户对哪个角色有什么权限?3.哪个用户对哪个组织机构有什么权限?4.哪个角色对哪个用户有什么权限?5.哪个角色对哪个角色有什么权限?6.哪个角色对哪个组织机构有什么权限? 阅读全文
posted @ 2010-12-24 23:19 左正 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 为客户在SharePoint的基础上搭建了一个门户,但是客户又反映说首页打开太慢,通过Fillder工具查看,页面打开速度大概在5秒左右。 其实对于一个SharePoint站点来讲,打开速度在3-4秒还是一个可以接受的范围,但是我们的首页放了太多的内容,包括图片、Flash、还有N多个WebPart,以至于要不断的从数据库交互。 首先想到的解决方案是在页面上加Cache,从Web层到数据层都可以考虑加Cache,但是这个方法很快就被否决了。因为SharePoint2007还不支持对自定义的页面加载Cache。 第二个解决方案,生成静态页面,当用户访问时,让其访问静态页面。 关于生成静态页面,方 阅读全文
posted @ 2010-12-24 23:02 左正 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 这些年,互联网垃圾站已经成为一个非常大规模的产业,所谓天下文章一大抄,特别是在版权意识不强的中国,这个现象尤为严重,当一个网站辛苦整理的资料被人疯狂转载的时候,原创的网站可能都会被当成是垃圾网站了。在以往,搜索引擎不是很喜欢论坛和博客的资料,也许以为灌水过多,价值不大,可是现在发现搜索引擎非常青睐博客和论坛这些原创资料。我们总是希望搜索引擎多收录我们的资料,以便提高流量,所谓seo,可是反过来,当我们被搜索引擎抓取的时候,也是非常适合那些垃圾站的抓取。这可是有点两难。我们看到很多网站都开始转向偏向于宁可少被百度收录,也要保护自己的版权。常见的办法是把内容做成图片,把文字做成图片的软件还是比较多 阅读全文
posted @ 2010-12-24 22:54 左正 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章说到了敏捷对于项目目标的看法,比传统的照章办事进了一步。有同学在评论中很精辟的指出了项目的终极目的是客户/员工/公司共赢,这堪称是项目管理的最高境界。还有同学对“客户说得一切都是正确地”这一观点提出了不同的看法,可能是我没有表述清楚,今天就从这里说起。客户说的一切都是正确的,是因为客户没有骗你的必要,他说得都是他的真实想法。当然,他的想法可能并不现实,这很正常,因为客户不是软件专家,不能指望客户提出解决方案,这应该是需求分析师的活儿。而且客户想要的通常大于他给出的报酬,是公司所不能接受的。那怎么办?答案是把客户的利益和公司的利益统一在一起。从客户的角度考虑问题可以把项目做到客户满意, 阅读全文
posted @ 2010-12-24 22:04 左正 阅读(196) 评论(0) 推荐(0) 编辑
摘要: C#和java是号称90%的相同加上10%的不同。因此当时我学习C#,阅读两种代码完全没有什么阻碍。对C#了解得深入以后,来发表下对这两种语言各自特性的一些看法比较起java和C#大相径庭的那10%,会发现C#五花八门的特性要多很多。比较知名的有:委托,属性,真正的泛型,索引器,类初始化器,分部类,操作符重载,struct,unsafe代码,IDisposable等,另外.net framework 3.5还加了一大串纯粹由编译器提供的特性。委托,这个可以算是C#之于java的最大优势。虽然java可以依靠接口,匿名内部类这些特性实现委托一样的功能,但却要麻烦许多,如果涉及到N个委托实例相加的 阅读全文
posted @ 2010-12-24 21:59 左正 阅读(444) 评论(0) 推荐(1) 编辑
摘要: “坦白地说,微软所面临的挑战之一是它的很多员工还没有遭遇过多少失败。很多人从未遇到过失败的项目。结果是,人们把成功视为理所当然的事,这是很危险的。。。人们遭遇失败时,将被迫发挥出创造性,不分昼夜地深入探索并冥思苦想。每个公司都需要有过这种经历的人。”——比尔.盖茨“犯错的重要性”,《美国航空杂志》,1995年7月上面这段话是摘自《软件开发的滑铁卢——重大失控项目的经验与教训》一书的,两个月前第一次看到这段话,那时刚好经历了一个让我印象无比深刻的项目,对这段话也特别有感触,就第一时间放到了blog上。两个月过去了,又重新找出这本书来看,对作者提到的一些现象有了更深的共鸣。鉴于这本书目前尚没有中文 阅读全文
posted @ 2010-12-24 19:47 左正 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 最近笔试和面试了不少同学,觉得中国的计算机教育真是有很大的问题,老师太垃圾了,很多同学啥都不会就出来找工作了,所以给毕业生提些建议。因为毕业生本来没有什么开发经验,所以我们很少考毕业生什么具体的技术例如aspx、Ajax、Hibernate、ADO什么的,考了也做不出来,做出来也是垃圾。这些具体的技术可以在工作中学习。如果面试官一上来就问你会不会Ajax什么的,肯定是个烂公司,没打算长期培训你。我们要的人最基本的要求是态度好+逻辑清晰,否则写出来的代码是垃圾,以后没人敢维护。计算机逻辑不清楚的人最好不要做计算机,宁可去坐坐小生意好了,否则越做越累,真是耽误自己的前途。给毕业生的建议如下,估计狂 阅读全文
posted @ 2010-12-24 19:36 左正 阅读(158) 评论(0) 推荐(1) 编辑
摘要: 当我们优化一个系统时,有时发现一种情况就是自己修改SQL,索引以及分区是不能解决性能问题的。这时你要考虑业务逻辑优化和表设计的重构。这两点的确和设计结合的很紧密。 业务逻辑优化 结合实际,我们先谈谈业务逻辑优化。 案例一: 我们的系统一个文档模块,客户点击时很慢,通过性能分析,是点击是去查询数据库,这时系统是通过Hibernate来两步处理: 1,计算该类型的文档数量总数。 2,显示最新文档的前20篇文档。 这时显示第二步的时间是很快的,只取20条记录,但是计算该类型的所有总数很慢。系统的这时的输入是很大的(计算该类型的全部文档,可能有几万篇数据),输出就一条总数。这时因为业务逻辑复杂,即 阅读全文
posted @ 2010-12-24 19:22 左正 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 设计模式这个词无论是从字面上还是从具体意义上看都有着一种与众不同的气质.单说设计和模式都是够份量的词. 名词解释:引自百度知道 设计: 人类通过劳动改造世界,创造文明,创造物质财富和精神财富,而最基础、最主要的创造活动是造物。设计便是造物活动进行预先的计划,可以把任何造物活动的计划技术和计划过程理解为设计.意指有目标和计划的创作行为. 模式: 前人积累的经验的抽象和升华。简单地说,就是从不断重复出现的事件中发现和抽象出的规律,是解决问题的经验的总结。只要是一再重复出现的事物,就可能存在某种模式。 一般一听说别人是搞设计的都非常佩服,无论是否是IT行业,觉的做设计的总是能从全局出发,均衡 阅读全文
posted @ 2010-12-24 19:12 左正 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 在设计网站时,网站被访问情况和用户使用情况是网站设计的一个重点。 利用Application对象和Session对象可以统计当前在线用户数量。下面分别介绍这两个对象。 (1)Application对象是HttpApplication类的实例。它可以在多个请求、连接之间共享公用信息,也可以在各个请求连接之间充当信息传递的管道。此对象的生命周期起始于IIS开始运行并且有人开始连接时,终止于IIS关闭或者若干时间内无人连接时。当Application对象的生命周期开始时,Application_Start事件会被启动,当Application对象的生命结束时,Application_End事件会被启 阅读全文
posted @ 2010-12-24 18:55 左正 阅读(671) 评论(0) 推荐(3) 编辑
摘要: Hibernate Query Language(HQL)提供了十分强大的功能,推荐大家使用这种查询方式。HQL具有与SQL语言类似的语法规范,只不过SQL针对表中字段进行查询,而HQL针对持久化对象,它用来取得对象,而不进行update、delete和insert等操作。而且HQL是完全面向对象的,具备继承、多态和关联等特性。1.from子句from字句是最简单的HQL语句,例如 from Student,也可以写成select s from Student s。它简单地返回Student类的所有实例。除了Java类和属性的名称外,HQL语句对大小写并不敏感,所以在上一句HQL语句中,fro 阅读全文
posted @ 2010-12-20 22:18 左正 阅读(289) 评论(0) 推荐(1) 编辑
摘要: 1问:Hibernate初始化时总是报错:java.lang.NoClassDefFoundError Hibernate初始化时出现出错代码: java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException 答:这是新手常见问题。是因为使用默认设置时,Hibernate文档里指出的Hibernate库不完整,缺少ehcache.jar(用于支持Ehcache的相关文件)。配置中加入以上文件,就可以避免初始化时出现java.lang.NoClassDefFoundError:net/sf/ehcache/CacheException异 阅读全文
posted @ 2010-12-20 22:17 左正 阅读(295) 评论(0) 推荐(1) 编辑
摘要: 1. net.sf.hibernate.MappingException 当出现net.sf.hibernate.MappingException: Error reading resource:…异常时一般是因为映射文件出现错误。 当出现net.sf.hibernate.MappingException: Resource: … not found是因为XML配置文件没找到所致,有可能是放置目录不正确,或者没将其加入hibernate.cfg.xml中。 2. net.sf.hibernate.PropertyNotFoundException 当出现net.sf.hibernate.Pr 阅读全文
posted @ 2010-12-20 22:16 左正 阅读(258) 评论(0) 推荐(1) 编辑
摘要: 批量更新是指在一个事务中更新大批量数据,批量删除是指在一个事务中删除大批量数据。以下程序直接通过Hibernate API批量更新CUSTOMERS表中年龄大于零的所有记录的AGE字段: 如果CUSTOMERS表中有1万条年龄大于零的记录,那么Session的find()方法会一下子加载1万个Customer对象到内存。当执行tx.commit()方法时,会清理缓存,Hibernate执行1万条更新CUSTOMERS表的update语句: view plaincopy to clipboardprint? update CUSTOMERS set AGE=? …. where ID=i; up 阅读全文
posted @ 2010-12-20 22:15 左正 阅读(421) 评论(0) 推荐(0) 编辑
摘要: User u = (User) users.get(0); u.setName("新用户名" + count); //当count为20的倍数时,将更新的结果从Session中flush到数据库 if ( ++count % 20 == 0 ) { session.flush(); session.clear(); } } tx.commit(); HibernateUtil.closeSession(); } 通过这种方式,虽然可以执行批量更新,但效果非常不好。执行效率不高,而且需要先执行数据查询,然后再执行数据更新,并且这种更新将是逐行更新,即每更新一行记录,都需要执行一条update语句 阅读全文
posted @ 2010-12-20 22:14 左正 阅读(849) 评论(0) 推荐(0) 编辑
摘要: insert方法 public void insert(Object o){ Session session = HibernateSessionFactory.currentSession(); Transaction t = session.beginTransaction(); session.save(o); t.commit(); HibernateSessionFactory.clossSession(); } delete方法 public void delete(Object o,Serializable id){ Session session = HibernateSess 阅读全文
posted @ 2010-12-20 22:14 左正 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 1)inverse中提及的side其实是指一个类或者表的概念,双向关联其实是指双方都可以取得对方的应用。 2)维护关系这个名词还是稍显模糊或者晦涩。我们一般说A类或者A表(这里的表的是指多对多的连接表)有责任维护关系,其实这里的意思是说,我在应用在更新,创建,删除(读就不用说了,双向引用正是为了方便读而出现)A类或者A表时,此时创建的SQL语句必须有责任保证关系的正确修改。 3)inverse=false的side(side其实是指inverse=false所位于的class元素)端有责任维护关系,而inverse=true端无须维护这些关系。 4)我们说inverse设立不当会导致性能低下, 阅读全文
posted @ 2010-12-20 22:13 左正 阅读(414) 评论(0) 推荐(0) 编辑