随笔-124  评论-49  文章-56  trackbacks-0
 

框架:

Yahoo UI
ProtoType
JQuery
OpenRico
ExtJS
Scriptaculous
DoJo
Moofx
QoodXoo
GWT
TacoNite
Sarissa
Spry

画廊(图片展示)

Galleria
FrogJS
HighSlide
SmoothGallery
DHTMLGoodies - Image Slideshow
Google Slideshow
JQuery Cycle
PhatFusion Gallery
Ajax Slideshow with XML
TripTracker Slideshow
Aeron Slideshow
WebTwo Ajax Slideshow
Spry Gallery Demo
jQuery ImageStrip Slideshow
MiniShowCase
Ajax Coverflow (Slideflow)
Lightweight Gallery
Livepipe Photo Folder
jaS Gallery
Mooflow
Cross browser toys Gallery
Moo Cycle

菜单

Sliding Bar Menu - Mootools
jQuery Fastfind Menu
Apple Dock
Image Menu amongst others - as seen on Microsoft
Tree menu
Context Menu
LavaLamp for jQuery
Slashdot menu
Mootools Menu copy
Css Dock Menu
Nice Horizontal menu
Accessible Expanding Menu
MultiLevel Menu - jQuery
jQuery HoverAccordion
Apple Hover Menu sim
Simple Javascript Accordian
StickMan Labs Accordian
MooTools clone
Nyko Glitter Tabs
Horizontal Accordion
Colour Transition
Dropdown Menu with jQuery

模式窗口/ Lightboxes

Livepipes Modal Box
Lightbox gone wild
Thickbox
SubModal
Lightbox without Images
lightbox
Moodalbox
Lightwindow
Videobox: Lightbox for videos
Facebox
Multibox
Shadowbox
GlassBox
jQuery Lightbox Plugin
jQuery Lightbox Plugin Bal
Highslide JS
YUI based Lightbox
Mediabox
SqueezeBox
iBox
mooSlideBox
Smoothbox

鼠标提示

Javascript Focusing Library
Nice titles
Nice Titles Revision
Ajax Enabled Help Balloons
jTip
jQuery plugin tooltip
qTip
Cody Lindley’s Tooltip
Boxover
SuperNotes
Coda Puff Effect

表单

jNice - Jquery Nice Forms
Custom Checkboxes
Checkbox Group
Ajax driven combobox

(小组件)Widgets

DragnDrop Library
AutoComplete

Fat Focus
Form Field hints
UI component for Prototype
Interface Elements for jQuery
jQuery ScrollTo
jScrollPane
AutoSuggest AutoComplete

Ajax AutoComplete
Autocomplete with JSON

其他

Logging Framework JS

地图

Web map server Javascript library
Google Maps Api
Ajax GIS client
MapStraction
Giant Pan
Zoomify

posted @ 2009-12-30 15:17 junly 阅读(451) | 评论 (0)编辑 收藏

先准备好软件:

Apache官方下载地址:
apache_2.2.4-win32-x86-no_ssl.msi更多版本在这里

php官方下载地址:
php-5.2.12-Win32.zip更多镜像下载地址更多版本下载

mysql官方下载地址:
mysql-5.0.14-win32.zip更多镜像下载地址更多版本下载

一、安装Apache,配置成功一个普通网站服务器

运行下载好的“apache_2.0.55-win32-x86-no_ssl.msi”,出现如下界面:

 

出现Apache HTTP Server 2.0.55的安装向导界面,点“Next”继续

 

确认同意软件安装使用许可条例,选择“I accept the terms in the license agreement”,点“Next”继续

 

将Apache安装到Windows上的使用须知,请阅读完毕后,按“Next”继续

 

设置系统信息,在Network Domain下填入您的域名(比如:popsms.net.cn),在Server Name下填入您的服务器名称(比如:www.popsms.net.cn,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:tiger520119@126.com),上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行。下面有两个选择,图片上选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。一般选择如图所示。按“Next”继续。]

 

选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选择Custom,有更多可选项。按“Next”继续

 

出现选择安装选项界面,如图所示,左键点选“Apache HTTP Server 2.0.55”,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。点选“Change...”,手动指定安装目录。

 

