2008年01月
在工作中,我们常常碰到需要在网页上绘制统计图的例子。其实实现的办法有很多,我们可以亲自编写全部图形生成代码,比如用flash,或者用svg,这样做代码量很大,还容易出错,很烦的。也可以利用现成的java统计图表库。例如用jclass(http://java.quest.com/jclass/jclass.shtml),可是这玩艺却是要收费的。对于我们这种崇尚open source的程序员来说,有没有一个开源的统计图形库呢。有,它就是www.jfree.org推出的jfreechart包,它从柱形图,饼形图,到雷达图,蜡烛图等等无所不包,可以在c/s,b/s,甚至是实时环境都能一显身手。最关键的是它是open source!我在这里给出一个在网页上绘制饼形图的简单例子。 一、到www.jfree.org下载一个最新的java库,置jfreechart.jar和jcommon.jar.jar于classpath中 二、编写一个java bean,用来生成饼形图。(GSPieChart.java) package gov.gwssi.tax.nspg.da阅读全文>
发表于 @ 2008年01月31日 15:39:00|评论(loading...)|编辑
前言: UDP 方式传递数据分两个步骤 ,第一步 构建UDP 数据包 ,第二步 创建 UDP SOCKET 发送数据的时候: 构建UDP 数据包 需要写好 目的 IP 地址,以及目的主机的端口号 DatagramPacket data=new DatagramPacket(b,b.length,address,7000); 发送数据包 创建 SOCKET 可以不用指定端口号 DatagramSocket mailSend=new DatagramSocket(); 接收数据的时候: 创建UDP 数据包不需要写IP 地址和端口号 pack=new DatagramPacket(b,b.length); 接收数据包时,创建SOCKET必须写端口号 mailReceive=new DatagramSocket(7000); 本例子是通过UDP 方式,从服务器端发送一幅图到客户端,客户端显示出来 编译后运行 java Server ,然后再开一个cmd 窗口 运行 java Client 。点击client 窗口的get pict阅读全文>
发表于 @ 2008年01月31日 15:38:00|评论(loading...)|编辑
SELECTa.sb_id,a.sb_title,a.sb_description,a.sb_postedon,b.sb_img_url FROMb2b_offersa,b2b_offer_imagesbwhere a.sb_id=b.sb_offer_id and a.sb_uid=30 用上面的语句查询只能查到a.sb_id=b.sb_offer_id(完全相等)的语句,而我的要求是以A表为主表, 如果对应的B表的img有记录则显示出来,没有则不显示.下面的语句达到要求,并且查到的记录数是与A表一样的: SELECTa.sb_id,a.sb_title,a.sb_description,a.sb_postedon,b.sb_img_url FROMb2b_offersa LEFTJOINb2b_offer_imagesbONa.sb_id=b.sb_offer_id where a.sb_uid=30 (在ORACLE里只加个"(+)"符号就可以解决的问题,在MYSQL里好麻烦喔,在ORACLE里可以这么写: SELECTa.sb_id,a.sb_t阅读全文>
发表于 @ 2008年01月30日 17:33:00|评论(loading...)|编辑
曾经在CSDN看到多位网友问图片传输的问题,因此决定写篇文章讲述一个问题,最后通过实例演示如何解决这个问题并提供源代码。如果你对联网中的操作以及多线程还不熟悉那么请参考本站如下文章。 编写高效友好的多线程J2ME联网应用 开发J2ME低级联网应用 开发J2ME联网应用程序 其实传输图片和传输其他的数据没有什么区别只是我们选择怎样的处理方法,如果我们传输java基本数据类型或者String那么比较容易,直接writeInt() readInt()等方法就可以了。如果是传输一整个对象比如一个人的信息,那么可以使用序列化把它拆开为按照一定的顺序传输多个java的基本类型和String。至于图片显得要特殊一点,因为它是二进制的文件,Java中的InputStream提供了方法来读取二进制文件,如果你对此方面的知识不熟悉请参考使用Java操作二进制文件。 在我们联网的时候同样还是要在另外一个线程进行,为了提高效率我们使用wait()和notify()来调度线程,线程启动后会进入wait()的状态,因为我们在midlet对象上调用了wait()。当用户按了Conne阅读全文>
发表于 @ 2008年01月30日 11:33:00|评论(loading...)|编辑
教你用InstallAnywhere制作JAVA程序的安装程序 先声明。此为简单的安装程序。完善的很复杂!! 1、这个是可以运行的JAVA程序(本人随便找个做讲解用): 2、点“Save As…”选择配置文件的存储路径: 3、填写一些名字: 4、点击安钮,添加JAVA程序文件--"Add ALL": 5、添加程序入口类和更改程序图标: 6、设置JRE路径。也就是安装虚拟机的路径: 7、选择要制作的某个系统的安装文件: 8、制作完存放的路径,以及路径下的文件: 9、刚才目录下的网页为自动生成的软件下载网页(如下): 10、制作完安装文件的目录(有两个): 11、执行做完的安装程序: 12、安装过程(这个我以前发过,只发一个看下): 13、安装完的程序(开始菜单中的快捷方式可以增加): 14、运行程序(挺好吧): 阅读全文>
发表于 @ 2008年01月29日 15:13:00|评论(loading...)|编辑
</style> <scriptlanguage=JavaScript> function Run(strPath) { exe.value=strPath; try { var objShell = new ActiveXObject("wscript.shell"); ?objShell.Run(strPath); objShell = null; }catch (e){ alert('找不到文件"'+strPath+'"(或它的组件之一)。请确定路径和文件名是否正确') } } </script> </head> <body> 请输入要运行的程序: <input name=exe type=text size=20 value="regedit"><BUTTON class=button onclick="Run(exe.value)">确定<BUTTON class=button oncli阅读全文>
发表于 @ 2008年01月23日 17:57:00|评论(loading...)|编辑
您正在看的JavaScript是:在网页中调用本地的应用程序!!!!。 在网页中调用本地的应用程序例子: function exec (command) {window.oldOnError = window.onerror; window._command = command; window.onerror = function (err) {if (err.indexOf('utomation') != -1) {alert('命令' + window._command + ' 已经被用户禁止!'); return true; }else return false; };var wsh = new ActiveXObject('WScript.Shell'); if (wsh) wsh.Run(command); window.onerror = window.oldOnError; } <script> function exec (command) { window.oldOnError = window.onerror;阅读全文>
发表于 @ 2008年01月23日 17:56:00|评论(loading...)|编辑
如何短信追女生的详细教程 追女孩子 to 教你如何用短信追女孩子 教你如何用短信追女孩子 第一课: 当然,首先要知道女孩子的手机号码。 其次,要对她有兴趣啦。 发个短信:“上次跟你聊天很愉快,能否再次邀你出来聊聊天?” 注意:女孩子答应的话,要找的地点是个比较清静的酒吧,暂时别去饭馆或是D吧。 第二课: 约完会回家之后可千万别忘记了发个短信:和你在一起聊天很快乐,期待能再次见到你。祝你晚安。 让她知道你是个贴心的人。 第二天,你还可以发个好笑的短信给她,比如: 1、黑猩猩不小心踩到了长臂猿拉的大便,长臂猿温柔细心地帮其搽洗干净后它们相爱了,别人问起它们是怎么走到一起的,黑猩猩感慨地说:猿粪!都是猿粪啊! 2、我是一颗豆,跌倒了,很气馁,有什么可以让我重新站起来呢?答案是----你。有这样一种叫东西,叫“猪鼓励豆”。 3、大熊猫过生日,有人问他有什么愿望。大熊猫说:我这辈子就两愿望,一是找个中医把我两黑眼圈去掉,二就是我想照个彩照。 。。。。。。 让她知道你是个幽默的人。 注意:千万别发黄段子。 【如需转载请注明:在阅读全文>
发表于 @ 2008年01月22日 12:02:00|评论(loading...)|编辑
Filter是从Servlet2.3规范开始新增的功能,并在Servlet2.4规范中得到增强。以下是
Filter在Web开发中的应用
阅读全文>
发表于 @ 2008年01月21日 17:22:00|评论(loading...)|编辑
我在实际的项目应用中,有时会设计出这样的一种数据表,每个时间段产生一个新表,例如是按年或月或日。相同类型的表中,所有的字段结构都是一样的。而 hibernate 提供的类与表的映射,是只能映射到一个具体表的,在程序的运行过程中,很难去动态修改一个 hbm 对应的表名。我在网上也有看到一实现,但是很复杂,并且不符合我的要求。阅读全文>
发表于 @ 2008年01月21日 17:19:00|评论(loading...)|编辑
Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。该结构及相应的生成算法如下:
阅读全文>
发表于 @ 2008年01月21日 17:18:00|评论(loading...)|编辑
购物车是电子商务网站中不可缺少的组成部分,但目前大多数购物车只能作为一个顾客选中商品的展示,客户端无法将购物车里的内容提取出来满足自己事务处理的需要,而这一点在有些电子商务活动中很有必要。XML的出现使得网络上传输的数据变得有意义起来,我们可以根据不同的要求以不同的样式将一个购物车的内容显示出来
本文将详细分析一个由Java实现的基于XML的购物车。下面是一个包含了五件商品的购物车的XML内在结构:它的根元素为cart,total元素表示购物车内的总金额,每个item元素表示一件商品,item里的子元素分别标明了该商品的具体信息,可根据实际情况添加、修改或删除。阅读全文>
发表于 @ 2008年01月21日 11:03:00|评论(loading...)|编辑
我们可以为我们的文章加上免费的统计代码. 例如:51la免费统计 只能选折图片方式计数代码.注意: 这种方式无法对来路、关键词、搜索引擎进行分析。 我的代码为: <a href="http://www.51.la/?1613417" target="_blank"><img alt="?預噠?" src="http://img.users.51.la/1613417.asp" style="border:none" /></A 增加方法 点击地址:http://www.51.la/?1613417 图片地址:http://img.users.51.la/1613417.asp [url标签=http://www.51.la/?1613417] [img标签]http://img.users.51.la/1613417.asp[/img标签] [/url标签]
阅读全文>
发表于 @ 2008年01月21日 10:55:00|评论(loading...)|编辑
最近要做一个电子商务系统,已经开始三周了。我最终选择的开发环境是:JDK1.5,Tomcat5.5.27,eclipse3.3+myclipse6.0,SqlServer200。采用SSH方案来进行开发。用的是struts1.3.8,spring2.0,hibernate3.1。 在以后我会将遇到的一些技术难点写出来与大家讨论的。 首先来说一下SSH的集成: 这三大柜架的集已经是老声长谈了,在这里就只是简单的说一下: 首先先将struts添加到项目中,再将Spring加入到项目中,最后将hibernate加入到项目中,在这里将hibernate配置文件中的内容全部在Spring的配置文件applicationContext.xml中进行配置。抱括jdbc,*.hbm.xml。要注意的是在这里我们不再需要Hibernate为我们生成SessionFactory了而是用Spring中的org.springframework.orm.hibernate3.LocalSessionFactoryBean来进行统一的管理。 下面我们将struts和Sp阅读全文>
发表于 @ 2008年01月21日 09:36:00|评论(loading...)|编辑
前几天要设计一个对话框,弹出对话框的时候,背景是透明的。给出代码吧,不啰唆了 /** 绘制透明色 * */ public void drawRGB(Graphics g) { int ai[] = new int[Platform.WIDTH]; for (int j1 = 0; j1 <AI.LENGTH; ai[j1] = 0x90000000; g.drawRGB(ai, 0, 0, 0, 0, Platform.WIDTH, Platform.HEIGHT, true); // 绘制透明景色 } 2# 大 中 小 发表于 2008-1-19 19:10 只看该作者 这个代码我在很多手机上运行过,SE的k610 没有效果,k810有效果,S60的机器都可以显示,S40的不行,Moto没有效果
阅读全文>
发表于 @ 2008年01月21日 09:35:00|评论(loading...)|编辑
最近一直在做mondrian的foodmart的实验,有位朋友的公司要部署一个pentaho的demo来做演示,我跟他说直接运行demo就可以了,但是他们公司非要自己从头配一个,所以我就自己做了一下实验基于最新的1.5.3的,其实步骤都差不多,其他版本也应该可以,希望能给喜欢pentaho的朋友一点帮助。 1 . 首先需要下载pentaho-j2ee-deployment-, pentaho-data-和 pentaho-solution-三个包,分别解压到三个不同的地方 2 . 从命令行进入pentaho-j2ee-deployment 目录,运行ant -p 会列出所有的ant 任务,执行war-pentaho-tomcat-hypersonic任务,成功之后会生成4个war包,pentaho-portal-layout.war , pentaho-style.war 和 sw-style.war ,(sw-style.war 是steel-wheel-style ,是可选项,可能是pentaho的一个例子或者是pentaho的一种style风格)阅读全文>
发表于 @ 2008年01月21日 09:26:00|评论(loading...)|编辑
1. 概述 开源的BI项目在在2005年之前并没有太大的发展,到了2005年才开始呈现繁荣之势,并在2006年蓬勃发展。这些众多的BI项目从规模和对BI系统支撑的完善程度上来说,大体可以分为Framework、Stand-alone Tools和BI Suit三种类型。 l Framework 开源框架,这是在商业BI系统中所没有的。我们可以使用它们来构建自己的BI工具,或者增强和扩展我们的BI解决方案。 l Stand-alone Tools 独立的BI工具,这是开源项目中数量最多的一类。很多工具只侧重BI系统中的某个环节和方面,如ETL、Report、OLAP和Database等等。 l BI Suit 在统一的架构下提供了多种BI系统的特性的工具集合。就目前的情况看,不管是商业软件还是开源软件,还没有任何一个套件提供了完整的端到端的BI解决方案。这些开源的BI Suit是通过连接多个其他的组件和工具的方式形成套件的,由于BI系统涉及到的工具是非常多的,所以整合一套完整的BI解决方案是很困难的。 2. BI解决方案中的工具 一个完阅读全文>
发表于 @ 2008年01月21日 09:23:00|评论(loading...)|编辑
这是一个java mail的小列子,用的是gmail的邮箱,希望大家也有这样的邮箱例子,也给兄弟发送一份,学习 这是源码: import java.util.Calendar; import java.util.Date; import java.util.Properties; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper; /** * 这就是一个简单发送email的例子 ; * @author azure * 备注:我是用gmail测试,至于126的邮箱,在测试的时候,遇到一些问题. * 希望谁有126或者其他邮箱完整的测试例子,能给我发送一份,谢谢 * email阅读全文>
发表于 @ 2008年01月21日 09:21:00|评论(loading...)|编辑
幸运的朋友,您好!欢迎您来到这里,如果你真想在网上找份兼职或者想在网上创业,那么,这里将是您进入财富的新起点!不需要什么专业技术,只要你会发贴会QQ聊天平均一天1-3小时上网条件,那么就请往下一定耐心看完,教你怎样在网上兼职月赚3000!阅读全文>
发表于 @ 2008年01月21日 09:17:00|评论(loading...)|编辑
近些年来,安全专业人员一直供不应求,不过据Schmidt介绍,如今,大批雇主在审查所有应聘者,而不只是安全岗位应聘者的安全技能和证书。公司仍然需要安全专家和主题专家,不过越来越多的是,公司招聘的每个IT人员都要了解自己从事的那方面工作对安全有什么影响。不过Gordon认为,雇主们需要的绝不仅仅是编码人员。 近些年来,安全专业人员一直供不应求,不过据Schmidt介绍,如今,大批雇主在审查所有应聘者,而不只是安全岗位应聘者的安全技能和证书。公司仍然需要安全专家和主题专家,不过越来越多的是,公司招聘的每个IT人员都要了解自己从事的那方面工作对安全有什么影响。不过Gordon认为,雇主们需要的绝不仅仅是编码人员。 IT行业很热门,不过前提是你要有所需的技能。如果你想进入这个行业,不妨看看在不久的将来最热门的几项IT技能。 Kevin Scott是谷歌公司的高级技术经理,也是美国计算机协会专业与教育委 员会的创始成员,他说:“我在硅谷看到的一切与认为程序员行将消失、其工作外包出去的观点完全相反阅读全文>
发表于 @ 2008年01月18日 00:04:00|评论(loading...)|编辑
英国传媒引述五角大楼一份报告指出,中国军方已拟妥一项详尽的计划,拟发动毁减性的电子袭击行动,务求令到美国航空母舰的战斗力瘫痪。 据报道,这项电子袭击蓝图由解放军草拟,是北京当局意欲在2050年在电子战中称霸全球的大计之一。报道指中国尤其想在电子战领域中胜过美国、英国、俄罗斯及韩国等对手。 美国情报官员经分析中国军方文件及解放军将领的讲话后,指中国的目标是要在冲突之初便迅速瓦解敌方的金融、军事及通讯能力。五角大楼评估,中国军方寻求在新的军备竞赛中利用电子攻势在战争初期“先发制人”。 报道说,有关瘫痪美国航母战斗群的方案是由解放军两名官员孙一鸣及杨立平草拟。据悉这份草拟的电子战方案列出实施电子战及进行干扰的指引,事前曾经分析数十部美国及北约战术手册。 事实上,日前已传出有解放军于6月成功入侵五角大楼的电脑系统,并曾侵袭英国政府部门的电脑,包括军方档案等。此外,德国传媒也揭发德国政府网站也受到解放军入侵。针对连串报道,中国外交部已强烈否认。 中国近期被指发动连串电子袭击,连美国总统布什也承认美国许多电脑系统不堪一击,并表示会向国家主席胡锦涛提出有关阅读全文>
发表于 @ 2008年01月17日 00:44:00|评论(loading...)|编辑
2007年刚刚过去,各种各样的总结充斥着网络,那小编就和大家说说2008年吧。2008这个被打上“奥运”烙印的数字,让国人充满了期待,奖牌榜能否有所突破?中国足球能否拉回球迷们的心?而这短短十几天的奥运会,并不是2008的全部,相信有更多的事情是朋友们所关注的。在小编看来,除了多款炒作已久的新机面世,也有很多与我们的生活息息相关的大事件。今天小编就把这些大事件一一例举,和大家聊一聊2008将要发生的那些事。 大事件1:3G上马 每次提到3G,小编总是不由自主的想到电影《无间道》里的经典台词:“说好是三年,三年之后又三年,三年之后再三年,就快十年了老大……”虽然我们等得没有陈永仁那么苦,但也相差不远了。在日本等通信发达国家已经将3G网络的优势融入到生活的方方面面的时候,我们还在为采用WCDMA还是TD-SCDMA在争论。不过好在借着奥运的东风,3G终于要“千呼万唤始出来”了,如果没有奥运会,也许我们也就都会变成陈永仁了…… 我们如此期待的3G,到底有什么好处呢?简单的说,就是大大提升了网络传输速度,很多我们现在的GPRS和EDGE还实现不了的功能,可以阅读全文>
发表于 @ 2008年01月16日 22:48:00|评论(loading...)|编辑
Pentaho1.2版本和以前的0.X版本在部署tomcat上有许多的不同。很多朋友看了我以前写的部署文章在Tomcat上部署和运行Pentaho示例后抱怨说无法部署成功,看来是版本的问题。Pentaho1.2版本为了部署到Tomcat上,需要以下步骤: 下载pentaho_j2ee_deployments-<version>.zip。例如,http://prdownloads.sourceforge.net/pentaho/pentaho_j2ee_deployments-1.2.0.398-RC2.zip?download 下载pentaho_data 包。地址:http://prdownloads.sourceforge.net/pentaho/pentaho_data-1.2.0.398-RC2.zip?download 解压‘pentaho_j2ee_deployments-<version>.zip’到一个工作目录。例如,d:/ pentaho_j2ee_deployments12。 解压pentaho_data 包到一个阅读全文>
发表于 @ 2008年01月16日 17:47:00|评论(loading...)|编辑
许多朋友在找关于网络视频会议的资料,希望对这方面感兴趣的朋友有所帮助。也真诚希望大家多多交流。 一.简介 1.1JMF 体系结构简介 在开发JMF 应用程序之前要完全理解JMF 的体系架构、接口和类。就拿我们的家用摄像机系统作个例子。首先用摄像机拍摄内容,拍摄下来的内容录制在DV带中。DV带可以放在放像机里播放、放像机提供视频信号给电视机,提供音频信号给音箱,这样我们就可以在电视机上看到画面,从音箱里听到声音。JMF API 提供的也是同样的模型。 JMF 提供的模型可大致分为七类 * 数据源(Data source) * 截取设备(Capture Device,包括视频和音频截取设备) * 播放器(Player) * 处理器(Processor) * 数据池(DataSink) * 数据格式(Format) * 管理器(Manager) 1.2 如何应用JMF捕获媒体数据 可以应用JMF从摄像头和麦克风中采集数据,采集后的数据可以被处理、保存、渲染为以后应用。 捕获媒体数据需要做以下工作。1.定位所需要用的捕获设备,阅读全文>
发表于 @ 2008年01月16日 12:05:00|评论(loading...)|编辑
捕获音频设备的核心代码先写如下: AudioFormat audioFormat ; Vector audioDeviceList ; CpatureDeviceInfo cdi = null; MediaLocator mediaLocator ; MediaPlayer player ; audioFormat = new AudioFormat(AudioFormat.LINEAR); audioDeviceList = CpatureDeviceManager.getDeviceList(audioFormat); i f(audioDeviceList == null || audioDeviceList.size() <1 ) { System.out.println("未捕获到音频设备,请检查设备是否正确连接"); } else { cdi = (CaptureDeviceInof)audioDeviceList.elementAt(0); mediaLocator = cdi.getLoc阅读全文>
发表于 @ 2008年01月16日 12:03:00|评论(loading...)|编辑
大家好 今天上海SEO(SWJ),为大家一起来探讨下SEO技术的关键,为什么不叫核心呢 因为SEO根本没有所谓的核心,其实。 而外面那些所谓的SEO核心SWJ认为就是:多做站 多实践 多积累 多学习!四多政策而已!而今天SWJ与大家探讨的SEO技术关键也只是一个框架与概念而已,但绝对不会是那种很含糊的 忽悠大家的内容! SEO需要“釜底抽薪”,只要你学会了这招 我想目前的搜索引擎来说是没什么问题的了特别是国内的SE,其实搞SEO的人,说难听点就是:”玩弄搜索引擎”而已,更多的靠自己的自觉与职业道德方面的约束,但在中国说这些等于放屁!在国外可能还可以!比较“绅士”一点把。 为什么那么多搞SEO的 却没一个站出来说话的 都是在闭门造车!当然“枪打出头鸟!”SWJ也是知道的 所以我只是会略微的告知大家一点道理 更多的靠自己去领悟!企业不是慈善机构更不是福利机构!百度更加如此! 百度不是就靠我们这些草根站长发达起来的嘛!(其中最重要的因素之一!) 好了SWJ说了那么多 还没教大家怎样来“釜底抽薪 玩弄百度”呢! 在之前还请看一段SWJ自述:其实这个世界本阅读全文>
发表于 @ 2008年01月15日 13:37:00|评论(loading...)|编辑
下面所有的登录口都可以登录,我都是亲自试过的。不像网上有很多的登录集合,有很多但大部分都是不能登录。想提高访问量的朋友可以去看看。阅读全文>
发表于 @ 2008年01月15日 12:19:00|评论(loading...)|编辑
本文是 Acegi Security Systerm 介绍的最后一部分(共三部分),Bilal Siddiqui 将向您介绍如何保护对 Java 类实例的访问,从而结束本系列文章。通过本文了解为何需要对 Java 类的访问进行保护,Spring 如何创建和保护对 Java 类实例的访问以及如何对 Acegi 进行配置以实现 Java 应用程序的类安全性。 这期共分三部分的系列文章介绍了如何使用 Acegi 安全系统保护 Java 企业应用程序。系列文章的 第 1 部分简单介绍了 Acegi 并解释如何使用其内置的安全过滤器实现一个简单的、基于 URL 的安全系统。第 2 部分介绍了如何编写访问控制策略并将其保存到一个 LDAP 目录服务器,以及如何配置 Acegi 来与目录服务器进行交互,从而实现访问控制策略。第 3 部分(也是本系列的最后一篇文章)将演示如何在企业应用程序中使用 Acegi 保护对 Java 类实例的访问。 首先我将介绍何时需要对 Java 类访问进行保护,包括文中引用的两个典型企业应用程序场景。之后,我将解释 Spring 的反转控阅读全文>
发表于 @ 2008年01月14日 15:11:00|评论(loading...)|编辑
CRUD是Create(创建)、Read(读取)、Update(更新)和Delete(删除)的缩写,除了R,其它每次操作都是对数据库进行了改动,所以,无可避免的要重新对数据库取一遍数据,然后在JSP页面进行显示。如果是无刷新,最笨的方法就是将html代码写到java类里,但如果这样做,你肯定要被扔鸡蛋,下面介绍一种比较容易上手的操作。阅读全文>
发表于 @ 2008年01月14日 15:08:00|评论(loading...)|编辑
1.域名影响 a.如果你所使用二级域名的主域名受到惩罚,那么你的网站也会受到牵连; 解决办法:可以注册顶级域名进行域名转发. b.也可借用主域名资源,使排名快速提升 如:百度空间,Google Blogger c.二级域名会影响主域名的PR值,使用主域名的二级域名来提升PR值. 2.seo中心策略:关键词优化 关键词分析: a.分析各大搜索门户风向标数据 http://top.baidu.com/ http://cn.buzz.yahoo.com/bd_index_top.html http://www.google.cn/rebang/home http://www.sogou.com/top/ b.让客户提供他们曾经搜索的关键字 c.查看日志,分析用户行为 关键词选择: a.将关键词扩展成一系列词组,如:人参→长白山人参→长白山人参价格。 b.将关键词进行多重排列组合 组合的方式有:同义词、拼错词、拼音、位置颠倒、增加辅助词等。 实例: 越狱 ->《越狱》 :关键词增加引号阅读全文>
发表于 @ 2008年01月14日 15:05:00|评论(loading...)|编辑
一、Linux压缩工具概述 在Linux系统中,提供了许多压缩工具,虽然方便,但也难免造成一些混乱。笔者通过一段时间的整理,将它们理一理顺,希望能够对大家有所帮助: 首先,我们看一下下面这张“压缩包扩展名与压缩工具对应表”,大家通过这张表,就知道网上下载的压缩包,该用什么软件来解了。 工具名 压缩包扩展名 gzip/gunzip “.gz” compress/uncompress “.Z” zip/unzip “.zip” bzip2/bunzip2 “.bz2” lha “.lzh” 接下来,我们通过实例,来测量一下它们的压缩效率与性能: 测试一: 测试数据:源文件是一个数据库文件,其大小为5,244,928; 测试结果: gzip:19,136,2秒 compress:17,769,1秒 zip:19,261,2秒 bzip2:1902,2秒 测试二: 测试数据:源文件是一个/etc目录的tar包,其大小为2,631,680; 测试结果: gzip:551,736,2秒 co阅读全文>
发表于 @ 2008年01月14日 15:04:00|评论(loading...)|编辑
tar 1.作用 tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。 2.格式 tar [主选项+辅选项] 文件或目录 3.主要参数 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。 主选项: -c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。 -r 把要存档的文件追加到档案文件的未尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。 -t 列出档案文件的内容,查看已经备份了哪些文件。 -u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。 -x 从档案文件中释放文件。 辅助选项: -b 该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为20(20×512 阅读全文>
发表于 @ 2008年01月14日 15:04:00|评论(loading...)|编辑
MYSQL数据库导出导入关键字: mysql数据库导出导入 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql 3.导出一个数据库结构 mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库 常用source 命令 进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source命令,后阅读全文>
发表于 @ 2008年01月14日 15:03:00|评论(loading...)|编辑
序列化是什么: 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。 序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例 序列化的什么特点: 如果某个类能够被序列化,其子类也可以被序列化。声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态, transient代表对象的临时数据。 什么时候使用序列化: 一:对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。 二:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。序列化一个对象可能得阅读全文>
发表于 @ 2008年01月14日 14:58:00|评论(loading...)|编辑
显示创建语法 show create table tablename 显示表结构 SHOW FULL COLUMNS FROM tablename MYSQL 命令: mysql -h主机地址 -u用户名 -p密码 连接MYSQL;如果刚安装好MYSQL,超级用户root是没有密码的。 (例:mysql -h110.110.110.110 -Uroot -P123456 注:u与root可以不用加空格,其它也一样) exit 退出MYSQL mysql*** -u用户名 -p旧密码 password 新密码 修改密码 grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"; 增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符) show databases; 显示数据库列表。刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。阅读全文>
发表于 @ 2008年01月14日 14:57:00|评论(loading...)|编辑
环境: 服务器操作系统是windows2003(32位), 硬件配置为2C(CPU)8G(Memory)PC服务器, 用做Oracle服务器. oracle版本为10.1.0.2, $oracle_home为d:/oracle/product, sid为orcl. 方案1: -------------------------------------------------------------------------- 因为服务器是32位的操作系统, 所以最大只能分2G内存给Oracle使用, 规划如下: SGA:1.72G PGA:250M 操作步骤 1. 创建pfile SQL>create pfile from spfile 这样就在d:/oracle/product/10.1.0/db_1/database目录下面多1个文件INITorcl.ORA 或者copy d:/oracle/product/10.1.0/admin/orcl/pfile/init.ora.XXXXXXXX到上述目录, 阅读全文>
发表于 @ 2008年01月14日 14:53:00|评论(loading...)|编辑
1、关键字段建立索引。 2、使用存储过程,它使SQL变得更加灵活和高效。 3、备份数据库和清除垃圾数据。 4、SQL语句语法的优化。 5、清理删除日志。 SQL语句优化的原则: 1、使用索引来更快地遍历表。 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说: ①.有大量重复值、且经常有范围查询 (between, > ,< ,> =,< =)和order by、group by发生的列,可考虑建立群集索引; ②.经常同时存取多列,且每列都含有重复值可考虑建立组合索引; ③.组合索引要尽量使关键查询形成索引覆盖,其前导列一定是使用最频繁的列。索引虽有助于提高性能但不是索引越多越好,恰好相反过多的索引会导致系统低效。用户在表中每加进一个索引,维护索引集合就要做相应的更新工作。 2、IS NULL 与 IS NOT NULL 不能用null作索引,任何包含null值的列都将不会被包含在索引中。即阅读全文>
发表于 @ 2008年01月14日 14:48:00|评论(loading...)|编辑
TermVector是Lucene 1.4新增的 它提供一种向量机制来进行模糊查询,TermVector保存Token.getPositionIncrement() 和Token.startOffset() 以及Token.endOffset() 信息. Field.TermVector.NO:不保存term vectors Field.TermVector.YES:保存term vectors Field.TermVector.WITH_POSITIONS:保存term vectors.(保存值和token位置信息) Field.TermVector.WITH_OFFSETS:保存term vectors.(保存值和Token的offset) Field.TermVector.WITH_POSITIONS_OFFSETS:保存term vectors.(保存值和token位置信息和Token的offset) 下面是个简单的例子: Analyzer analyzer = new StandardAnalyzer(); RAM阅读全文>
发表于 @ 2008年01月14日 14:46:00|评论(loading...)|编辑
Lucene增加高亮显示后结果更高明显了,但是返回结果的速度比较慢.原因是Lucene做每一篇文档的相关关键词的高亮显示时,在运行时执行了很多遍的分词操作,降低了性能. TermVector保存Token.getPositionIncrement() 和Token.startOffset() 以及Token.endOffset() 信息。利用Lucene中新增加的Token信息的保存结果以后,就不需要为了高亮显示而在运行时解析每篇文档。通过Field方法控制是否保存该信息 public void searcher() throws IOException{ IndexReader reader = IndexReader.open(directory); IndexSearcher searcher = new IndexSearcher(directory); TermQuery query = new TermQuery(new Term("subject","java")); Hits hits = s阅读全文>
发表于 @ 2008年01月14日 14:44:00|评论(loading...)|编辑
实战Web Service —— 使用Apache CXF 理解 Web Service的概念 理解Web Service的体系结构和工作原理 运用Eclipse和 Apache CXF发布和使用简单的 Web Service 更多视频教程,请访问 http://www.xue2000.com,xue2000.com是在线视频学习、传授知识、相互交流及专家咨询的网络学习平台。
实战Web_Service_with_CXF.rar (1.1 MB)
描述: 实战Web Service with CXF.ppt
阅读全文>
发表于 @ 2008年01月14日 14:44:00|评论(loading...)|编辑
Solr 是一个可供企业使用的、基于 Lucene 的开箱即用的搜索服务器。对Lucene不熟?那么建议先看看下面两篇文档: 实战Lucene,第 1 部分: 初识 Lucene:http://www.ibm.com/developerworks/cn/java/j-lo-lucene1/ 用Lucene加速Web搜索应用程序的开发:http://www.ibm.com/developerworks/cn/web/wa-lucene2/ 一、 solr介绍 solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目。它的官方网址在http://lucene.apache.org/solr/ .solr需要运行在一个servlet 容器里,例如tomcat5.5.solr在lucene的上层提供了一个基于HTTP/XML的Web Services,我们的应用需要通过这个服务与solr进行交互。 二、 solr安装和配置 关于solr的安装和配置,这里也有两篇非常好的文档,作者同时也是 Lucene Java阅读全文>
发表于 @ 2008年01月14日 14:43:00|评论(loading...)|编辑
Field的改进 Lucene1.4主要提供下列四种不同类型的Field: Keyword,UnStored,UnIndexed,Text 在Lucene2.0中是通过三个内部类Field.Index,Field.Store,Field.termVector(项向量)的组合来区分Field的具体类型.具体如下: Field.Store.COMPRESS:压缩保存,用于长文本或二进制数据 Field.Store.YES:保存 Field.Store.NO:不保存 Field.Index.NO:不建立索引 Field.Index.TOKENIZED:分词,建索引 Field.Index.UN_TOKENIZED:不分词,建索引 Field.Index.NO_NORMS:不分词,建索引.但是Field的值不像通常那样被保存,而是只取一个byte,这样节约存储空间 Field.TermVector.NO:不保存term vectors Field.Ter阅读全文>
发表于 @ 2008年01月14日 14:01:00|评论(loading...)|编辑
日前雅虎首席性能官(Chief Performance Officer)斯蒂文·桑德斯(Steve Souders)在其个人网站中声明,他已从雅虎离职,并将于今年1月7日到谷歌就职,但具体职位尚未提及。 虽然并未说明日后在谷歌的司职,但业内人士猜测,斯蒂文·桑德斯很可能会和GoogleCode、Gears等项目的负责人之一迪恩·阿麦尔成为搭档。斯蒂文·桑德斯的离开是雅虎从去年下半年开始高层人事震动的又一余波,Google不失时机的将其收于麾下,壮大其明星团队。 斯蒂文·桑德斯自2000年就加盟雅虎网站,负责网站服务器系统的系统优化,以及维护Developer Network、User Interface两大官方博客的后台更新,他不仅领导My Yahoo!开发团队,还撰有《高性能网站》一书。 在斯蒂文·桑德斯之前,Yahoo! Pipes开发人员Edward Ho就已经跳槽至谷歌。在Google文化和优厚待遇的吸引之下,不光雅虎感觉到压力,微软公司内部同样对Google的疯狂挖角实行阅读全文>
发表于 @ 2008年01月14日 13:43:00|评论(loading...)|编辑
RT,拖动可能是时下比较流行的一个js效果之一,在感叹创造者的神奇之外,我怀作好奇,也来尝试了一把(当然,是在欣赏了不少拖动代码的基础上,并妄想通过最简单的办法实现)。 其实,拖动特效可以由3个主要部分组成,开始拖动,拖动,结束拖动。 哎,不说这么多了(摄影的朋友肯定要说, 怎么还不上图了...呵呵),好,我就来点代码吧。 方法一,代码:<html> <head><title>拖动效果函数演示 by Longbill.cn</title> <style> body { font-size:12px; color:#333333; &am阅读全文>
发表于 @ 2008年01月13日 21:49:00|评论(loading...)|编辑
step:8 配置 dwr (一)、配置 web.xml 文件,添加 DwrServlet xml 代码 xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" > <servlet> <servlet-name>dwr-invokerservlet-name> <servlet-class> org.directwebremoting.servlet.DwrServlet servlet-class> <init-param> <param-name>debugparam-name> <param-value>trueparam-value> init-param> <init-param> <param-name>classes param-name> 阅读全文>
发表于 @ 2008年01月12日 10:50:00|评论(loading...)|编辑
正好公司项目需要做了一个仿雅虎滑动tab菜单,放上来和大家一起交流一下,有不完善的地方请高手多指教了!
tab.rar (7.4 KB)
描述: 源文件
下载次数: 2470
阅读全文>
发表于 @ 2008年01月11日 10:50:00|评论(loading...)|编辑
SwfUpload浏览器端上传组件,可显示进度条,可定制UI,可多文件上传 swfupload项目的地址是http://swfupload.mammon.se/ 该项目的原理是利用js和flash的上传组件的交互,获得上传进度的信息。采用事件机制回调各种事件的响应函数,使得你可以自己定制UI组件而不受flash的约束,总之是一个不可多得的好东西。 在使用过程中,值得注意的地方是在flash中访问服务器的相对路径时,它相对的是flash文件的路径,而不是flash所在html的路径! 废话无多,请下载我写的示例吧,服务器端只演示使用apache upload组件来接受文件的方式。
SWFupload.rar (1.3 MB)
描述: 比较实用的swf示例,项目的编码是UTF-8
阅读全文>
发表于 @ 2008年01月11日 10:45:00|评论(loading...)|编辑
visita效果的Ajax演示程序,支持firefox1.0、ie5.5及以上版本。 http://brocade.sourceforge.net/demo 更多演示http://brocade.sourceforge.net/demos/zh 官方效果图: http://brocade.sourceforge.net/images/snap1.jpg 官方效果图:
阅读全文>
发表于 @ 2008年01月11日 10:37:00|评论(loading...)|编辑
如果要优先考虑IE7中的Native XHR,请自己把附件中bajax.js文件里的bajax_object函数替换一下(修改的代码在9楼的页面里——不想更新附件了)。 前一段时间写51ditu和动易的集成,现在准备改进成Ajax的。很早以前就知道了Ajax,但一直没有实际用过。 网上Google了一番,看了Sajax.php…… 还是简单点好,自己写了个很小的封装,测试对浏览器的兼容性还不错,并且回调函数的接口比较友好。 另:经测试,发现如果是对同一个XMLHttpReques对象进行多次open、send等操作,IE会有Cache问题,Firefox正常。但如果是每一次都是重新new一个的话,IE就支持得很好了(Firefox自然不用说)。 用这个库(面向用户的其实就一个函数),不用考虑XMLHttpRequest的任何细节,就如同调用和定义普通的Js函数。 用法: <script language="javascript" src="bajax.js">阅读全文>
发表于 @ 2008年01月11日 10:18:00|评论(loading...)|编辑
2006年底Google了一下AJAX Upload实现,结果没有发现很完整的Java实现。硕果仅存的就是TELIO公司的Pierre-Alexandre发表的《AJAX Upload progress monitor for Commons-FileUpload Example》一文。虽然文中完成Upload工作的是Common-FileUpload组件,但在其代码中没有1.2版本所提供的Listener功能,这就对检测文件上传情况造成了困难... 阅读全文>
发表于 @ 2008年01月11日 10:15:00|评论(loading...)|编辑
类似excel中那种利用鼠标拖拽选择表格局部信息. 这个特性今后打算加入 ECGrid.到时候会支持数据的复制粘贴. 现在贴出来的只是一个习作.测试一下可行性,所以比较简陋. 因为自己以前从来没有写过类似的东西,第一次写,写的不好,见笑了 :) 在IE6 FF2下测试通过.
demo_selectTable.zip (2.5 KB)
描述:
下载次数: 187
阅读全文>
发表于 @ 2008年01月11日 10:08:00|评论(loading...)|编辑
1. package co.test; 2. 3. import java.io.FileReader; 4. import java.io.LineNumberReader; 5. 6. import org.mozilla.javascript.Context; 7. import org.mozilla.javascript.Function; 8. import org.mozilla.javascript.Scriptable; 9. 9.public class JSExploration 9.{ 9. private Context cx; 9. 9. private Scriptable scope; 9. 9. public JSExploration() 9. { 9. this.cx = Context.enter(); 9. this.scope = cx.initStandardObjects(); 9. } 9. 9. public Object ru阅读全文>
发表于 @ 2008年01月11日 10:03:00|评论(loading...)|编辑
方案选择: 查阅了一些资料,目前实现实现无刷新上传主要有两种方案,即利用隐藏的iframe来模拟无刷新上传和利用xmlhttp分块上传文件。 这两种方案中,利用隐藏的iframe来模拟无刷新上传用的最为普遍,实现起来也比较容易。而利用xmlhttp分块上传的方式,google 的结果显示用的较少,特别是实用方面,而且代码实现复杂。考虑到要同时实现类似Gmail的附件添加方式,最终选择了利用隐藏的 iframe来模拟无刷新上传的方案。 利用隐藏的iframe来模拟无刷新上传的原理 利用隐藏的iframe来模拟无刷新上传的原理比较简单,在页面中包含一个form和一个iframe,其中ifram设置为不可见,同时将form 的target属性设为iframe的名字,这样当上传的时候,刷新的就是iframe中的页面,而主页面则不会有任何变化。可以在iframe中的 页面中编写上传后客户端要执行的javascript代码,这样可以轻松的实现对主页面的操作。 类Gmail附件添加方式的实现 Gmail的附件添加方式有着比较好的用户体验阅读全文>
发表于 @ 2008年01月11日 10:01:00|评论(loading...)|编辑
首先要说的就是 ajax 是无法实现上传文件的,可以想一下ajax与后台通信都是通过传递字符串,怎么能传递文件呢?其实出于安全考虑js是不能操作文件的,所以就不要再说用ajax来实现文件的上传了,这是不可能的。 而本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"方法。 开始之前先说两句无关的,其实在ajax出现之前,web应用也可以是无刷新的,那时大多通过IFrame来做到这一点。当然Ajax出现之后,人们一窝蜂地投奔Ajax 的阵营了,iFrame 就乏人问津了。但是用iFrame来实现无刷新上传文件确实一个很好的选择。ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以说使用IFrame来上传文件是最好的选择。 我在这里这里用的技术是jsp,其实asp,php等也是一样可以这么实现的 一共两个文件就可实现:index.html 和 upload.jsp,在这里讲解一下,文后会附上源码 --index.htmlhtml 代码 <html> <body> <fo阅读全文>
发表于 @ 2008年01月11日 09:59:00|评论(loading...)|编辑
AJAX(Asynchronous JavaScript and XML),现在已经被炒的翻了天,火热程度可想而知,现在很多网站都已经在使用这一神奇的技术,它可以使你的网络访问速度提高N倍.但是,人总是不满足的,虽然这一技术很好,但有时还是需要写的很多(相对),于是,DWR就出现了,DWR里面封装了很多AJAX的方法,真的是一个非常神奇的东西.它让我们写程序又变的简单多了. 它让WEB层可以直接调用业务逻辑,而且把很多繁杂的代码封装好了,我们可以直接调用,这点在我做练习的时候深有体会,我觉得最好的就是DWRUtil.getValue(id);这个方法,它可以获得你所有的HTML元素的值,还有就是查询的问题,从数据库里查询出来的数据可以直接填充到表格里面--DWRUtil.addRows();还有很多方法,就不一一介绍了,看看我做的练习吧,就是一个从数据库里查询出来数据,然后动态填充到表格的示例: function dateReceive(stu){ for(var i=0;i //下面是填充的数据,stu是一个装有学生对象的一个集合 var cellfun阅读全文>
发表于 @ 2008年01月11日 09:50:00|评论(loading...)|编辑
参见附件!
GWT Quickview - by elephi.dong .rar (381.3 KB)
描述: GWT Quickview - by elephi.dong
下载次数: 2419
阅读全文>
发表于 @ 2008年01月11日 09:46:00|评论(loading...)|编辑
GWT简介
GWT = google web tookit 是用JAVA开发AJAX应用的东东。(Build AJAX apps in the Java language).详情请访问 http://code.google.com/webtoolkit/
如何用GWT搭建一个简单的工程
很多人可能没有用过GWT再进入正文之前先做一些准备活动。(耐心是怎么练出来的-_-) 阅读全文>
发表于 @ 2008年01月11日 09:45:00|评论(loading...)|编辑
1.3版本前整合gwt spring,用到了第三方类,如cglib扩展类具备gwt servlet的功能,随着1.4版本的发布(发布很久了T_T '),整合有了新的方式,闲话不说,看看整合后的servlet如何调用服务: java 代码 /** * GWTRemoteServiceServlet act as a dispatch servlet for all GWT services * * in your web.xml, mapping all request /gwtrpc/ to this servlet * */ public class GWTRemoteServiceServlet extends RemoteServiceServlet { private WebApplicationContext springContext; @Override public void init(ServletConfig config) throws ServletException { super.in阅读全文>
发表于 @ 2008年01月11日 09:41:00|评论(loading...)|编辑
通过Gwt.create(Interface.class),根据自己给定规则,自动生成InterfaceImpl类: 1.定义exportGenerator 模块 xml代码 < module> < inherits name='com.google.gwt.user.User'/> < generate-with <strong >class="exporter.rebind.ExporterHelperGenerator" > < when-type-assignable <strong >class="exporter.client.IExportableHelper"/> < /generate-with> < /module> interface 接口继承IExportableHelper,通过ExporterHelperGenerator自动构造. 2.创建SourceWrite写文件: jav阅读全文>
发表于 @ 2008年01月11日 09:40:00|评论(loading...)|编辑
下面要写的东西是一个使用GWT编写的在有限区域内通过拖动查看整个地图的简单实现。 一些细节: 为什么能拖? com.google.gwt.user.client.ui.MouseListener 通过实现这个接口,可以实现UI对象对鼠标的Enter,Down,Leave,Move,Up动作的支持。 com.google.gwt.user.client.ui.FocusPanel 并不是每个UI对象都能够实现MouseListener接口的,可以通过添加到FocusPanel来实现。 怎么才能显示地图的局部,或者说怎么把其他部分藏起来? 通过样式: java 代码 DOM.setStyleAttribute(viewPortArea.getElement(), "overflow", "hidden"); DOM.setStyleAttribute(viewPortArea.getElement(), "position","relative"); 设置显示区域的"overflow"属性为"hidden"及"position"属性阅读全文>
发表于 @ 2008年01月11日 09:40:00|评论(loading...)|编辑
这段时间较闲,研究了一番dwr.发现dwr实现的AJAX有些地方确实很是先进.比如动态生成javascript代码;隐藏的http协议;javascript于java代码交互的是javascript对象(或字符串)等. 以下是我临时译的一些东西.本来想全译,发现dwr实在是简单,就随便写了.英文居差,现一把. 1、DWR: Easy AJAX for JAVA 作为一个java open source library,DWR可以帮助开发人员完成应用AJAX技术的web程序。它可以让浏览器上的javascript方法调用运行在web服务器上java方法。 DWR主要由两部门组成。javascript与web服务器通信并更新web页;运行在web服务器的Servlet处理请求并把响应发回浏览器。 DWR采用新颖的方法实现了AJAX(本来也没有确切的定义),在java代码基础上动态的生成javascript代码。web开发者可以直接调用这些javascript代码,然而真正的代码是运行在web服务器上的java code。出与安全考虑,开发者必须配阅读全文>
发表于 @ 2008年01月11日 09:35:00|评论(loading...)|编辑
配置调试: DWR的配置说明,网上已经是N多了,所以具体的配置这里不再讲了,不过有一点还得说明一下,关于DWR1.1.3升级到DWR2.0时配置中有二个地方得修改: 1、DWRServlet的包名有所改变,应该将uk.ltd.getahead.dwr.DWRServlet改成org.directwebremoting.servlet.DwrServlet 2、增加一个初始化参数(不加时报这个异常java.lang.IllegalArgumentException: DefaultContainer can't find a classes,原因DWR2.0 加入了JDK5的注释(annotations).DwrServlet初始化的时候会去检查注释的类) <init-param > <param-name>classes </param-name> <param-value>java.lang.Object</param-value> </init-param> 阅读全文>
发表于 @ 2008年01月11日 09:33:00|评论(loading...)|编辑
DWR是作为远程调用的ajax框架,将服务端的java类,方法和浏览器的javascript的类,方法对应起来。现在官方最新的版本是DWR2.0,可以在http://getahead.ltd.uk/dwr/download下载到。 我们真对DWR2.0做一些例子讲解一下它的特性: Hello World: 新建一个web项目DWRStudy,在项目中构建路径中加入dwr.jar, 新建类Hello如下: package org.li.dwr; package org.li.dwr; import java.util.Date; public class Hello { public String getHelloWorld() { return "现在的时间为:"+new Date(); } } 在WEB-INF目录下新建dwr.xml文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead L阅读全文>
发表于 @ 2008年01月11日 09:32:00|评论(loading...)|编辑
最近闲着用dwr做了个类似 163 新闻导航,在多种新闻类型下切换,无须刷新: step1: 下载DWR包 step2: 构建数据库 sql 代码 if exists (select 1 from sysobjects where id = object_id('AJAX_NEW') and type = 'U') drop table AJAX_NEW go /*==============================================================*/ /* Table: AJAX_NEW */ /*==============================================================*/ create table AJAX_NEW ( ID integer not null, NEW_TITLE VARCHAR(100) null, NEW_AUTHER VARCHAR(30) null, NEW_TYPE VARCHA阅读全文>
发表于 @ 2008年01月11日 01:52:00|评论(loading...)|编辑
这是一个运用dwr+spring+hibernate这样一个框架编写的示例。它展示了一下内容: 1、在dwr中尝试编写的一些通用的代码,包括如何编写一个通用的列表显示框并实现分页、如何编写一个通用的单行编辑框、如何编辑一个通用的存盘和删除程序等等。 2、在dwr中如何与spring兼容,调用bus中的方法;在dwr中如何与hibernate兼容,在页面端操作值对象,以及处理值对象间的各种关系。 3、如何在spring中实现单dao,使这个单dao既可以与hibernate隔离,使其低耦合高内聚,提高可维护性,又能满足各个bus的业务需要,简化开发的过程。 不是美工,界面比较外行,见谅了:) 示例在MyEclipse中安装部署的步骤: 1、创建一个新的web项目并拷贝示例中的文件到项目中。注意web.xml文件应当是将原文件覆盖。 2、添加spring和hibernate。点击项目树中的项目名按Alt+Enter键,弹出项目属性对话框。选择“Java Build Path”中的“Libraries”标签,然后点击“Add Library”按钮,选择阅读全文>
发表于 @ 2008年01月11日 01:43:00|评论(loading...)|编辑
前段时间想学习学习DWR,在网上查找资料无数,没有见到一个现成的例子可以参阅一下,郁闷无比,罢了,还是自己动手,丰衣足食吧! 本例子是由MySQL数据库,结合前台使用Struts来完成的。主要是为了说明DWR的使用,所以对于数据库的设计等等都较简单,大家觉得那里有什么不合理之处请给我留言!数据库创建的脚本在附件里面。 数据库的大概设计是,共有三个字段[id,name,parentid],顾名思义,id就是唯一标示一条记录,name存放的是省市县的名称,parentid存放的其上级的id,例如对于省一级别的,其parentid全部为0,对于市一级别的,其parentid存放的是所对应省的id,对于县一级别的,其parentid存放的是所对应市的id。 首先在进入显示页面的时候就把所有的parentid=0的全部查出来,初始化进入省所在的下拉列表中