DroolsEclipse插件包
Drools是用Java编写的一个BRMS(业务规则管理系统),本资源为drools插件,可以很方便地集成到Eclipse中使用。
安装步骤参见:http://www.yiibai.com/drools/drools_eclipse_plugin.html
EditPlus编辑器
≡≡≡≡≡≡≡≡≡≡≡≡≡『软件信息』≡≡≡≡≡≡≡≡≡≡≡≡≡
软件名称: EditPlus v2.31 Build 524 汉化版
软件语言: 中文
软件类型: 文本编辑
授权方式: 共享软件
运行环境: Win2003, WinXP, Win2000, WinNT, WinME, Win9X
软件大小: 1.79 MB
开 发 商: http://www.editplus.com/
软件汉化: tracky(tracky2002@163.com)
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
≡≡≡≡≡≡≡≡≡≡≡≡≡『软件简介』≡≡≡≡≡≡≡≡≡≡≡≡≡
一套功能强大,可取代记事本的文字编辑器,拥有无限制的撤消与重做、
英文拼字检查、自动换行、列数标记、搜寻取代、同时编辑多文件、全屏
幕浏览功能。而它还有一个好用的功能,就是它有监视剪贴板的功能,能
够同步于剪贴板自动将文字粘贴进 EditPlus 的编辑窗口中,让你省去粘
贴的步骤。另外它也是一个非常好用的 HTML 编辑器,它除了支持颜色标
记、HTML 标记,同时支持 C、C++、Perl、Java,另外,它还内建完整的
HTML & CSS1 指令功能,对于习惯用记事本编辑网页的朋友,它可帮你节
省一半以上的网页制作时间,若你有安装 IE 3.0 以上版本,它还会结合
IE 浏览器于 EditPlus 窗口中,让你可以直接预览编辑好的网页(若没安
装IE,也可指定浏览器路径)。
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
≡≡≡≡≡≡≡≡≡≡≡≡≡『汉化说明』≡≡≡≡≡≡≡≡≡≡≡≡≡
1.这是汉化完全版,无序安装原版!
2.汉化了关于和注册对话框,并修改了这两处对话框的字体,感谢阳光灿
烂提供修改方法!
3.汉化了部分非标资源,基本上不会出现什么英文了,部分剩下的部分英
文汉化后会导致程序出现异常,所以没有进行汉化!请用户见谅!
4.集成了 liangjihua 的使用技巧集萃,感谢 liangjihua!
5.如果遇到问题请先使用原版进行测试,如果的确属于汉化版的问题,请
与我取得联系,谢谢!
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
tracky 2015.01.22
Name: crsky
Code: 7879E-5BF58-7DR23-DAOB2-7DR30
svn服务器搭建步骤详解(word文档)
该文档详细讲解了SVN服务器的搭建步骤并配有相应截图
文档包含svn服务器的安装、使用、权限设置
Java SSL安全通讯
javax.net.ssl.SSLSocket类的使用。
下载cer.zip文件后解压,得到cer文件夹,该目录下有运行脚本,其中Test文件夹为java项目源码,直接导出到Eclipse。
SSLServer主类在com.csii.ssl包下,其它pack下的内容都用不到。
cer目录下除server.sh,client.sh,Test外,其余文件为安全证书
java zip文件压缩与解压缩
java zip文件的压缩与解压缩,支持中文
使用apache的工具包可设置字符编码
java反射(reflect)
java反射(reflect)
dom4j生成xml
该项目采用dom4j从数据库表中生成xml数据
项目文档、数据库建表语句均已放置在项目中。
关键代码如下:
public String getXml(Connection conn, int rm_id, String path) {
//声明xml字符串
String fileString = "";
//创建DAO对象
MachineroomDao machineroom_dao = new MachineroomDao();
Cab_equipmentDao cab_equipment_dao = new Cab_equipmentDao();
Equip_configDao equip_config_dao = new Equip_configDao();
EquipmentDao equipment_dao = new EquipmentDao();
//添加room,第一层
Machineroom machineroom_dto = machineroom_dao.findById(conn, rm_id);//设置房间号
//获取个属性的值.如果为null,将属性设为""
String getMr_id = new Integer(machineroom_dto.getMr_id()).toString();
String getMr_name = machineroom_dto.getMr_name();
if(getMr_id == null) getMr_id = "";
if(getMr_name == null) getMr_name = "";
Document document = DocumentHelper.createDocument();
Element rooms_racks = document.addElement("rooms-racks");
Element room = rooms_racks.addElement("room");
room.addAttribute("id", getMr_id);
room.addAttribute("name", getMr_name);
room.addAttribute("isSelected", "true");
//添加rack,第二层
List<Cab_equipment> cab_equipment_list = cab_equipment_dao.findById(conn, path, machineroom_dto.getMr_id());
for (int i = 0; i < cab_equipment_list.size(); i++) {
Cab_equipment cab_equipment_dto = cab_equipment_list.get(i);
//获取个属性的值.如果为null,将属性设为""
String getE_id = cab_equipment_dto.getE_id();
String getEqucab_name = cab_equipment_dto.getEqucab_name();
String getX = cab_equipment_dto.getX() + "";
String getY = cab_equipment_dto.getY() + "";
String getZ = cab_equipment_dto.getZ() + "";
String getLongs = cab_equipment_dto.getLongs() + "";
String getWidth = cab_equipment_dto.getWidth() + "";
String getHighs = cab_equipment_dto.getHighs() + "";
String getRotate_angle = cab_equipment_dto.getRotate_angle();
if(getE_id == null) getE_id = "";
if(getEqucab_name == null) getEqucab_name = "";
if(getRotate_angle == null) getRotate_angle = "";
//将float后的".0"去掉
if(cab_equipment_dto.getX()%1 == 0) getX = (int)cab_equipment_dto.getX()+"";
if(cab_equipment_dto.getY()%1 == 0) getY = (int)cab_equipment_dto.getY()+"";
if(cab_equipment_dto.getZ()%1 == 0) getZ = (int)cab_equipment_dto.getZ()+"";
if(cab_equipment_dto.getHighs()%1 == 0) getHighs = (int)cab_equipment_dto.getHighs()+"";
Element rack = room.addElement("rack");
rack.addAttribute("id", getE_id);
rack.addAttribute("name", getEqucab_name);
rack.addAttribute("x", getX);
rack.addAttribute("y", getY);
rack.addAttribute("z", getZ);
rack.addAttribute("lengthX", getLongs);
rack.addAttribute("lengthY", getWidth);
rack.addAttribute("lengthZ", getHighs);
rack.addAttribute("rotation", getRotate_angle);
//添加device,第三层
int u = 0;//表示需要计算的u高,其xml的属性为uplace
int count = 0;//计数器,临时变量
int count2 = 0;
List<Equip_config> equip_config_list = equip_config_dao.findByLocation(conn, cab_equipment_dto.getE_id());
for (int j = 0; j < equip_config_list.size(); j++) {
Equip_config equip_config_dto = equip_config_list.get(j);
Equipment equipment_dto = equipment_dao.findBySerial(conn, equip_config_dto.getSerial());
//获取个属性的值.如果为null,将属性设为""
String getSerial = equip_config_dto.getSerial();
String getEquipmentname = equip_config_dto.getEquipmentname();
String getEq_typecn = equipment_dto.getEq_typecn();
String getImagepath = equip_config_dto.getImagepath();
String getStorey = equip_config_dto.getStorey();
//String getU = equip_config_dto.getU() + "";
if(getSerial == null) getSerial = "";
if(getEquipmentname == null) getEquipmentname = "";
if(getEq_typecn == null) getEq_typecn = "";
if(getImagepath == null) getImagepath = "";
if(getStorey == null) getStorey = "";
int getU = equip_config_dto.getU();
//处理u高
if(getU != 0){
count++;
}
if(count2==0){
if(count == 1){
u = 2;
}
}else{
Equip_config equip_config_dto_temp = equip_config_list.get(count2 - 1);
Equipment equipment_dto_temp = equipment_dao.findBySerial(conn, equip_config_dto_temp.getSerial());
int getU_temp = equip_config_dto_temp.getU();
if(count == 1){
u = 2;
}else {
if(getU_temp == 0){
u = u + getU_temp/10 + 0;
} else {
if(getU_temp == 0){
u = u + getU_temp/10 +2;
}else {
u = u + getU_temp/10 + 1 + 2;
}
}
}
}
count2++;
String uplace = u + "";
String GetU = getU + "";
if(getU == 0) {
uplace = "0";
}//u高处理完毕
Element device = rack.addElement("device");
device.addAttribute("num", getSerial);
device.addAttribute("name", getEquipmentname);
device.addAttribute("type", getEq_typecn);
device.addAttribute("image", getImagepath);
//device.addAttribute("storey", getStorey);//设备所在的层数,该属性不在xml中展示
device.addAttribute("uplace", uplace);//计算得来的u高
device.addAttribute("uheight", GetU);//图片的高度
}
}
//设置xml输出格式
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
StringWriter out = new StringWriter();
XMLWriter xmlWriter = new XMLWriter(out, format);
try {
xmlWriter.write(document);
fileString = out.toString();
xmlWriter.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return fileString;
}
json的解析
该小项目完整全面整理了java解析json各中写法,以及json的生成、遍历。
该项目收集整理json所需的jar包,使用文档。
/**
* json的生成、遍历
*/
import java.util.*;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
* 该类演示的java数组、字符串、List生成json数组
* Map生成json
* 嵌套生成json
* json的遍历
* 递归遍历json所有子条目
* @author Administrator
*
*/
public class Test3 {
public static void main(String[] args) {
String str="{ \"head\":{\"snd_time\":\"20151020234832\",\"snder\":\"S\"} ,\"body\":{\"app_id\":\"APP002\",\"records\":[{\"excp_stat\":\"0\",\"fields\":[{\"req_time\":\"20140828000312\",\"tran_date\":\"121226\"}]}]} }";
System.out.println(str);
/*普通数据生成json数组*/
boolean[] boolArray = new boolean[]{true,false,true};
JSONArray jsonArray1 = JSONArray.fromObject( boolArray );
System.out.println( jsonArray1 );
// prints [true,false,true]
/*List生成json数组*/
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray2 = JSONArray.fromObject( list );
System.out.println( jsonArray2 );
// prints ["first","second"]
/*String生成json数组*/
JSONArray jsonArray3 = JSONArray.fromObject( "['json','is','easy']" );
System.out.println( jsonArray3 );
// prints ["json","is","easy"]
/*Map生成json*/
Map<Object, Object> map = new HashMap<Object, Object>();
map.put("name", "Ren");
map.put("sex", "man");
map.put("age", 24);
JSONObject obj = JSONObject.fromObject(map);
System.out.println(obj);
//输出结果{"sex":"man","age":24,"name":"Ren"}
/*嵌套生成json*/
JSONArray jsonArr = new JSONArray();
JSONObject jsonObj = new JSONObject();
for (int i = 1; i <= 3; i++) {
JSONObject tjo = new JSONObject();
tjo.put("optValue", i+"");
tjo.put("optText", i+"Text");
jsonArr.add(tjo);
}
jsonObj.put("options", jsonArr);
System.out.println(jsonObj);
//输出结果 {"options":[{"optValue":"1","optText":"1Text"},{"optValue":"2","optText":"2Text"},{"optValue":"3","optText":"3Text"}]}
/*嵌套生成json*/
JSONObject tobj = new JSONObject();
JSONArray tarr = new JSONArray();
tobj.put("name", "zhangsan");
tobj.put("age", 29);
tarr.add(tobj);
tarr.add(obj);
System.out.println(tarr);
//[{"name":"zhangsan","age":29},{"sex":"man","age":24,"name":"Ren"}]
tobj.put("other", tarr);
System.out.println(tobj);
//输出结果 {"name":"zhangsan","age":29,"123":[{"name":"zhangsan","age":29},{"sex":"man","age":24,"name":"Ren"}]}
/*json的遍历(单层)*/
String jsonString = tobj.toString();
JSONObject jsonObject = JSONObject.fromObject(str);
Iterator keyIter = jsonObject.keys();
while( keyIter.hasNext()) {
String key = (String)keyIter.next();
Object value = jsonObject.get(key);
System.out.println(key + "--==" + value);
}
/*测试递归遍历json(多层)*/
System.out.println("---------------------------------------------------------");
getJsonValue(str);
}
/*
* 递归遍历json所有子条目
*/
public static String getJsonValue(String json) {
if(!json.contains("{") && !json.contains("[") && json.contains(":")) {
return json;
} else if(json.equals("")){
return json;
} else if(json.trim().charAt(0) == '{'){
String value = null;
JSONObject jsonObject = JSONObject.fromObject(json);
Iterator keyIter = jsonObject.keys();
while( keyIter.hasNext()) {
String key = (String)keyIter.next();
value = jsonObject.get(key).toString();
getJsonValue(value);
if(!value.contains("{") && !value.contains("[")) {
System.out.println(key + " = " + value);
}
}
return value;
} else if(json.trim().charAt(0) == '[') {
String value = null;
JSONArray jsonArr = JSONArray.fromObject(json);
for (int i = 0; i < jsonArr.size(); i++) {
value = jsonArr.getJSONObject(i).toString();
getJsonValue(value);
if(!value.contains("{") && !value.contains("[")) {
System.out.println("----"+value);
}
}
return value;
} else {
return "error";
}
}
}
svn插件(集成Eclipse或MyEclipse)
svn插件包,可集成到Eclipse、MyEclipse.
集成方法:
将解压出来的dropins文件夹和myPlugin文件夹放到Eclipse或MyEclipse的安装目录下即可。
将dropins文件夹下的svn.link文件的内容修改Eclise的安装路径,如
path=E:\\eclipse\\myPlugin\\svn
svn安装包(完整)
svn安装所需的所有文件,以及安装步骤详解
oracle存储过程、游标、函数、PL/SQL块
包含oracle存储过程的增、删、查、改
%type、%rowtype的使用
自定义函数
PL/SQL块
TCP-IP详解(完整版,共3卷)
TCP/IP详解 (中文完整版,共3卷),网络书籍中的九阴真经。
《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。 本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。
《TCP/IP详解,卷2:实现》本书完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15 000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。本书不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点,如多播、长肥管道支持、窗口缩放、时间戳选项以及其他主题等等。读者阅读本书时,应当具备卷1中阐述的关于TCP/IP的基本知识。本书适用于希望理解TCP/TP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。
《TCP/IP详解,卷3:TCP事物..》第三卷的内容细节覆盖了当今TCP/IP编程人员和网络管理员必须熟练掌握的四个基本方面:
T/TCP (TCP事务协议),这是对TCP的扩展,使客户--服务器间的事务传输更快更有效和更可靠;
HTTP (超文本传送协议),这是飞速扩展中的万维网的基础;
NNTP (网络新闻传送协议),这是Usennet新闻系统的基础;
UNIX域协议,这是在UNIX实现中应用非常广泛的一套协议。
与前面两卷一样,本书有丰富的例子和实现的细节,他们都是4.4BSD-Lite中的网络代码。
目录 ······
第一章 概述
第二章 链路层
第三章 IP:网际协议
第四章 ARP:地址解析协议
第五章 RARP:逆地址解析协议
第六章 ICMP:Internet控制报文协议
· · · · · · (更多)
ssh ,log4j实例
SSH框架整合实战项目,log4j完整的配置文件(log4j.perproties,log4j.xml),日志可输出到控制台、本地文件、数据库,提供多种配置方法,项目可直接运行,SQL语句在项目中。该项目对学习spring,struts2,hibernate,log4j框架有很大的帮助
flex柱状图动态切换数据源实例
该flex应用程序演示了柱状图动态切换数据源
<mx:ColumnChart x="6" y="65" id="columnchart1" showDataTips="true" dataProvider="{list}" height="390" itemClick="onItemClick(event)">
<mx:horizontalAxis>
<mx:CategoryAxis categoryField="Time"/>
</mx:horizontalAxis>
<mx:series>
<mx:ColumnSeries displayName="苹果" yField="apple" click="columnseries1_clickHandler(event)"/>
<mx:ColumnSeries displayName="桔子" yField="orange" />
<!--<mx:ColumnSeries displayName="梨" yField="pear"/>-->
</mx:series>
</mx:ColumnChart>
<mx:Legend dataProvider="{columnchart1}" direction="horizontal"/>
flex4.0继承实例代码
flash build4.0继承实例源代码,该例子演示了flex中类的继承关系,应用程序还演示了is 和as 关键字的用法
备注:1.该项目名为Ztest6,
2.mxml应用程序为t1_extends.mxml,
jquery1.7中文API
Jquery1.7中文API,CHM格式,中文版,绝对好用,强力推荐
java源代码几种常见的排序方法
java源代码几种常见的排序方法,冒泡排序,选择排序,插入排序,shell排序,归并排序,快速排序等