我这里选择安装在“D:\”,各位自行选取了,一般建议不要安装在操作系统所在盘,免得操作系统坏了之后,还原操作把Apache配置文件也清除了。选“OK”继续。

 

返回刚才的界面,选“Next”继续。

 

确认安装选项无误,如果您认为要再检查一遍,可以点“Back”一步步返回检查。点“Install”开始按前面设定的安装选项安装。

 

正在安装界面,请耐心等待,直到出现下面的画面。

 

安装向导成功完成,这时右下角状态栏应该出现了下面的这个绿色图标,表示Apache服务已经开始运行,按“Finish”结束Apache的软件安装

 

我们来熟悉一下这个图标,很方便的,在图标上左键单击,出现如下界面,有“Start(启动)”、“Stop(停止)”、“Restart(重启动)”三个选项,可以很方便的对安装的Apache服务器进行上述操作。

 

好了现在我们来测试一下按默认配置运行的网站界面,在IE地址栏打“http://127.0.0.1”,点“转到”,就可以看到如下页面,表示Apache服务器已安装成功。

 

现在开始配置Apache服务器,使它更好的替我们服务,事实上,如果不配置,你的安装目录下的Apache2\htdocs文件夹就是网站的默认根目录,在里面放入文件就可以了。这里我们还是要配置一下,有什么问题或修改,配置始终是要会的,如图所示,“开始”、“所有程序”、“Apache HTTP Server 2.0.55”、“Configure Apache Server”、“Edit the Apache httpd conf Configuration file”,点击打开。

 

XP的记事本有了些小变化,很实用的一个功能就是可以看到文件内容的行、列位置,按下图所示,点“查看”,勾选“状态栏”,界面右下角就多了个标记,“Ln 78, Col 10”就表示“行 78,列 10”,这样可以迅速的在文件中定位,方便解说。当然,你也可以通过“编辑”,“查找”输入关键字来快速定位。每次配置文件的改变,保存后,必须在 Apache服务器重启动后生效,可以用前面讲的小图标方便的控制服务器随时“重启动”。

 

现在正式开始配置Apache服务器,“Ln 228”,或者查找关键字“DocumentRoot”(也就是网站根目录),找到如下图所示地方,然后将""内的地址改成你的网站根目录,地址格式请照图上的写,主要是一般文件地址的“\”在Apache里要改成“/”。

 

“Ln 253”,同样,你也可以通过查找“DIRECTORY”来定位,以后不再说明,将""内的地址改成跟DOCUMENTROOT的一样。

 

“Ln321”,DirectoryIndex(目录索引,也就是在仅指定目录的情况下,默认显示的文件名),可以添加很多,系统会根据从左至右的顺序来优先显示,以单个半角空格隔开,比如有些网站的首页是index.htm,就在光标那里加上“index.htm ”文件名是任意的,不一定非得“index.html”,比如“test.php”等,都可以。

 

这里有一个选择配置选项,以前可能要配置,现在好像修正过来了,不用配置了,就是强制所有输出文件的语言编码,html文件里有语言标记(,这个就是设定文档语言为gb2312)的也会强制转换。如果打开的网页出现乱码,请先检查网页内有没有上述 html语言标记,如果没有,添加上去就能正常显示了。把“# DefaultLanguage nl”前面的“# ”去掉,把“nl”改成你要强制输出的语言,中文是“zh-cn”,保存,关闭。

 

好了,简单的Apache配置就到此结束了,现在利用先前的小图标重启动,所有的配置就生效了,你的网站就成了一个网站服务器,如果你加载了防火墙,请打开80或8080端口,或者允许Apache程序访问网络,否则别人不能访问。如果你有公网IP(一般ADSL或电话拨号上网的都是),就可以邀请所有能上网的朋友访问使用http://你的IP地址(IP地址查询可访问http://www.popsms.net.cn,查询内容内即是)你的网站了;如果你没有公网IP,也可以把内网IP地址告诉局域网内的其它用户,让他们通过http://你的内网IP地址,访问你的网站。

二、php的安装、以module方式,将php与apache结合使你的网站服务器支持php服务器脚本程序

