Struts是应用较为广泛的MVC框架,对servlet作了较好的封装,可以快速的实现MVC模式及拦截器等功能,并且可以方便的和spring结合使用。本文将对struts2的基本配置进行简单说明(这里仅涉及纯Struts2配置,不涉及与Spring的整合)。 首先下载并应用struts2的jar包,官网地址http://struts.apache.org/,本配置说明基于struts2.1.8... Read More
posted @ 2012-05-23 17:29 Charles-Lee Views(375) Comments(0) Diggs(0) Edit
spring是在Java中应用最广泛的IOC框架。spring的兴起源于控制反转的思想(或DI,依赖注入),传统的软件开发就像造房子,一层一层的累加上去;而控制反转的思想就像造汽车,先制造部件,然后组装起来,让各个部件一起工作。因此使用IOC的方法进行软件开发可以获得更大的灵活性,可以在任何时候把部件拆开并重新组装。当然IOC并非全都是优点,制造并组装很自然的会增加组装的开销,当部件粒度太小,组... Read More
posted @ 2012-05-23 17:28 Charles-Lee Views(336) Comments(0) Diggs(0) Edit
hibernate是java中常见的一种ORM解决方案,可以实现数据库类型无差别化,以对象方式快速访问数据,极大的提高开发效率。由于hibernate框架本身的配置选项和应用十分庞大复杂,因此这里只对hibernate的基本配置使用加以说明。 首先当然是下载Hibernate框架。可以从官方站点上下载最新的版本,下载地址http://www.hibernate.org/downloads,本文... Read More
posted @ 2012-05-23 17:27 Charles-Lee Views(283) Comments(0) Diggs(0) Edit
1.创建站点及虚拟目录。在Eclipse中创建新的Dynamic Web Project(这里命名为WebTest)。在文件WebContent目录下新建index.html ,然后在Tomcat中创建指向WebContent的虚拟路径(这里命名虚拟路径为jtest)。配置完成后在浏览器中输入地址http://127.0.0.1:8080/jtest/index.html,测试站点是否启动运行。... Read More
posted @ 2012-05-23 17:25 Charles-Lee Views(421) Comments(0) Diggs(0) Edit
一般只需要把Java站点文件夹或*.war文件拷贝到Web Server的webapps文件夹下,即可启动运行该站点,但更多时候,我们并不想拷贝站点,而是希望Web在Server文件夹之外运行,这时就需要配置虚拟目录了。不同的WebServer配置虚拟目录的方式不太一样,这里的配置方法仅针对Tomcat和Jetty。 Tomcat:找到并打开Tomcat目录下的conf/server.xml文... Read More
posted @ 2012-05-23 17:24 Charles-Lee Views(2120) Comments(0) Diggs(0) Edit
在Eclipse中只要创建一个Dynamic Web Project,就可以根据创建向导创建出一个典型Java Web站点的目录结构。除非有特殊需要,在大多数情况下都没有必要修改这个目录结构,这也是Web容器的缺省目录结构,我们只要直接使用即可。一般的目录结构如下: WebContent (站点根目录) |---META-INF (META-INF文件夹) | |---MANIFEST.MF ... Read More
posted @ 2012-05-23 17:23 Charles-Lee Views(1318) Comments(0) Diggs(1) Edit
如何把 java 程序编译成 .exe 文件。通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了;而另一种是使用 JET 来进行 编译。但是 JET 是要用钱买的,而且据说 JET 也不是能把所有的 Java 程序都编译成执行文件,性能也要打些折扣。所以,使用制作可执行 JAR 文件包的方法就是最佳选择了,何况它还能保持 Java 的跨平台特性。下... Read More
posted @ 2012-05-23 17:21 Charles-Lee Views(555) Comments(0) Diggs(0) Edit
.NET与Java,因这两种技术的相似性,总是会让人拿来做比较,并且总有人想让二者一分高下,最后得出孰优孰劣的结论。由于本人先用.NET,后转Java,现在.NET与Java二者并用,所以对二者间的差异颇有体会,胸中之词,不吐不快。 CLR VS JavaVM。虚拟机的概念让Java/C#这些比C/C++更为高级的语言成为现实。Java虚拟机的确是划时代之作,在功能、性能、跨平台等各个方面都非... Read More
posted @ 2012-05-23 17:18 Charles-Lee Views(660) Comments(3) Diggs(2) Edit
微软发布的dotnetfx2.0是相当成功的开发框架,由此产生了大量基于.NET2.0的应用,微软后来发布的dotnetfx3.0及dotnetfx3.5都是对2.0的扩展,并添加了很多新的特性(如:linq、wpf、wcf、wwf、Lambda、类型推断及简化的语法等),但碍于庞大的dotnetfx3.5安装部署都十分困难,dotnetfx2.0应用依然十分普遍。几个月以前微软发布了dotne... Read More
posted @ 2012-05-23 17:15 Charles-Lee Views(1152) Comments(2) Diggs(0) Edit
需求:建立一个类库TestControls,这个类库中包含若干ASP.NET服务器控件,其中有一些会调用客户端的JavaScript函数,把这些函数放入TestScript.js中。 下面演示一个例子,把上面的需求再简化一下,类库还是要建立的,里面只有一个服务器控件TestControl,这个控件没有界面,只负责把 JavaScript脚本注册到网页中即可,为了快速看到效果,脚本文件里面不加函... Read More
posted @ 2012-05-23 17:11 Charles-Lee Views(255) Comments(0) Diggs(0) Edit
当SQLServer数据库越来越庞大,而其中的表有非常多的时候,想要知道到底是哪些表最耗存储空间,到底该怎样统计各个表的存储大小呢?其实SQLServer提供了一个sp_spaceused的系统存储过程可以实现该功能,下面就是调用的SQL: create table #tb(表名 sysname,记录数 int ,保留空间 varchar(10),使用空间 va... Read More
posted @ 2012-05-23 17:02 Charles-Lee Views(558) Comments(0) Diggs(0) Edit
在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。 标准库 标准库中提供了C++程序... Read More
posted @ 2012-05-23 16:55 Charles-Lee Views(151) Comments(0) Diggs(0) Edit
标准C++库常见函数 1、 格式化输出: 1) width()函数:可以为接下来的所有显示要素指定默认的宽度。 2) setw()函数:设置数据项实用的宽度 3) fill()函数:当输入宽度非默认宽度时可以设置填充字符的值 4) setiosflags(ios::left)函数:表示输出值的对其方式 5) dec、hex和oct本别表示十进制、十六进制和八进制 6) put:把单个... Read More
posted @ 2012-05-23 16:52 Charles-Lee Views(711) Comments(0) Diggs(0) Edit
C++标准库非常大。在C++标准中,关于标准库的规格说明占了密密麻麻300多页,这还不包括标准C库,后者只是 "作为参考"包含在C++库中。 当然,并非总是越大越好,但在现在的情况下,确实越大越好,因为大的库会包含大量的功能。标准库中的功能越多,开发自己的应用程序时能借助的功能就越多。C++库并非提供了一切(没有提供并发和图形用户接口的支持),但确实提供了很多。几乎任何事都可以求助于它。 因为标准库中东西如此之多,你所选择的类名或函数名就很有可能和标准库中的某个名字相同。为了避免这种情况所造成的名字冲突,实际上标准库中的一切都被放在名字空间std中。但这带来了一个新问题。无 Read More
posted @ 2012-05-23 15:01 Charles-Lee Views(166) Comments(0) Diggs(0) Edit
在做页面开发的时候,使用Javascript拖动DOM元素是常见的一种操作,每次对于拖动都要检测元素的onmousedown、onmousemove、onmouseup三个事件,并分别处理各种事件响应,对于这样通用的操作,就可以写一个拖动管理类来实现元素拖动的逻辑! 下面的代码使用了事件管理对象JEvent,JEvent的代码参见上一篇日志:Javascript处理DOM元素事件./* *功能:拖动元素 *Author:LQB *时间:2009-1-7 * #include JEvents*/ var JDrag = function(){ this.src_element =... Read More
posted @ 2012-05-23 14:55 Charles-Lee Views(545) Comments(0) Diggs(1) Edit
DOM元素都有一些标准事件,一般使用时只要使用onclick=function的方式就可以了,但是当需要为DOM元素添加多个事件,删除事件,或在用Javascript封装控件的时候,为封装的控件添加自定义事件的时候,onclick=function的方式就不够用了,但是浏览器有addEventListener和attachEvent方法可供调用,从而模拟出类似于C#中的事件委托的事件触发机制! ... Read More
posted @ 2012-05-23 14:49 Charles-Lee Views(835) Comments(0) Diggs(0) Edit
JQury框架绝对是页面开发的首选,代码短小强悍,缺点就是面向对象特性不足,所幸有不少插件!至于Ext就是一个庞然大物了,高度面向对象,类似于MFC的庞大API和控件库,运行起来,浏览器就累得够呛,开发也够呛,使用代码来创建界面绝对是个糟糕的方式,Javascript的弱语言类型使得Ext开发就像行走在雷区,减少bug的唯一方法就是不要写出bug,一旦出现bug,调试将是一件极为痛苦的事情 !在几千行代码里跟踪、跳转真让人抓狂! Javascript做面向对象开发的时候,总是会用到很多模拟面向对象特性的方法,这些方法就构成了支撑面向对象Javascript的核心代码,以下就是部分代码,其中参. Read More
posted @ 2012-05-21 18:19 Charles-Lee Views(504) Comments(1) Diggs(0) Edit
众多编程语言都有类似import、include、using等关键字实现引入其它源码文件的功能,但是Javascript却不没有这样的关键字,但是我们可以自己来实现import方法: var JCore = {//构造核心对象 version:1.0, $import:function(importFile){ var file = importFile.toStri... Read More
posted @ 2012-05-21 18:05 Charles-Lee Views(13041) Comments(0) Diggs(1) Edit
Javascript已经可以模拟出面向对象的封装和继承特性,但是不幸的是Javascript对多态特性的支持非常弱!其它面向对象语言的多态一般都由方法重载和虚方法来实现多态,Javascript也通过这两种途径来实现! 重载:由于Javascript是弱类型的语言,而且又支持可变参数,当我们定义重载方法的时候,解释器无法通过参数类型和参数个数来区分不同的重载方法,因此方法重载是不被支持的!当先... Read More
posted @ 2012-05-21 17:58 Charles-Lee Views(1208) Comments(0) Diggs(1) Edit
在Javascript中,一切皆是对象,所谓的类也只是用来模拟其它面向对象语言的class的对象而已,例如: function MyClass() {}//定义一个类MyClass.call();//其实这个类本身也是一个对象 在上面的代码中,并没有为MyClass定义call方法,但是却可以调用call方法,其原因就是JavaScript的原生对象在发挥作用。通过function关键字定义一... Read More
posted @ 2012-05-21 17:53 Charles-Lee Views(588) Comments(0) Diggs(0) Edit