自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1)
  • 资源 (18)
  • 收藏
  • 关注

原创 Oracle启动/关闭 scott解锁 登录

oracle数据库安装成功后,首次使用的出现下面的问题,如图 这里只给出3种方法:l         Sql*plusl         OEM控制台l         Windows 控制台 1.以windows控制台为例   a.以管理员身份运行cmd命令   b.输入"sqlplus /nolog"   c.输入"conn/as sysdba"

2015-04-05 17:46:56 1262

DroolsEclipse插件包

Drools是用Java编写的一个BRMS(业务规则管理系统),本资源为drools插件,可以很方便地集成到Eclipse中使用。 安装步骤参见:http://www.yiibai.com/drools/drools_eclipse_plugin.html

2017-03-19

EditPlus编辑器

≡≡≡≡≡≡≡≡≡≡≡≡≡『软件信息』≡≡≡≡≡≡≡≡≡≡≡≡≡ 软件名称: EditPlus v2.31 Build 524 汉化版 软件语言: 中文 软件类型: 文本编辑 授权方式: 共享软件 运行环境: Win2003, WinXP, Win2000, WinNT, WinME, Win9X 软件大小: 1.79 MB 开 发 商: http://www.editplus.com/ 软件汉化: tracky([email protected]) ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ ≡≡≡≡≡≡≡≡≡≡≡≡≡『软件简介』≡≡≡≡≡≡≡≡≡≡≡≡≡ 一套功能强大,可取代记事本的文字编辑器,拥有无限制的撤消与重做、 英文拼字检查、自动换行、列数标记、搜寻取代、同时编辑多文件、全屏 幕浏览功能。而它还有一个好用的功能,就是它有监视剪贴板的功能,能 够同步于剪贴板自动将文字粘贴进 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

2015-01-22

OSGi实战/(美)RichardS.Hall