将下载的php安装文件php-5.0.5-Win32.zip右键解压缩。

 

指定解压缩的位置,我的设定在“D:\php”

 

查看解压缩后的文件夹内容,找到“php.ini-dist”文件,将其重命名为“php.ini”,打开编辑,找到下面图中的地方, Ln385,有一个“register_globals = Off”值,这个值是用来打开全局变量的,比如表单送过来的值,如果这个值设为“Off”,就只能用“$_POST['变量名']、$_GET['变量名 ']”等来取得送过来的值,如果设为“On”,就可以直接使用“$变量名”来获取送过来的值,当然,设为“Off”就比较安全,不会让人轻易将网页间传送的数据截取。这个值是否改成“On”就看自己感觉了,是安全重要还是方便重要?

 

这里还有一个地方要编辑,功能就是使php能够直接调用其它模块,比如访问mysql,如下图所示,Ln563,选择要加载的模块,去掉前面的 “;”,就表示要加载此模块了,加载的越多,占用的资源也就多一点,不过也多不到哪去,比如我要用mysql,就要把“;extension= php_mysql.dll”前的“;”去掉。所有的模块文件都放在php解压缩目录的“ext”之下,我这里的截图是把所有能加载的模块都加载上去了,前面的“;”没去掉的,是因为“ext”目录下默认没有此模块,加载会提示找不到文件而出错。这里只是参考,一般不需要加载这么多,需要的加载上就可以了,编辑好后保存,关闭。

 

如果上一步加载了其它模块,就要指明模块的位置,否则重启Apache的时候会提示“找不到指定模块”的错误,这里介绍一种最简单的方法,直接将php安装路径、里面的ext路径指定到windows系统路径中——在“我的电脑”上右键,“属性”,选择“高级”标签,点选“环境变量”,在“系统变量”下找到“Path”变量,选择,双击或点击“编辑”,将“;D:\php;D:\php\ext”加到原有值的后面,当然,其中的“D:\php” 是我的安装目录,你要将它改为自己的php安装目录,如下图所示,全部确定。系统路径添加好后要重启电脑才能生效,可以现在重启,也可以在所有软件安装或配置好后重启。

 

现在开始将php以module方式与Apache相结合,使php融入Apache,照先前的方法打开Apache的配置文件,Ln 173,找到这里,添加进如图所示选中的两行,第一行“LoadModule php5_module "D:/php/php5apache2_2.dll"”是指以module方式加载php,第二行“PHPIniDir "D:/php"”是指明php的配置文件php.ini的位置,是当然,其中的“D:/php”要改成你先前选择的php解压缩的目录。

 

还是Apache的配置文件,Ln 757,加入“AddType application/x-httpd-php .php”、“AddType application/x-httpd-php .html”两行,你也可以加入更多,实质就是添加可以执行php的文件类型,比如你再加上一行“AddType application/x-httpd-php .htm”,则.htm文件也可以执行php程序了,你甚至还可以添加上一行“AddType application/x-httpd-php .txt”,让普通的文本文件格式也能运行php程序。

 

前面所说的目录默认索引文件也可以改一下,因为现在加了php,有些文件就直接存为.php了,我们也可以把“index.php”设为默认索引文件,优先顺序就自己排了,我的是放在第一位。编辑完成,保存,关闭。

 

现在,php的安装,与Apache的结合已经全部完成,用屏幕右下角的小图标重启Apache,你的Apache服务器就支持了php。

三、mysql的安装,与php、Apache相结合

打开下载的mysql安装文件mysql-4.1.14-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面

 

mysql安装向导启动,按“Next”继续

 

选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程

 

