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