OSGi是一种标准技术,用于创建高度模块化的Java应用。利用OSGi,无需停止运行整个系统就可以安装、启动、停止、更新或卸载组件。Oracle、BEA和IBM都在积极推动OSGi技术的采用。   《OSGi实战》作者既来自开发一线,又参与了OSGi规范的制定,这就保障了全书内容的权威性。《OSGi实战》全书历时两年多方才完成,凝聚了作者们多年来的宝贵经验和辛勤汗水。内容分三部分,涵盖OSGi核心规范解读、OSGi规范的实际应用及相关高级主题,系统、全面、深入地阐述OSGi的重要特性,揭示了大量鲜为人知的技术细节。此外,本书还通过极具实用价值的实例示范了OSGi的各种应用,能够满足各个层次读者的需求。通过大师的指引,相信读者一定可以轻松实现“入门-进阶-精通”三级跳,在OSGi世界里创造出无限可能。 本书为PDF格式英文原版 第一部分  OSGi:模块化、生命周期和服务 第1章  揭开OSGi的面纱 1.1  OSGi的定义和目标 1.1.1  Java模块化的不足 1.1.2  OSGi能帮助你吗 1.2  OSGi架构概览 1.2.1  OSGi框架 1.2.2  将它们结合起来 1.3  Hello, world! 1.3.1  模块层示例 1.3.2  生命周期层示例 1.3.3  服务层示例 1.3.4  场景设置 1.4  OSGi的相关技术 1.4.1  Java EE 1.4.2  Jini 1.4.3  NetBeans 1.4.4  JMX 1.4.5  轻量级容器 1.4.6  Java 业务集成 1.4.7  JSR 277 1.4.8  JSR 294 1.4.9  SCA 1.4.10  .NET 1.5  小结 第2章  精通模块化 2.1  什么是模块化 2.2  为什么使用模块化 2.3  模块化绘图程序 2.4  bundle 2.4.1  bundle在物理模块化中扮演的角色 2.4.2  bundle在逻辑模块化中扮演的角色 2.5  使用元数据定义bundle 2.5.1  可读信息 2.5.2  bundle标识 2.5.3  代码可见性 2.5.4  类搜索顺序 2.6  完成绘图程序设计 2.6.1  提高绘图程序的模块化 2.6.2  启动新的绘图程序 2.7  OSGi依赖解析 2.7.1  自动解析依赖 2.7.2  使用约束保证一致性 2.8  回顾模块化绘图程序的好处 2.9  小结 第3章  生命周期 3.1  生命周期管理 3.1.1  什么是生命周期管理 3.1.2  为什么需要生命周期管理 3.2  OSGi bundle的生命周期 3.2.1  将生命周期引入绘图程序 3.2.2  OSGi框架在生命周期中的作用 3.2.3  bundles激活器的清单文件条目 3.2.4  生命周期API 3.2.5  生命周期状态图 3.2.6  bundle缓存和框架重启 3.3  在bundle中使用生命周期API 3.3.1  配置bundle 3.3.2  部署bundle 3.3.3  检查框架状态 3.3.4  持久化bundle状态 3.3.5  事件监听 3.3.6  bundle自我销毁 3.4  动态扩展绘图程序 3.5  生命周期与模块化 3.5.1  解析bundle 3.5.2  刷新bundle 3.5.3  当更新操作没有完成更新 3.6  小结 第4章  学习服务 4.1  什么是服务、为什么使用服务、什么时候用服务 4.1.1  什么是服务 4.1.2  为什么使用服务 4.1.3  什么时候应该使用服务 4.1.4  什么时候不应该使用服务 4.1.5  仍然不确定 4.2  OSGi服务实战 4.2.1  发布服务 4.2.2  查找并绑定服务 4.3  处理动态性 4.3.1  避免常见的陷阱 4.3.2  监听服务 4.3.3  服务跟踪 4.4  在绘图示例中使用服务 4.4.1  定义图形服务 4.4.2  发布图形服务 4.4.3  跟踪图形服务 4.5  将服务关联到模块层和生命周期层 4.5.1  为什么不能看到我的服务 4.5.2  能否提供一个bundle特有的服务 4.5.3  应该在何时释放服务 4.5.4  何时注销服务 4.5.5  应该将接口分开打包吗 4.6  标准服务 4.6.1  核心服务 4.6.2  compendium服务 4.7  小结 第5章  深入分析模块化特性 5.1  管理导出 5.1.1  导入导出包 5.1.2  隐式导出属性 5.1.3  强制导出属性 5.1.4  导出过滤 5.1.5  复制导出 5.2  导入解耦 5.2.1  可选导入 5.2.2  动态导入 5.2.3  可选导入与动态导入的比较 5.2.4  日志示例 5.3  需要的bundle 5.3.1  声明bundle依赖关系 5.3.2  聚合分割包 5.3.3  bundle依赖的相关问题 5.4  将bundle划分为片段 5.4.1  片段 5.4.2  本地化中使用片段 5.5  处理与环境相关的问题 5.5.1  依赖执行环境 5.5.2  构建本地库 5.6  小结 第二部分  OSGi实践 第6章  走近bundle 6.1  将JAR转换成bundle 6.1.1  选取bundle标识 6.1.2  导出包 6.1.3  发现需要导入的包 6.1.4  嵌入与导入 6.1.5  增加对生命周期的支持 6.1.6  JAR文件转换为bundle的简要说明 6.2  分割一个应用到多个bundle 6.2.1  创建一个大型bundle 6.2.2  将代码拆分到多个bundle中 6.2.3  降低模块耦合 6.2.4  是否要转换成bundle 6.3  小结 第7章  测试应用程序 7.1  迁移测试到OSGi 7.1.1  容器内测试 7.1.2  创建测试bundle 7.1.3  覆盖所有基础 7.2  模拟OSGi 7.2.1  测试期望的行为 7.2.2  模拟实战 7.2.3  模拟意外情景 7.2.4  处理多线程测试 7.2.5  暴露竞态条件 7.3  OSGi高级测试 7.3.1  OSGi测试工具 7.3.2  在多个框架中运行测试 7.3.3  单元测试 7.3.4  集成测试 7.3.5  管理测试 7.4  小结 第8章  调试应用 8.1  调试bundle 8.1.1  调试实战 8.1.2  使用HotSwap解决问题 8.2  解决类加载相关问题 8.2.1  ClassNotFoundException与NoClassDefFoundError 8.2.2  类型转换问题 8.2.3  使用uses约束 8.2.4  同Class.forName()划清界限 8.2.5  线程上下文类加载器 8.3  追踪内存泄漏 8.4  悬挂服务 8.4.1  查找悬挂服务 8.4.2  防止悬挂服务 8.5  小结 第9章  管理bundle 9.1  包和bundle的版本控制 9.1.1  有效的版本控制 9.1.2  包的版本控制 9.1.3  bundle的版本控制 9.2  配置bundle 9.2.1  配置管理服务 9.2.2  元类型服务 9.2.3  首选项服务 9.3  延迟启动bundle 9.3.1  激活策略 9.3.2  使用激活策略 9.4  小结 第10章  管理应用 10.1  部署bundle 10.1.1  管理代理 10.1.2  OSGi bundle仓库 10.1.3  部署管理服务 10.2  指定bundle激活顺序 10.2.1  介绍启动级别服务 10.2.2  使用启动级别服务 10.3  小结 第三部分  高级主题 第11章  组件模型和框架 11.1  面向组件 11.1.1  什么是组件 11.1.2  为什么需要组件 11.2  OSGi与组件 11.2.1  OSGi面向服务的组件模型 11.2.2  改进OSGi组件模型 11.2.3  使用组件的绘图示例 11.3  声明式服务 11.3.1  构建声明式服务组件 11.3.2  使用声明式服务提供服务 11.3.3  利用声明式服务使用服务 11.3.4  声明式服务组件生命周期 11.4  小结 第12章  高级组件框架 12.1  Blueprint容器 12.1.1  Blueprint架构 12.1.2  用Blueprint提供服务 12.1.3  通过Blueprint使用服务 12.1.4  Blueprint组件生命周期 12.1.5  Blueprint高级特性 12.2  Apache Felix iPOJO 12.2.1  构建iPOJO组件 12.2.2  通过iPOJO提供服务 12.2.3  通过iPOJO使用服务 12.2.4  iPOJO组件生命周期 12.2.5  使用iPOJO实例化组件 12.3  混合和匹配 12.4  小结 第13章  启动和嵌入OSGi框架 13.1  标准启动和嵌入 13.1.1  框架API概览 13.1.2  创建框架实例 13.1.3  配置框架 13.1.4  启动框架实例 13.1.5  停止框架实例 13.2  启动框架 13.2.1  确定安装哪些bundle 13.2.2  干净地关闭 13.2.3  配置、创建和启动框架 13.2.4  安装bundle 13.2.5  启动bundle 13.2.6  启动主bundle 13.2.7  等待关闭 13.3  嵌入框架 13.3.1  内部还是外部 13.3.2  谁在控制 13.3.3  嵌入式框架示例 13.4  小结 第14章  确保应用程序的安全 14.1  使用安全或者不使用安全 14.2  安全:努力尝试使用 14.3  OSGi特定的权限 14.3.1  PackagePermission 14.3.2  BundlePermission 14.3.3  AdminPermission 14.3.4  ServicePermission 14.3.5  相对文件权限 14.4  使用条件权限管理服务管理权限 14.4.1  条件权限 14.4.2  条件权限管理服务 14.4.3  bundle 位置条件 14.4.4  使用Conditional- Permission Admin 14.4.5  实现一个策略文件读取器 14.5  数字签名的bundle 14.5.1  学习术语 14.5.2  创建证书和签名bundle 14.5.3  BundleSignerCondition 14.6  本地权限 14.7  高级权限管理 14.7.1  自定义条件概览 14.7.2  基于日期的条件 14.7.3  用户输入条件 14.8  汇总 14.9  小结 第15章  Web应用和Web服务 15.1  创建Web应用 15.1.1  使用HTTP服务规范 15.1.2  使用Web应用规范 15.1.3  标准WAR:Web URL处理程序 15.2  提供和使用Web服务 15.2.1  提供一个Web服务 15.2.2  使用Web服务 15.2.3  发布服务 15.3  小结 附录A  构建 bundle 附录B  OSGi标准服务 目    录 第一部分  OSGi:模块化、生命周期和服务 第1章  揭开OSGi的面纱 1.1  OSGi的定义和目标 1.1.1  Java模块化的不足 1.1.2  OSGi能帮助你吗 1.2  OSGi架构概览 1.2.1  OSGi框架 1.2.2  将它们结合起来 1.3  Hello, world! 1.3.1  模块层示例 1.3.2  生命周期层示例 1.3.3  服务层示例 1.3.4  场景设置 1.4  OSGi的相关技术 1.4.1  Java EE 1.4.2  Jini 1.4.3  NetBeans 1.4.4  JMX 1.4.5  轻量级容器 1.4.6  Java 业务集成 1.4.7  JSR 277 1.4.8  JSR 294 1.4.9  SCA 1.4.10  .NET 1.5  小结 第2章  精通模块化 2.1  什么是模块化 2.2  为什么使用模块化 2.3  模块化绘图程序 2.4  bundle 2.4.1  bundle在物理模块化中扮演的角色 2.4.2  bundle在逻辑模块化中扮演的角色 2.5  使用元数据定义bundle 2.5.1  可读信息 2.5.2  bundle标识 2.5.3  代码可见性 2.5.4  类搜索顺序 2.6  完成绘图程序设计 2.6.1  提高绘图程序的模块化 2.6.2  启动新的绘图程序 2.7  OSGi依赖解析 2.7.1  自动解析依赖 2.7.2  使用约束保证一致性 2.8  回顾模块化绘图程序的好处 2.9  小结 第3章  生命周期 3.1  生命周期管理 3.1.1  什么是生命周期管理 3.1.2  为什么需要生命周期管理 3.2  OSGi bundle的生命周期 3.2.1  将生命周期引入绘图程序 3.2.2  OSGi框架在生命周期中的作用 3.2.3  bundles激活器的清单文件条目 3.2.4  生命周期API 3.2.5  生命周期状态图 3.2.6  bundle缓存和框架重启 3.3  在bundle中使用生命周期API 3.3.1  配置bundle 3.3.2  部署bundle 3.3.3  检查框架状态 3.3.4  持久化bundle状态 3.3.5  事件监听 3.3.6  bundle自我销毁 3.4  动态扩展绘图程序 3.5  生命周期与模块化 3.5.1  解析bundle 3.5.2  刷新bundle 3.5.3  当更新操作没有完成更新 3.6  小结 第4章  学习服务 4.1  什么是服务、为什么使用服务、什么时候用服务 4.1.1  什么是服务 4.1.2  为什么使用服务 4.1.3  什么时候应该使用服务 4.1.4  什么时候不应该使用服务 4.1.5  仍然不确定 4.2  OSGi服务实战 4.2.1  发布服务 4.2.2  查找并绑定服务 4.3  处理动态性 4.3.1  避免常见的陷阱 4.3.2  监听服务 4.3.3  服务跟踪 4.4  在绘图示例中使用服务 4.4.1  定义图形服务 4.4.2  发布图形服务 4.4.3  跟踪图形服务 4.5  将服务关联到模块层和生命周期层 4.5.1  为什么不能看到我的服务 4.5.2  能否提供一个bundle特有的服务 4.5.3  应该在何时释放服务 4.5.4  何时注销服务 4.5.5  应该将接口分开打包吗 4.6  标准服务 4.6.1  核心服务 4.6.2  compendium服务 4.7  小结 第5章  深入分析模块化特性 5.1  管理导出 5.1.1  导入导出包 5.1.2  隐式导出属性 5.1.3  强制导出属性 5.1.4  导出过滤 5.1.5  复制导出 5.2  导入解耦 5.2.1  可选导入 5.2.2  动态导入 5.2.3  可选导入与动态导入的比较 5.2.4  日志示例 5.3  需要的bundle 5.3.1  声明bundle依赖关系 5.3.2  聚合分割包 5.3.3  bundle依赖的相关问题 5.4  将bundle划分为片段 5.4.1  片段 5.4.2  本地化中使用片段 5.5  处理与环境相关的问题 5.5.1  依赖执行环境 5.5.2  构建本地库 5.6  小结 第二部分  OSGi实践 第6章  走近bundle 6.1  将JAR转换成bundle 6.1.1  选取bundle标识 6.1.2  导出包 6.1.3  发现需要导入的包 6.1.4  嵌入与导入 6.1.5  增加对生命周期的支持 6.1.6  JAR文件转换为bundle的简要说明 6.2  分割一个应用到多个bundle 6.2.1  创建一个大型bundle 6.2.2  将代码拆分到多个bundle中 6.2.3  降低模块耦合 6.2.4  是否要转换成bundle 6.3  小结 第7章  测试应用程序 7.1  迁移测试到OSGi 7.1.1  容器内测试 7.1.2  创建测试bundle 7.1.3  覆盖所有基础 7.2  模拟OSGi 7.2.1  测试期望的行为 7.2.2  模拟实战 7.2.3  模拟意外情景 7.2.4  处理多线程测试 7.2.5  暴露竞态条件 7.3  OSGi高级测试 7.3.1  OSGi测试工具 7.3.2  在多个框架中运行测试 7.3.3  单元测试 7.3.4  集成测试 7.3.5  管理测试 7.4  小结 第8章  调试应用 8.1  调试bundle 8.1.1  调试实战 8.1.2  使用HotSwap解决问题 8.2  解决类加载相关问题 8.2.1  ClassNotFoundException与NoClassDefFoundError 8.2.2  类型转换问题 8.2.3  使用uses约束 8.2.4  同Class.forName()划清界限 8.2.5  线程上下文类加载器 8.3  追踪内存泄漏 8.4  悬挂服务 8.4.1  查找悬挂服务 8.4.2  防止悬挂服务 8.5  小结 第9章  管理bundle 9.1  包和bundle的版本控制 9.1.1  有效的版本控制 9.1.2  包的版本控制 9.1.3  bundle的版本控制 9.2  配置bundle 9.2.1  配置管理服务 9.2.2  元类型服务 9.2.3  首选项服务 9.3  延迟启动bundle 9.3.1  激活策略 9.3.2  使用激活策略 9.4  小结 第10章  管理应用 10.1  部署bundle 10.1.1  管理代理 10.1.2  OSGi bundle仓库 10.1.3  部署管理服务 10.2  指定bundle激活顺序 10.2.1  介绍启动级别服务 10.2.2  使用启动级别服务 10.3  小结 第三部分  高级主题 第11章  组件模型和框架 11.1  面向组件 11.1.1  什么是组件 11.1.2  为什么需要组件 11.2  OSGi与组件 11.2.1  OSGi面向服务的组件模型 11.2.2  改进OSGi组件模型 11.2.3  使用组件的绘图示例 11.3  声明式服务 11.3.1  构建声明式服务组件 11.3.2  使用声明式服务提供服务 11.3.3  利用声明式服务使用服务 11.3.4  声明式服务组件生命周期 11.4  小结 第12章  高级组件框架 12.1  Blueprint容器 12.1.1  Blueprint架构 12.1.2  用Blueprint提供服务 12.1.3  通过Blueprint使用服务 12.1.4  Blueprint组件生命周期 12.1.5  Blueprint高级特性 12.2  Apache Felix iPOJO 12.2.1  构建iPOJO组件 12.2.2  通过iPOJO提供服务 12.2.3  通过iPOJO使用服务 12.2.4  iPOJO组件生命周期 12.2.5  使用iPOJO实例化组件 12.3  混合和匹配 12.4  小结 第13章  启动和嵌入OSGi框架 13.1  标准启动和嵌入 13.1.1  框架API概览 13.1.2  创建框架实例 13.1.3  配置框架 13.1.4  启动框架实例 13.1.5  停止框架实例 13.2  启动框架 13.2.1  确定安装哪些bundle 13.2.2  干净地关闭 13.2.3  配置、创建和启动框架 13.2.4  安装bundle 13.2.5  启动bundle 13.2.6  启动主bundle 13.2.7  等待关闭 13.3  嵌入框架 13.3.1  内部还是外部 13.3.2  谁在控制 13.3.3  嵌入式框架示例 13.4  小结 第14章  确保应用程序的安全 14.1  使用安全或者不使用安全 14.2  安全:努力尝试使用 14.3  OSGi特定的权限 14.3.1  PackagePermission 14.3.2  BundlePermission 14.3.3  AdminPermission 14.3.4  ServicePermission 14.3.5  相对文件权限 14.4  使用条件权限管理服务管理权限 14.4.1  条件权限 14.4.2  条件权限管理服务 14.4.3  bundle 位置条件 14.4.4  使用Conditional- Permission Admin 14.4.5  实现一个策略文件读取器 14.5  数字签名的bundle 14.5.1  学习术语 14.5.2  创建证书和签名bundle 14.5.3  BundleSignerCondition 14.6  本地权限 14.7  高级权限管理 14.7.1  自定义条件概览 14.7.2  基于日期的条件 14.7.3  用户输入条件 14.8  汇总 14.9  小结 第15章  Web应用和Web服务 15.1  创建Web应用 15.1.1  使用HTTP服务规范 15.1.2  使用Web应用规范 15.1.3  标准WAR:Web URL处理程序 15.2  提供和使用Web服务 15.2.1  提供一个Web服务 15.2.2  使用Web服务 15.2.3  发布服务 15.3  小结 附录A  构建 bundle 附录B  OSGi标准服务 作者介绍   Richard S. Hall,是Apache Felix框架开发组重要成员。2000年以后Richard参与了OSGi的开源工作并于2004年加入OSGi联盟。Richard还是Apache软件组织成员,目前在Oracle的GlassFish项目组工作,帮助解决OSGi的相关问题。   Karl Pauls,是Apache Felix Framework Security Provider项目的实现者,Apache Felix框架开发组的核心成员。Karl还是Apache软件组织成员,参与开发过多个Apache项目以及其他的开源项目。目前Karl是Luminis的一位研究员。