在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。在上面的“MySQL Server(mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation(文档)”也如此操作,以保证安装所有文件。点选“Change...”,手动指定安装目录。

 

填上安装目录,我的是“D:\mysql”,也建议不要放在与操作系统同一分区,这样可以防止系统备份还原的时候,数据被清空。按“OK”继续。

 

返回刚才的界面,按“Next”继续。

 

确认一下先前的设置,如果有误,按“Back”返回重做。按“Install”开始安装。

 

正在安装中,请稍候,直到出现下面的界面

 

这里是询问你是否要注册一个mysql.com的账号,或是使用已有的账号登陆mysql.com,一般不需要了,点选“Skip Sign-Up”,按“Next”略过此步骤。

 

现在软件安装完成了,出现上面的界面,这里有一个很好的功能,mysql配置向导,不用向以前一样,自己手动乱七八糟的配置my.ini了,将 “Configure the Mysql Server now”前面的勾打上,点“Finish”结束软件的安装并启动mysql配置向导。

 

mysql配置向导启动界面,按“Next”继续。

 

选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。

 

选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,大家根据自己的类型选择了,一般选“Server Machine”,不会太少,也不会占满。

 

选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),随自己的用途而选择了,我这里选择“Transactional Database Only”,按“Next”继续。

 

对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。我这里没有修改,使用用默认位置,直接按“Next”继续

 

选择您的网站的一般mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,我这里选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了,按“Next”继续

 

是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,我这里启用,把前面的勾打上,Port Number:3306,按“Next”继续

 

这个比较重要,就是对mysql默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择或填入“gbk”,当然也可以用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、和其它乱七八糟的字——使用mysql的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。按 “Next”继续。

 

选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。

 

这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。“Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。

 

确认设置无误,如果有误,按“Back”返回检查。按“Execute”使设置生效。

 

设置完毕,按“Finish”结束mysql的安装与配置——这里有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装mysql的服务器上,解决的办法,先保证以前安装的mysql服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。

与Apache及php相结合,前面已提过,这里再说一下,在php安装目录下,找到先前重命名并编辑过的 php.ini,如下图所示,Ln563,把“;extension=php_mysql.dll”前的“;”去掉,加载mysql模块。保存,关闭后,重启apache就可以了。这里也可以选择其它要加载的模块,去掉前面的“;”,就表示要加载此模块了,加载的越多,占用的资源也就多一点,不过也多不到哪去。所有的模块文件都放在php解压缩目录的“ext”之下,我这里的截图是把所有能加载的模块都加载上去了,前面的“;”没去掉的,是因为“ext” 目录下默认没有此模块,加载会提示找不到文件而出错。这里只是参考,一般不需要加载这么多,需要的加载上就可以了,编辑好后保存,关闭。

 

同样,加载了模块后,就要指明模块的位置,否则重启Apache的时候会提示“找不到指定模块”的错误,这里介绍一种最简单的方法,直接将 php安装路径、里面的ext路径指定到windows系统路径中——在“我的电脑”上右键,“属性”,选择“高级”标签,点选“环境变量”,在“系统变量”下找到“Path”变量,选择,双击或点击“编辑”,将“;D:\php;D:\php\ext”加到原有值的后面,当然,其中的“D:\php”是我的安装目录,你要将它改为自己的php安装目录,如下图所示,全部确定。系统路径添加好后要重启电脑才能生效,可以现在重启,也可以在所有软件安装或配置好后重启。

 

posted @ 2009-12-26 00:45 junly 阅读(1271) | 评论 (0)编辑 收藏
     摘要: TimerTask的实现   实现TimerTask的run方法就可以了.  如下:SayHelloTask.java package test.timerTask; import java.util.TimerTask; public class SayHelloTask extends TimerTa...  阅读全文
posted @ 2009-12-17 19:20 junly 阅读(558) | 评论 (0)编辑 收藏
一切开始的地方
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Panel>
<mx:TextArea text="Say hello to Flex!" />
<mx:Button label="Close" />
</mx:Panel>
</mx:Application>
1 头两行包含了版本号、编码、以及命名空间的信息
2 Flex 应用程序所有的具体内容都被放在<mx:Application>标签对中
3 在MXML 文件中的每个标签都有前缀mx,它是Flex 的设计命名空间
4 父标签对中嵌套子标签对,标签是成对出现的

连接数据

Flex 应用程序不直接与数据库进行连接,使用MXML 和ActionScript 代码来操作和管理数据

连接数据库的第一步是生成将在Flex 程序中使用到的数据
步骤:
1. 创建一个数据库(如MySQL)。
2. 编写脚本连接MySQL 数据库并生成XML 格式的数据。

(一)连接外部数据源

对于 所生成的XML 格式数据,你可以使用HTTPService 组件来请求获取数据
例(php):
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:HTTPService
id="productsRequest"
url
="http://www.somesite.com/products.php" />
HTTPService 组件定义了一个请求ID,你将使用这个ID 来控制提供数据的URL 或者
服务器与数据之间的绑定。

(二)外部数据与数据驱动控制的绑定

通过数据与数据驱动控制(data-driven control)的绑定,你就可以处理HTTPService的结果(XML 数据),
就象这样:
<mx:DataGrid x="20" y="80" id="productGrid" width="400"
dataProvider
="{productRequest.lastResult.products.items}" >
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="name" />
<mx:DataGridColumn headerText="Price" dataField="price" />
</mx:columns>
</mx:DataGrid>
数据绑定的语法显示在数据控制的dataProvider 属性中(在波浪形的括号里),它包含了HTTPService 请求ID、
lastResult 方法、以及XML 文件的数据结构。在这个例子中,XML数据源的数据结构看起来就象这样:
<XML>
<products>
<item>
<name>Mobile Phone</name>
<price>$199</price>
</item>
<item>
<name>Car Charger</name>
<price>$34</price>
</item>

</products>
</XML>
通过设置dataField 属性,项目数据(name 和price)作为数据栅格中每一列的数据。

(三)在运行时加载数据

你还可以在Flex 程序开始运行时加载数据,就象随后所示,在 HTTPService 中向某个特定的URL 发送一个请求:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete
="productsRequest.send()" >
当你将creationComplete 方法添加到应用程序标签里后,数据会在运行时进行加载并交于数据驱动控制(在这个例子中是数据栅格)。
你还可以将HTTPService 请求添加到一个控制事件上而不是程序里的标签中,就象如下所示:
<mx:Button x="50" y="8" label="Get Data" click="productsRequest.send();" />
Flex 提供许多方法去连接、管理、格式化、以及校验数据。你可以通过使用远程程序调用、数据服务、或者其它企业级技术来操纵和管理数据。

Flex 应用程序设计界面布局

1 通过设置组件的属性值来控制Flex 应用程序的界面布局,就象如下所示:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Panel layout="absolute" width="80%" height="80%">
<mx:TextArea text="Say hello to Flex!" top="10" bottom="70" left="10"
right
="30"/>
<mx:Button label="Close" right="30" bottom="40"/>
</mx:Panel>
</mx:Application>
许多容器组件都允许以绝对坐标的方式创建布局,这就意义着你可以使用精确的x 和y的坐标来放置组件。你还可以对应其父容器的相对位置来
放置组件并约束它们,使它们在应用程序的界面放大或缩小时仍然保持其彼此的位置。
2 使用风格和主题增强视觉方面的设计
1)如果样式/style 的属性值没有被指定,将由整个程序中运行的主题/theme 来进行控制。在默认情况下,Flex 应用程序使用Halo 主题
2)创建主题

posted @ 2009-12-16 11:30 junly 阅读(256) | 评论 (0)编辑 收藏

http://www.kpdus.com/jad.html   官方最新版本,支持jdk1.6 

Java下的一个简单易用的反编译工具jad, 可以很方便的将.class反编译为.Java. 点击下载  

一、基本用法
Usage:jad [option(s)]
直接输入类文件名,且支持通配符,如下所示。
c:\Java\>jad example1.class
c:\Java\>jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.Java即得源文件。

二、Option -o
不提示,覆盖源文件

三、Option -s
c:\Java\>jad -sJava example1.class
反编译结果以.Java为扩展名。

四、Option -p
将反编译结果输出到屏幕
c:\Java\>jad -p example1.class
将反编译结果重定向到文件
c:\Java\>jad -p example1.class>example1.Java

五、Option -d
指定反编译的输出文件目录
c:\Java\>jad -o -dtest -sJava *.class