2014-08-18

svn服务器搭建步骤详解(word文档)

该文档详细讲解了SVN服务器的搭建步骤并配有相应截图 文档包含svn服务器的安装、使用、权限设置

2013-09-21

Java SSL安全通讯

javax.net.ssl.SSLSocket类的使用。 下载cer.zip文件后解压,得到cer文件夹,该目录下有运行脚本,其中Test文件夹为java项目源码,直接导出到Eclipse。 SSLServer主类在com.csii.ssl包下,其它pack下的内容都用不到。 cer目录下除server.sh,client.sh,Test外,其余文件为安全证书

2013-08-24

java zip文件压缩与解压缩

java zip文件的压缩与解压缩,支持中文 使用apache的工具包可设置字符编码

2013-07-10

java反射(reflect)

java反射(reflect)

2013-07-07

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; }

2013-05-05

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"; } } }

2013-05-05

svn插件(集成Eclipse或MyEclipse)

svn插件包,可集成到Eclipse、MyEclipse. 集成方法: 将解压出来的dropins文件夹和myPlugin文件夹放到Eclipse或MyEclipse的安装目录下即可。 将dropins文件夹下的svn.link文件的内容修改Eclise的安装路径,如 path=E:\\eclipse\\myPlugin\\svn

2013-05-05