该文章转载自网络大本营:http://www.haoad.net/Info/3883.Html

  反编译别人的程序是不对的,但是有时候由于某种原因,不得不反编译别人的代码,那就需要一个工具了。小颖JAVA源代码反编译专家V1.4终极版是个很好的工具,但是只能对JDK1.4.2和之前的版本编译的程序反编译,而JDK5.0后的就无能为力了,但是可以下载JAD.EXE来逐个反编译 CLASS文件,不过如果碰到有几十个或几百个文件夹,并且目录很深的时候,就麻烦了,这个给出一个直接使用命令行反编译整个目录的方法:使用jad批量反编译

jad -o -r -sjava -d src bin/**/*.class

src: 是反编後的目錄

bin:指 package 開頭

将bin里面所有的.class反编译到src下面JAD下载: 文件名: jadnt157.ziphttp://download.pchome.net/php/dl.php?sid=9111


jad:反编译工具
可以将class文件反编译成java文件
假设将jad.exe安装在f:\java\jad目录下
把要反编译的文件*.class复制到此目录下,接着接以下步骤,
在命令行窗口环境中进入jad目录,
然后运行:jad -s java *.class   (附,*.class指要反编译的文件名)
如果*.class文件和jad程序不在同一个目录,就要用到path环境变量,
将jad 所在目录加到path路径中即可:set path=%path%;f:\java\jad
若要了解jad更为详细的使用帮助信息,直接运行jad.exe查看

以下假设jad.exe在c:\java目录下

一、基本用法
Usage:jad [option(s)]
直接输入类文件名,且支持通配符,如下所示。
c:\java\>jad example1.class
c:\java\>jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。

二、Option -o
不提示,覆盖源文件

三、Option -s
c:\java\>jad -sjava example1.class
反编译结果以.java为扩展名。

四、Option -p
将反编译结果输出到屏幕
c:\java\>jad -p example1.class
将反编译结果重定向到文件
c:\java\>jad -p example1.class>example1.java

五、Option -d
指定反编译的输出文件目录
c:\java\>jad -o -dtest -sjava *.class

六、Option -r
按*.class的包结构输出文件目录
c:\java\>jad -o -r -dtest -sjava d:/1/**/*.class
将d:\1\文件夹下的.class文件按照原程序的包结构反编译到test目录下。

命令行选择的列表

      -a        - 用JVM字节格式来注解输出
      -af       - 同 -a,但是注解的时候用全名称
      -clear    - 清除所有的前缀
      -b        - 输出多于的括号 (e.g., if(a) { b(); }, default: no)
      -d

- 指定输出文件的文件目录
      -dead      -试图反编译代码的dead 部分(default: no)
      -disass   - 不用用字节码的方式反编译 (no JAVA source generated)
      -f        - 输出整个的名字,无论是类还是方法
      -ff        -输出类的成员在方法之前 (default: after methods)
      -i        - 输出所有的变量的缺省的最初值
      -l    - 将strings分割成指定数目的块的字符 (default: no)
      -lnc      - 将输出文件用行号来注解 (default: no)
      -nl       - 分割strings用新行字符 newline character (default: no)
      -nodos    -不要去检查class文件是否以dos方式写 (CR before NL, default: check)
      -nocast   - 不要生成辅助文件
      -nocode    -不要生成方法的源代码
      -noconv    - 不要转换java的定义符 (default: do)
      -noctor   - 不允许空的构造器存在
      -noinner   -关掉对内部类的支持 (default: turn on)
      -nolvt    - 忽略局部变量的表信息
      -nonlb     - 不要输出一个新行在打开一个括号之前 (default: do)
      -o        - 无需确认直接覆盖输出 (default: no)
      -p        - 发送反编译代码到标准输出 STDOUT (e.g., for piping)

 

posted @ 2009-12-13 22:40 junly 阅读(954) | 评论 (0)编辑 收藏
scc是工程加入了SourceSafe以后产生的文件不是每个工程都应该有的
sourcesafe源代码版本管理软件