svn安装包(完整)

svn安装所需的所有文件,以及安装步骤详解

2013-05-05

oracle存储过程、游标、函数、PL/SQL块

包含oracle存储过程的增、删、查、改 %type、%rowtype的使用 自定义函数 PL/SQL块

2013-03-31

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控制报文协议 · · · · · · (更多)

2013-01-20

ssh ,log4j实例

SSH框架整合实战项目,log4j完整的配置文件(log4j.perproties,log4j.xml),日志可输出到控制台、本地文件、数据库,提供多种配置方法,项目可直接运行,SQL语句在项目中。该项目对学习spring,struts2,hibernate,log4j框架有很大的帮助

2012-12-23

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" /> &lt;!--<mx:ColumnSeries displayName="梨" yField="pear"/>--&gt; </mx:series> </mx:ColumnChart> <mx:Legend dataProvider="{columnchart1}" direction="horizontal"/>

2012-12-15

flex4.0继承实例代码

flash build4.0继承实例源代码,该例子演示了flex中类的继承关系,应用程序还演示了is 和as 关键字的用法 备注:1.该项目名为Ztest6, 2.mxml应用程序为t1_extends.mxml,

2012-12-15

jquery1.7中文API

Jquery1.7中文API,CHM格式,中文版,绝对好用,强力推荐

2012-12-02

java源代码几种常见的排序方法

java源代码几种常见的排序方法,冒泡排序,选择排序,插入排序,shell排序,归并排序,快速排序等

2012-12-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除