在使用VSS进行源码管理时,当软件部署时,在部署文件夹下会有许多的vssver2.scc文件,可以使用如下命令批量删除:
del vssver2.scc /s/f/q
参数S:删除当前文件夹和子文件夹下的文件
参数F:删除只读文件
参数Q:删除时不提示
posted @ 2009-12-13 22:15 junly 阅读(2786) | 评论 (1)编辑 收藏
相关资料:
1 blog1
2 为何Block协议比File协议快
3 如何在RPG程序使用BLOCK关键词提高读写文件速度
posted @ 2009-12-13 22:04 junly 阅读(159) | 评论 (0)编辑 收藏

 

 select b.promo_number,b.payment_time,b.validity_days,a.tim,b.goods_name,b.payment_time+b.validity_days from 
        (
select max(m.send_time) tim 
        
from tb_payment_promo_log p,tb_mobile_log m  
        
where p.goods_id=615732 and p.user_name='ywj123' 
        
and p.promo_number=m.operate 
        
and   p.user_name = m.user_name ) a , tb_payment_promo_log b,tb_mobile_log c 
        
where b.goods_id=615732 and b.user_name='ywj123' and   b.user_name = c.user_name  and a.tim = c.send_time
        
order by b.payment_time desc

select t3.usid,t3.usname,t3.usarea,t3.cell from 
(
select  t2.cellphone cell,max(t1.game_money+t1.bank_game_money) money,t1.user_id usid,t1.user_name usname,t1.user_area usarea from tb_rd_user_info t1,tb_rd_user_info2 t2
where t1.login_tim <= sysdate-7 and t1.login_tim > sysdate-8 and t1.user_id = t2.user_id and t2.cellphone is not null
group by t2.cellphone,t1.user_id,t1.user_name,t1.user_area) t3 
where t3.money < 500000
posted @ 2009-12-10 11:55 junly 阅读(293) | 评论 (0)编辑 收藏

Image

具有flash效果的菜单,基于jquery


Download the zip file version 0.2.0 of LavaLamp and open the demo.html to check it out for yourself 


LavaLamp menu
来源:http://gmarwaha.com/blog/?p=7

翻译:lxr

转载请注明出去。


预览:DEMO1

将鼠标放在上面的例子上,你就会感觉到Lava Lamp的完美效果。LavaLamp menu是基于jquery库的,就我个人而言,我认为它的效果并不亚于flash菜单,而且它比flash要小得多。就像你知道的它仅仅只有700bytes。

我常注意到,授权一般在最终版本。现在我诚落在早期版本你将获得授权。这个效果最先是由Guillermo Rauch用mootools库写的。我所做的的仅仅是为了jquery的爱好者而将它改写为基于jquery库的。非常感谢Guillermo 创建的完美效果。特别感谢Stephan Beal将它取名为“LavaLamp”,和Glen Lipka 在外观图形上的帮助,以及众多的jquery爱好者的支持。

 

作为一个用户界面开发者,我们知道用户最常用的是菜单。我们一直追求的就是吸引用户的眼球,我相信LavaLamp向这一方向迈出了一步。在这些废话让你厌烦之前让我们开始将LavaLamp加入到你的网站中。
我希望你认同一个典型的html部件由3个不同的元件组成。

  • 一个标记正确的html
  • css
  • javascript

     

    现在让我们按照上面的步骤将LavaLamp菜单加入到你的网站中。在用jquery库替换mootools库的过程中,我为你写了javascript和css以供使用。因此请你按照本页教程的步骤使用jQuery。在Guillermo Rauch
    的页面中有mootools版本的教程。

    步骤1: HTML
    由于大多数用户界面开发人员认为无序清单( ul )是正确的语义结构菜单/导航,所用就让我们从这里开始。

    <ul class="lavaLamp">
    <li><a href="#">Home</a></li>
    <li><a href="#">Plant a tree</a></li>
    <li><a href="#">Travel</a></li>
    <li><a href="#">Ride an elephant</a></li>
    </ul>
    在上面的“ul”表示菜单,每一个“li”项代表一个菜单项,这一点对理解我们外加的“li”标记用来描述高亮显示的菜单项有很大帮助。因为背景仅仅是用来美化用的,它并不代表一个菜单项,因此我们可以从javascript中加载它。只是为了确保它与鼠标同步,就先说“你不必加入li”,LavaLamp将特别注意它,一旦加上,“li”所代表的背景就会看起来是这样的:
    <li class="back"><div class="left"></div></li>
    步骤2: CSS
    你可以修改css以获得自己想要的外观,这里列出了一种,在“Bonus”部分列出了另外几种:
    /* Styles for the entire LavaLamp menu */ 
    .lavaLamp 
    { 
    position
    : relative; 
    height
    : 29px; width: 421px;
    background
    : url("../image/bg.gif") no-repeat top; 
    padding
    : 15px; 
    margin
    : 10px 0; 
    overflow
    : hidden; }
     
    /* Force the list to flow horizontally */ 
    .lavaLamp li 
    { 
    float
    : left; 
    list-style
    : none; 
    }
     
    /* Represents the background of the highlighted menu-item. */ 
    .lavaLamp li.back 
    { 
    background
    : url("../image/lava.gif") no-repeat right -30px; 
    width
    : 9px; 
    height
    : 30px; 
    z-index
    : 8; 
    position
    : absolute; 
    }
     
    .lavaLamp li.back .left 
    { 
    background
    : url("../image/lava.gif") no-repeat top left; 
    height
    : 30px; 
    margin-right
    : 9px; 
    }
     /* Styles for each menu-item. */ 
    .lavaLamp li a 
    { 
    position
    : relative; 
    overflow
    : hidden; 
    text-decoration
    : none; 
    text-transform
    : uppercase; 
    font
    : bold 14px arial; 
    color
    : #fff; 
    outline
    : none; 
    text-align
    : center; 
    height
    : 30px; 
    top
    : 7px; 
    z-index
    : 10; 
    letter-spacing
    : 0; 
    float
    : left; 
    display
    : block; 
    margin
    : auto 10px; 
    }
    相信我这只是一个很简单的样式表,请继续向下看以理解每一部分的作用。
    第一,我们用亮橙色作为背景以及一些基本属性height,width,padding,margin等等来风格化“ul”。我们使用了相对定位,这样我们才能确定背景“li”与“ul”的关系。这样我们才能自由移动背景“li”。

    下一步,我们使“li”水平移动而不是垂直。默认时它是垂直移动的,在这种情况下我们使用“float:left”以达到我们所需的效果。
    下一步,我们使用“li”来高亮表示现在所在的菜单项,这使用了sliding doors technique另外注意上面所提到的相对位置。
    最后一步,格式化链接
    上面的规则不是很易懂,如果你对改写css没有信心我推荐你快速阅读一下CSS positioning。它简短且通俗易懂。
    步骤3: Javascript
    这是一个非常简单的部分,所有的功能在Lava Lamp plugin中,作为一个开发者你要做的仅仅是将它包含到你的网页中。

    <script type="text/javascript" src="/path/to/jquery.js"></script> 
    <script type="text/javascript" src="/path/to/jquery.lavalamp.js"></script> 
    <!-- Optional --> 
    <script type="text/javascript" src="/path/to/jquery.easing.js"></script>
    <script type="text/javascript"> 
    $(
    function() { $(".lavaLamp").lavaLamp({ fx: "backout", speed: 700 })});
    </script>
  • 包含jquery库和LavaLamp plugin,可选择将easing plugin也加入到其中,因为它包含很多很酷的效果。例如本例的效果就要引用easing plugin。在这里下载 jqueryeasing pluginLavaLamp plugin
    接下来,在“document.ready event”中,“fx”默认为“linear”“speed”为“500”。
    Bonus
    仅仅简单修改一下css你就可获得一个完全不同风格的菜单,当然其他部分不需要改动

    预览:DEMO2

    这是另外一个,也只改动了css,我想它并不美观但我想要说的是你仅仅是被自己的想象力所束缚了。


    预览:DEMO3

    源文件下载

    posted @ 2009-12-06 23:18 junly 阅读(559) | 评论 (0)编辑 收藏
         摘要: java开发时往往需要做字符串和日期的转换 主要用到:java.text.SimpleDateFormat SimpleDateFormat sdf =   new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );   ...  阅读全文
    posted @ 2009-12-03 17:09 junly 阅读(5351) | 评论 (0)编辑 收藏
    仅列出标题
    共18页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last