自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(223)
  • 资源 (192)
  • 收藏
  • 关注

原创 如何解决微服务的数据一致性分发问题?

它的意思是说,你要实现数据分发,目标服务可以有很多,但是一定要注意,数据的主人只能有一个,它是数据的权威记录系统(canonical system of record),其它的数据都是只读的,非权威的拷贝(read-only, non-authoritative copy)。但是深入研究会发现它其实是有问题的。比方说在第三步,如果发消息抛异常了,并不保证说发消息失败了,可能只是由于网络异常抖动而造成的抛异常,实际消息可能是已经发到MQ中,但是抛异常会造成上面数据库更新操作的回滚,结果造成两边数据不一致。

2024-03-03 12:52:03 1231

原创 SSH 免密登入

通过选择内容来复制内容(假设您使用的是。登录到目标计算机并在用户的主目录中创建。然后,更新文件的权限。文件中以进行无密码登录。将以上内容放入目的地的。目录(如果不存在)。

2023-11-23 09:18:28 179

原创 Oracle dataguard 和Oracle rac的区别和联系

做HA方面的软件,有IBM的HACMP(很多常用AIX的人,常说的HA就指HACMP,乱啊)、SUN的Sun Cluster、HP的MC/SG等。是主数据库的备用库(standby 库)通过自动传送和接受archivelog,并且在dataguard库自动apply 这些log,从而达到和主数据库同步的目的,可能dataguard 库是建立的异地的,当主库所在的区域出现了致命性的灾难时(火灾、地震等),主库没法修复时,这时可以切换dataguard 为主库的模式,对外提供服务,而它的数据基本是当前最新的。

2023-08-25 09:31:07 1555

原创 如何优雅做好项目管理?

项目( Project )是为创造独特的产品、服务或者成果而进行的临时性工作。管理( Management )通过实施计划、组织、领导、协调、控制等职能来协调他人的活动,使别人同自己一起实现既定目标的活动过程。项目管理(Project Management) 在项目活动中运用专门的知识、技能、工具和方法,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望的过程。从项目的基本概况可以看出,每个项目是具备三种基本特征即独特性、临时性、目的性。

2023-08-18 16:03:31 278

原创 项目计划、进度与控制

约瑟夫·朱兰博士也说过,项目就是在已经确定好的时间内必须解决的问题图1-1 项目管理就是工具、人和系统image.png组织是人的集合,过程是人在处理。如果人的因素出现问题,那么过程就可能出现问题;而过程有问题,任务的完成就会大打折扣范围的变更比其他任何因素都更容易导致项目超期和预算超支,这还不算一开始就错误定义项目需求定义一个项目,重要的是要明确项目的各项要求。我认为,要求不明确是导致项目失败的最常见原因项目管理就是组织实施对项目要求所必需的一切活动知识、技术、工具和手段的应用。

2023-06-30 10:53:30 439

原创 SpringBoot项目如何实现MyBatis的流式查询

mybatis的流式查询的本意,是避免大量数据的查询而导致内存溢出,因此dao层查询返回的是一个迭代器(Cursor),可以每次从迭代器中取出一条查询结果,在实际业务开发过程中,即是根据实际的jvm内存大小,从迭代器中取出一定数量的数据后,再进行数据处理,待处理完之后,继续取出一定数据再处理,以此类推直到全部数据处理完,这样做的最大好处就是能够降低内存使用和垃圾回收器的负担,使数据处理的过程相对更加高效、可控,内存溢出的风险较小;如果计算到某条员工的数据发生异常,已经计算好的数据要不要全部回滚?

2023-06-19 11:30:31 939

原创 用饭店来形象比喻线程池的工作原理

使用线程池主要解决在程序中频繁创建和销毁线程导致的资源浪费,线程池可以维护一定量的线程来执行所需要的任务,维护的线程也可以重复使用。如果所有客户都有饭吃了,那么临时厨师和正式厨师就等待新客户。如果外面的排队小板凳用完,餐厅会招聘临时厨师做饭。如果临时厨师也用完,也没有办法排队就使用拒绝策略。丢弃让最先排队的客户,为当前客户做饭。队列就相当于饭店外面提供排队的板凳。二、用形象的饭店来解释工作原理。任务就相当于来饭店吃饭的客人。如果正式厨师不够用,就去排队。线程池就相当于一家饭店,线程就相当于饭店的厨师。

2023-06-11 11:46:56 564

原创 前后分离的优势

前端/WEB服务器放的是css,js,图片等等一系列静态资源(甚至你还可以css,js,图片等资源放到特定的文件服务器,例如阿里云的oss,并使用cdn加速),前端服务器负责控制页面引用&跳转&路由,前端页面异步调用后端的接口,后端/应用服务器使用tomcat(把tomcat想象成一个数据提供者),加快整体响应速度。(去参加阿里的技术峰会,听他们说他们的web容器都是自己写的,就算他单实例抗10万http并发,2000台是2亿http并发,并且他们还可以根据预知洪峰来无限拓展,很恐怖,就一个首页。

2023-06-01 09:15:05 513

原创 前后端分离开发模式解决之道

让接口文档发挥价值,提高变动接口的成本,测试尽早介入。这需要提高需求的理解能力和接口设计能力。德国有句谚语:“朝汤里吐口水。” 只有这样,才能让人们放弃那碗汤,停止不合理的行为。前后端同学坐在一起工作的时候效率会有提升,当后端同学接口变化时,只需要口头上通知一下即可,我们没有文档,我们很敏捷啊。没错,我们需要承认这样配合开发的效率会很高,但是频繁的变动会导致不断返工,造成了另一种浪费,这种浪费是可以被减少,甚至是被消除的。接口文档在定接口时起到一定作用,写完接口就没有用了。

2023-06-01 09:03:22 471

原创 java代码重构经验总结

如果你看到了这种丢弃(而不是抛出)异常的情况,可以百分之九十九地肯定代码存在问题(在极少数情况下,这段代码有存在的理由,但最好加上完整的注释,以免引起别人误解)。5)这次总结的方式方法,经验形成文档,要求以后在工作中是随时做的,当增加功能时,修改bug时或复审代码时都应该想到是否将原有的代码重构,以提高系统的可复用性和可扩展性。3)重构完成后,向服务器提交代码时,需采用更保险的方法,将原文件备份为以***.class.20060809.jeff的文件,不能简单的覆盖,否则那是很危险的。

2023-05-09 09:42:51 1097 1

原创 ChartGPT多重插补法 填充缺失点

ChartGPT多重插补法 填充缺失点

2023-03-27 14:43:13 495

转载 傻傻分不清之 Cookie、Session、Token、JWT

通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功)互联网中的认证:用户名密码登录邮箱发送登录链接手机号接收验证码只要你能收到邮箱/验证码,就默认你是账号的主人用户授予第三方应用访问该用户某些资源的权限你在安装手机应用的时候,APP 会询问是否允许授予权限(访问相册、地理位置等权限)你在访问微信小程序时,当登录时,小程序会询问是否允许授予权限(获取昵称、头像、地区、性别等个人信息)

2022-11-15 09:56:45 153

原创 SpringBoot打包后Jar包很大怎么办?

SpringBoot使用spring-boot-maven-plugin插件打包很方便,启动也方便,可是整个Jar包太大了,不方便传输,怎么办?

2022-11-10 16:36:16 867

原创 王树文:张成功项目管理记

如果项目经理能严格要求自己并真正成为团队的“领头羊”,这样通过项目经理的人人榜样力量让项目成员“潜移默化”从而“心甘情愿”地努力工作,这时,不但工作效果好,而且项目组成员会紧密地团结在项目经理周围并更加拥护项目经理的决定,这样的项目团队自然就是人际关系融洽的项目团队了。划先行”“目标导向”“全局思维”“要事第一”“聚焦优点”“集思广益”“建立信任”七个思维习惯和行为习惯,在人际沟通方面和管理者领导力方面,也取得了较大的进步。QA的主要职能是服务职能,具体有:“过程指导职能”、“执法职能”和“过程改进职能”

2022-10-18 10:47:44 326

原创 定庄趣记十二星座

7.你此时停止了心跳,医生用烧得通红的天秤压在你的胸部,胸腔被烫得弹起来又落了下去,反复几次后,你的心脏重新跳了起来。8.你慢慢醒来,却发现呼吸有些困难,原来是有一只从天而降的蝎子,用两只钳子夹住了你的脖子,勒得通红,勒得你喘不过气来。10.接下来到你的鼻子了,“摩羯”谐音想到“魔戒”,想象你把魔戒戴在鼻子上面,像是牛魔王的鼻环一样,又一阵钻心的痛,鼻子红肿起来!5.你一屁股往后坐了下来,没想到坐在狮子头上,狮子可不是病猫啊,它一口咬住了你的屁股,顿时鲜血直流,你晕了过去!

2022-08-24 11:30:36 100

原创 强化记忆的七种武器

比如“白羊”和“脚底”联结时,我们不仅看到了白羊的形象,还听到它咩咩叫的声音,感觉到踩上去软软的感觉,如果还能够闻到羊身上的骚味和羊粪味,捂着鼻子想躲开,你的印象又会增加几分。由“形象”想到一头大象,大象的鼻子、耳朵等感觉器官都非常大,还可以想象它是一个“独眼龙”(独特),它的脚踩在竹简做的床单上(简单),尾巴上面系着一个蝴蝶结(联结),身上坐着一个看《故事会》的驯象人,他在向天空中巡逻的飞机(“逻辑”谐音为“逻机”)打招呼。形象如果画面清晰,细节突出,颜色分明,动感十足,记忆的效果会更加明显。

2022-08-24 11:26:30 153

原创 结构思考力

在为企业提供培训服务的过程中,我们会发现,这些员工的思维模式存在问题,还不在他成人以后,而在于小的时候,没有得到很好的引导和训练,这也是中国传统教育跟西方教育的一个本质差别。在解决问题方面,可以让你更加快速的锁定问题,找到背后的原因,并提出解决方案,做一个精准的决策。结构可以说是万物之本,大到宇宙星系,小到颗粒尘埃,世间万事万物都结构,结构化思维就是指一个人在面对问题或工作任务时,从结构的视角从多个侧面清晰、全面地审视问题,从而更有效促进我们的思考、表达和解决问题的一种思维方式。来去强化自己的结构化思维。.

2022-07-15 10:21:26 1093

原创 JWT登录过期-自动刷新token方案介绍

在前后分离场景下,越来越多的项目使用jwt token作为接口的安全机制,但存在jwt过期后,用户无法直接感知,假如在⽤户操作页⾯期间,突然提⽰登录,则体验很不友好,所以就有了token⾃动刷新需求。但是这个自动刷新方案,基本都离不开服务端状态存储,JWT推出思想是:去中⼼化,⽆状态化,所以有所违背类似这样的业务,有阿⾥云⾸页,没有做token刷新令牌维护,但是符合对应的思想⽤户登录成功的时候,⼀次性给他两个Token,分别为AccessToken和RefreshTokenAccessToken有效期较短,

2022-07-14 16:33:22 13730

原创 JVM 全面深入

编译:.java源文件编译成.class字节码文件 打包:.class字节码文件打包成一个jar包或者一个war包 运行:使用java -jar等命令运行程序,启动一个jvm进程类加载:使用类加载器把.class字节码文件加载到jvm中执行:jvm字节码执行引擎开始执行main方法代码中使用到这个类的时候。jvm启动,首先会找到main方法的类,会加载到jvm内存,然后执行main方法。main方法执行的过程中,使用到了哪些类,就加载这个类。加载阶段:加载子类前,要加载和初始化父类只负责加载,运行由执行引擎

2022-07-04 10:05:04 11223

原创 oracle创建只读权限的用户简单四步走

第一步、创建用户。使用有管理员权限的用户创建一个新的用户:create user 用户名 identified by 密码 default tablespace 表空间;第二步、赋连接权限:grant connect to 用户名;第三步、赋表权限grant select on owner.表名 to 用户名;如果有多表,可以用selece转换批量执行语句:select 'grant select on '||owner||'.'||object_name||' to 用户名;'f

2022-07-01 14:28:30 5609

原创 CentOS7 使用yum安装Nginx (方式一)

1、添加源  默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址。因此可以如下执行命令添加源:sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2、安装Nginx  通过yum search nginx看看是否已经添加源成功。如果成功则执行下列命令安装Nginx。sudo yum install -y n

2022-07-01 08:40:40 600

原创 《你不可不知的人性》经典语录

《你不可不知的人性》是美国作家刘墉编著的一本关于为人处世,领悟潜台词与潜规则,规避人际场上的歧路的书。本书介绍了是什么样人性,造成人与人的猜忌和纷争?刘墉以“身边的小故事”和古今实例,像一把手术刀,切到了人性深处的毒瘤。全书故事辛辣,如同疫苗,种F去会令人肿痛、发烧,却有助健康。人性常有贪婪自私、急功近利、喜新厌旧、猜忌犹疑,误会冲撞比比皆是,令人莫衷一是。《你不可不知的人性(套装共2册)》的目的不只是要人知道人性的“丑”,更多希望大家在“了解”之后能有“谅解”,少生气,多和气,达致人际普遍的安稳与从容。这

2022-06-23 11:43:17 285

原创 spring boot 集成 gRPC 系列1

一、环境准备安装protocbuf下载地址https://github.com/protocolbuffers/protobuf/releases选择对应的版本下载安装,这里我选择21.1选择对应的压缩包解压配置环境变量变量名 :PROTOCBUF_HOME变量值:D:\protoc-21.1-win64 找到系统变量中的path变量,选中后点击编辑,新增:%PROTOBUF_HOME%\bin安装protocbuf插件Protobuf - IntelliJ IDEs Plugin | Mar

2022-06-22 14:08:47 1481

原创 Arthas(阿尔萨斯) 能为你做什么?

Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:Arthas支持JDK 6+,支持Linux/Mac/Winodws,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。Copy to clipboardErrorCopied 如果下载速度比较慢,可以使用aliyun的镜像: Copy to clipboardErrorCopied 2.1 Windows下安装

2022-06-21 13:58:58 964

原创 java高并发系列-第1天:必须知道的几个概念

同步和异步通常来形容一次方法调用,同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而异步方法通常会在另外一个线程中“真实”地执行。整个过程,不会阻碍调用者的工作。如图:上图中显示了同步方法调用和异步方法调用的区别。对于调用者来说,异步调用似乎是一瞬间就完成的。如果异步调用需要返回结果,那么当这个异步调用真实完成时,则会通知调用者。打个比方,比如购物,如果你去商场买空调,当你到了商场看重了一款空调

2022-06-17 17:31:51 85

原创 java高并发系列 - 第21天:java中的CAS,你需要知道的东西

这是java高并发系列第21篇文章。从网站计数器实现中一步步引出CAS操作介绍java中的CAS及CAS可能存在的问题悲观锁和乐观锁的一些介绍及数据库乐观锁的一个常见示例使用java中的原子操作实现网站计数器功能需求:我们开发了一个网站,需要对访问量进行统计,用户每次发一次请求,访问量+1,如何实现呢?下面我们来模仿有100个人同时访问,并且每个人对咱们的网站发起10次请求,最后总访问次数应该是1000次。实现访问如下。代码如下:输出:代码中的count用来记录总访问次数,方法表示访问一次,内部

2022-06-17 14:15:07 166

原创 深入理解进程和线程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。进程具有的特征:动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的并发性:任何进程都可以同其他进行一起并发执行独立性:进程是系统进行资源分配和调度的一个独立单位结构性:进程由程序,数据和进程控制块三部分组成我们经常使用windows系统,经常会看见.exe后缀的文件,双击这个.exe文件的时候,这个文

2022-06-17 14:11:59 101

原创 《关键对话》要点整理

《关键对话》要点整理【荐语】⼤家有没有遇到过这样的情况:感觉费了很⼤⼝⾆跟别⼈聊天,最后聊天没有起到任何成效。同时⼜责备⾃⼰嘴笨,不懂沟通技巧,总是在关键时”掉链⼦”?今天我们分享的书籍将帮助⼤家解决⽣活中难以⾯对的各种难题,成就⽆往不利的事业并拥有更快乐⼈⽣。【精华解读】⼀、关键对话是什么?关键对话的三个特征:意见不⼀、情绪激动、事关重⼤⼆、为什么要进⾏关键对话(掌握关键对话的好处)1.如果我们选择逃避关键对话,可能会让结果更糟。⽽如果能够处理好的话,最终能帮助解答问题,达成⽬

2022-05-23 14:55:59 839

原创 精读《关键对话》

01 何为关键对话此处的关键对话是指每个人身上都会发生的和他人的互动行为,是指可影响你生活的那些日常对话。它具体有三个特征:对话双方的观点有很大差距对话存在很高的风险对话双方的情绪非常激烈在关键对话中,为什么我们往往会表现很糟糕?作者认为有以下原因:1)人类的自然基因使然。经过无数代人遗传下来的基因额影响,每当面对关键对话时我们便会下意识地采取人类面对危险时最原始的应对方式--暴力对抗或转身而逃,而不是采用机智的说服和友善的关注来解决问题(毕竟那种危急时刻,你不可能和猛兽坐下来商...

2022-05-19 08:58:07 421

原创 drools 介绍

1 .场景1.1需求商城系统消费赠送积分100元以下, 不加分 100元-500元 加100分 500元-1000元 加500分 1000元 以上 加1000分......1.2传统做法1.2.1 if...elseif (order.getAmout() <= 100){order.setScore(0);addScore(order);}else if(order.getAmout() > 100 && order.

2022-05-06 13:47:14 629

原创 OpenResty 解决了什么痛点?

OpenResty解决的是高并发的痛点。现在服务的后台大部分是java写的,但是用java写出稳定的高并发服务是很复杂的一件事,首先是服务器的选择,web服务器有几个选型,tomcat,apache,weblogic,还有商用webphere. 1、tomcat官方宣称的并发量是1000,厉害点的做点参数调优,也不过3000并发,如果要开发一个并发百万的服务,1000000/3000,需要1000台服务器,想想都不可能。 2、apache的并发比tomcat更不堪,200-300 3、weblogic的..

2022-02-18 17:34:00 159

原创 知识地图模型

2022-02-15 14:43:43 258

原创 真正有效的竞品分析怎么做

2022-01-24 10:27:22 168

原创 从理解用户开始:故事、生态、画像、旅程

2022-01-24 10:08:45 245

原创 顶层设计:微服务生态与 Spring Cloud Alibaba

Java 领域微服务是如何实现的?本讲我将通过下面三个方面来阐述: 通用的微服务架构应包含哪些组件; Spring Cloud 是如何支撑微服务架构的; 我为什么强烈推荐 Spring Cloud Alibaba? 通用的微服务架构应包含哪些组件相对于单体式架构的简单粗暴,微服务架构将应用打散,形成多个微服务进行独立开发、测试、部署与运维。虽然从管理与逻辑上更符合业务需要,但微服务架构也带来了诸多急需解决的核心问题: 如何发现新服务节点以及检查服务节点的状态?

2022-01-21 15:06:00 382

原创 经验教训:微服务设计时的五条宝贵经验

微服务架构的新挑战在著名软件著作《人月神话》中提到,软件世界没有“银弹”,这句话当然适用于架构领域,随着从单体架构过渡到微服务架构,因为将原有系统打散,给系统增加了许多不稳定因素。单体架构向微服务架构转变下面我从网络、性能、运维成本、组织架构与集成测试五个方面分别进行阐述。第一点,跨进程通信带来的新问题。以往单体应用是在单机中进行进程内通信,通信稳定性相当好。但是打散为分布式系统后,变为进程间通信,往往这个过程还伴随着跨设备的网络访问,架构师在设计时必须考虑上下游系统因为网络..

2022-01-21 14:03:20 589

原创 jemeter 压测webservice

1.测试计划-->右击添加-->Threads-->新增线程组2.线程组-->右击配置元件-->增加http信息头管理器3、线程组-->点击添加-->Sampler-->HTTP请求4、http信息头管理器需要填入Content-Type(必填):text/xml;charset=UTF-85.在HTTP请求中XML中的数据信息,全部复制到jmeter的HTTP请求中的Body Data&lt..

2022-01-20 16:45:00 398

原创 如何分析测试结果和评估测试工作的质量

软件测试中每一项测试活动都会产生测试结果,通过测试结果来评估产品的质量体现了测试的目的和价值。而通过测试结果评估测试工作本身的质量也非常重要,能让我们及时发现测试中存在的问题,并及时改正,是测试工作进行持续改进的基础。相比传统的软件测试,敏捷测试更强调持续改进,根据上下文不断调整测试计划和设计,因此更需要在测试过程中对测试质量提供持续反馈。这一讲就来介绍如何对敏捷测试过程进行评估,如何实现量化管理,以及如何分析测试工作的质量。如何评估敏捷测试过程传统的测试过程比较好理解,测试分析、计划、设计、执

2022-01-19 14:59:57 6431

原创 测试与质量度量的可视化

测试用例和缺陷需要测试管理系统进行跟踪管理。在此基础上实现三者之间的可追溯性,就能更容易解决需求变更、回归测试范围确定、质量评估等一系列重要的问题。下面首先介绍测试管理系统。测试管理系统在测试管理系统中,管理的核心是测试用例和缺陷。一个测试管理系统的构成如图 1 所示。图1 测试管理系统的构成示意图敏捷测试中的测试用例包括两部分:一部分是手工测试用例,另一部分是可以转化为自动化测试脚本的测试用例。对于探索式测试,虽然从粒度上来说,一个 Session 可以分解成十几条普.

2022-01-19 14:47:42 929

原创 如何构建有强烈质量意识的学习型组织

达成质量共识在两个月之前,我写了一篇“软件测试灵魂三问”的文章,很受欢迎,有 8000 多的阅读量。而在此之前,还写过一篇“质量三问”的文章,更具有挑战,即通常所说的哲学三问,你是谁?从哪里来?到哪里去?那么,质量是什么?从哪里来?到哪里去?这样的基本问题,按道理每个公司都应该去回答,企业中的每个团队、团队中的每个成员都需要思考这样的问题,是否认同自己所在的公司给出的答案。如果不认同,怎么办?要不要进一步和公司管理层去沟通,在如今质量认知上达成共识。只有达成质量共识,才能有统一的目标,最终驱

2022-01-19 11:27:30 1915

rabbitMQ-0.0.1-SNAPSHOT-sources.jar

优化mysql 基于rabbitMQ实现在高并发下性能倍增

2021-12-02

代码优化消除重复代码+API接口+异步调用

利用工厂模式 + 模板方法模式,消除 if…else 和重复代码 代码重复的3种处理方法1-用工厂模式 + 模板方法模式 利用注解 + 反射消除重复代码

2021-11-17

redis-sentinel-集群.7z

Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务: 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。 提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。 自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。

2020-04-13

8.0.36-redis-session-lib.7z

使用nginx搭建集群tomcat8,redis实现session共享 这里是tomcat 集成工具包

2020-04-13

java web springboot License生成器 (JAVA源码+图形界面)

保证java web ,spirngboot,tomcate web安全,可以现在IP,mac,自定义参数,License生成器 (JAVA源码+界面) 其中包括license授权机制的原理和制作license的具体步骤 增加了mac 地址验证

2018-09-23

Tomcat-Memcached Session共享所需jar包

以下操作步骤的前提是你已经安装了,Tomcat和Memcached,和已经配置了Nginx的负载, 如果这些您都没做,请先安装和配置,这些网上有很多,不再多说。 1、下载jar包 下载的jar有: memcached-session-manager-1.5.1.jar, memcached-session-manager-tc6-1.5.1.jar, jar包下载地址:http://code.google.com/p/memcached-session-manager/downloads/list 2、把下载的jar包放到%TOMCAT_HOMT%\lib中。 3、配置%TOMCAT_HOME%\config\context.xml 在Context.xml文件中加入 [html] view plain copy <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:localhost:11211,n2:localhost:11212" requestUriIgnorePattern=".*\.(png|gif|jpg|css|js){1}quot; sessionBackupAsync="false" sessionBackupTimeout="1800000" copyCollectionsForSerialization="false" transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" /> 也可在server.xml配置文件的<Host>...<Host>中添加配置

2017-06-07

JAXB Unmarshalling @XmlAnyElement

解决List<Object> 没法转 具体对象问题 SOAP +XML JAXB Unmarshalling @XmlAnyElement

2017-02-23

GsonFormat(android studio 插件)

GsonFormat(android studio 插件) 本插件只适用 android studio和 Intellij IDEA 工具,exlipse 的少年无视我吧!!!** 这是一个根据JSONObject格式的字符串,自动生成实体类参数.

2016-11-05

json快速生成实体类

json快速生成实体类

2016-11-05

jdk1.8可用的dubbo-admin-2.5.4.war

jdk1.8可用的dubbo-admin-2.5.4.war

2016-11-02

java 最全的基础体系

这一部分主要讲解了java的基础部分,里面的代码大多都是由我本人在听课的时候所练习写过的的代码,这些代码并且都是 能够正常运行的 :里面还有我自己整理的笔记。在整理的过程中由于之前写过的代码太多不方便全部放到上面,所以只添加了一些自己比较喜欢的和好一点的代码 我想这对于初学者会有很大的帮助吧 编写本文档的过程耗费了我近一个月的时间,希望大家尊重知识,尊重劳动成果,这些内容我将会全部都免费的分享给你大家

2016-10-21

AdminLTE 是一个基于Bootstrap 3.x的免费高级管理控制面板主题

AdminLTE 是一个基于Bootstrap 3.x的免费高级管理控制面板主题。AdminLTE - 是一个完全响应式管理模板。基于Bootstrap3框架。高度可定制的,易于使用。适合从小型移动设备到大型台式机很多的屏幕分辨率。

2016-10-21

jQuery UI Portlet 插件API及源代码 Version: 1.3.1

jQuery UI Portle $('#portlet-demo').portlet('option', 'add', { position: { x: 0, y: 1 }, portlet: { attrs: { id: 'news' }, title: 'News(亲,我是被动态添加的呦)', afterCreated: function() { alert('动态创建了News。。。'); }, content: { style: { height: '100' }, type: 'text', text: function() { return $('#newsTemplate').html(); } } } });

2014-03-21

OSGI入门教程和代码

自工作以来就一直很关注插件体系结构的东西,从最早对于ant、maven这些部分支持插件思想的开源工具的关注,到对于portal时代portlet这种较为完整的插件体系结构的关注,到对于Eclipse 3.0采用OSGI作为其插件体系结构的思想的关注。 但真正开始在实际的产品中使用插件体系结构却是04年的事,在04年开始在产品中采用插件体系结构作为系统的基础架构,不过由于当时对于OSGI的陌生,所以在产品中采用的是自主编写插件架构实现的方式,事实证明插件体系结构的实现远不如想

2014-03-13

OSGI高级应用

《OSGi实战》Opendoc发布已有一年多了,《OSGi实战》Opendoc作为一篇OSGi入门级的Opendoc,主要是起到介绍OSGi的作用,从而吸引更多的人认识OSGi和对OSGi产生兴趣,很高兴《OSGi实战》在过去的一年中得到了很多朋友的关注,更值得高兴的是短短的一年来OSGi取得了很大的进步,几乎可以称得上是OSGi发展历史上具备里程碑意义的一年。 OSGi目前的现状格局从下图中可以管窥一二:

2014-03-13

产品经理培训文档

产品经理培训文档 此次经验分享涉及产品经理和产品,包括:idea—产品定位—竞争对手分析—用户调研—需求获取—roadmap—需求管理— PRD文档—原型设计—用户体验—信息架构—交互设计—项目管理—产品流程—运营数据统计分析—产品改进方案

2014-02-26

项目经理常用文档

常用文档 201004 产品需求文档(PRD)模板 [PRD]产品需求文档规范 产品需求说明书模板_v1.2(PRD) 软件需求规格说明书(IEEE_830-1998) 201004 商业需求文档(BRD)实例 201004 会议记录模板 201004 项目日报周报实例

2014-02-26

逻辑思维题训练(附答案)

【1】假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。 1、先把5升的灌满,倒在6升里,这时6升的壶里有5升水 2.再把5升的灌满,用5升的壶把6升的灌满,这时5升的壶里剩4升水 3.把6升的水倒掉,再把5升壶里剩余的水倒入6升的壶里,这时6升的壶里有4升水 4.把5升壶灌满,倒入6升的壶,5-2=3 【2】周雯的妈妈是豫林水泥厂的化验员。 一天,周雯来到化验室做作业。做完后想出去玩。 "等等,妈妈还要考你一个题目,"她接着说,"你看这6只做化验用的玻璃杯,前面3只盛满了水,后面3只是空的。你 能只移动1只玻璃杯,就便盛满水的杯子和空杯子间隔起来 吗?" 爱动脑筋的周雯,是学校里有名的"小机灵",她只想了一会儿就做到了。 请你想想看,"小机灵"是怎样做的?

2014-02-26

Liferay开发指南

环境搭建 一、资源准备 以上资源内容可以在Liferay的官方网站下载, 1 liferay-plugins-sdk-6.1.1(Plugins SDK) 2 liferay-portal-6.1.1-ce-ga2(Bundled with Tomcat) 3 liferay-portal-src-6.1.1-ce-ga2(Portal Source,可选) 4 liferay IDE 1.6 5 Java SDK(开发Java程序当然要安装,请配置好环境变量) 二、配置SDK 打开Liferay IDE,Window-->Preferences-->Liferay-->Installed Plugin SDK,点击右边的Add…按钮,选择Liferay plugins SDK的解压目录,如下图所示,点击OK,完成SDK的安装。 三、配置Liferay运行环境(以Tomcat为例) 打开Liferay IDE,Window-->Preferences-->Server-->Runtime Environment,点击右边Add…,在弹出的服务器选择里面选择Liferay,Inc-->Liferay v6.1 CE (Tomcat 7),请打“Create a new location server”打上勾。 点击Next,选择liferay-portal-6.1.1-ce-ga2的解压目录,如下图: 点击Finish完成Tomcat的配置;或者点击“Next”,此步骤可以在Liferay source location处选择Liferay的源码,或者跳过,推荐关联一下Liferay的源码,其他的两个可选,点击Finish完成Tomcat的配置。 四、运行Liferay 经过上面的三步,在Liferay IDE(Eclipse 4.2)的下方的server面板处,可以看到Liferay 6.1 CE Server,现在点击运行

2013-12-07

单点登录技术文档 多用户多系统多数据库

CAS 单点登录 多数据库 SSO 1、 单点登录概述 单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。IBM对SSO有一个形象的解释“单点登录、全网漫游”。 SSO将一个企业内部所有域中的用户登录和用户帐号管理集中到一起,SSO的好处显而易见: 1. 减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性 2. 实现安全的同时避免了处理和保存多套系统用户的认证信息 3. 减少了系统管理员增加、删除用户和修改用户权限的时间 4. 增加了安全性:系统管理员有了更好的方法管理用户,包括可以通过直接禁止和删除用户来取消该用户对所有系统资源的访问权限 对于内部有多种应用系统的企业来说,单点登录的效果是十分明显的。很多国际上的企业已经将单点登录作为系统设计的基本功能之一。 1.1 单点登录产品 商业SSO软件  专门的SSO商业软件  主要有:Netgrity的Siteminder,已经被CA收购。Novell 公司的iChain。RSA公司的ClearTrust等。  门户产品供应商自己的SSO产品,  如:BEA的WLES,IBM 的Tivoli Access Manager,Sun 公司的identity Server,Oracle公司的OID等。 上述商业软件一般适用于客户对SSO的需求很高,并且企业内部采用Domino、SAP、Sieble等系统比较多的情况下。单点登录产品通常需要在应用软件中增加代理模块,而商业SSO产品主要针对大型软件制作了代码模块。 因此,商业SSO软件除了价格问题外,另一个重要问题就是对客户自己的应用系统支持未必十分完善。

2013-11-30

韩顺平php可爱屋源代码

欢迎光临[可爱屋]

2013-11-03

WebSphere发布CXF webserivce注意事项

新建一个web工程cxf,把用到的lib包导入,参考图:lib包.jpg web.xml配置: <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:**/spring.xml</param-value> </context-param> <servlet> <servlet-name>cxf</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>cxf</servlet-name> <url-pattern>/ws/*</url-pattern> </servlet-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> src目录下创建spring.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> 添加完这个文件后,还需要在这个文件中导入这么几个文件。文件内容如下: <import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/> <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/> 这几个文件在cxf-2.5.2.jar中 下面开始写服务器端代码,首先定制服务器端的接口,代码如下: package cxf.demo; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; @WebService public interface HelloWorld { @WebMethod @WebResult public String sayHi(@WebParam String text); } 下面编写WebService的实现类,服务器端实现代码如下: package cxf.demo; import javax.jws.WebService; @WebService(endpointInterface="cxf.demo.HelloWorld") public class HelloWorldImpl implements HelloWorld { public String sayHi(String name) { String msg = "Hello " + name + "!"; return msg; } }

2013-07-24

Oracle面试问题-技术篇

1.解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 2.你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢? 解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 3.如何转换init.ora到spfile? 解答:使用create spfile from pfile 命令. 4.解释data block , extent 和 segment的区别(这里建议用英文术语) 解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment.

2012-03-15

Ethereal教程

ethereal 可以用来从网络上抓包,并能对包进行分析。下面介绍windows 下面ethereal 的使用方法 安装 1)安装winpcap,下载地址http://netgroup-serv.polito.it/winpcap/install/Default.htm 2)安装ethereal ,下载地址http://www.ethereal.com/ 使用 windows 程序,使用很简单。 启动ethereal 以后,选择菜单Capature->Start ,就OK 了。当你不想抓的时候,按一下stop, 抓的包就会显示在面板中,并且已经分析好了

2012-03-15

把jar包打包成exe

exe4j.zip Exe4j 使用说明 -------------------------------------------------------------------------------- http://blog.sina.com.cn 2006年04月06日23:02 COCHMU 标签: 将java编织成.class后,如果只是用java命令来执行总觉得不是太过瘾,找个办法生成像exe文件一样用鼠标双击便可执行的文件,应该是很有趣的啊。这里我用了一个名字叫做exe4j的免费小软件,感觉不错。   首先,当然是要下载个exe4j。我的是2.2版本的,license:L-g782dn2d-1f1yqxx1rv1sqd。   接着,将你要选择好你即将发布的.class文件就不用细说了。下面是创建jar文件,这里我用一个名字叫做d:MyJavaTest.class的文件来举例,另外注意还要编写一个确定main_class的文件manifest.mf,在这里mainfest.mf和目录MyJava是在同一个目录下(这里是都在D:),然后使用如下命令: jar cvfm test.jar manifest.mf MyJava   manifest.mf当初还不知道怎么写,非常的抓狂。。。呵呵。其实很简单,代码如下: Manifest-Version: 1.0 Main-Class: MyJava.Test Created-By: Hanic   只要Main-Class写对就可以了。这样,一个test.jar文件就生成了,这里我就不细说jar的具体功能了。但为了确保成功,我们可以再用下面的指令执行一下刚刚生成的test.jar: java -jar test.jar   怎么样,是不是可以很顺利的进行?如果是,那我们就可以开始进行可执行文件的创建了。   exe4j应用起来倒是相当简单。类似于傻瓜式的,只要一路next,填写和选择个别的参数就ok了。稍微懂点e文的都可以应用自如了。不要说你一点e文都不懂啊!没办法,简单说下流程: 1、打开exe4j,可以输入license,可以打开你以前操作过的config文件。 2、单击NEXT键,选择”JAR in EXE”mod按钮,单击NEXT。 3、填写短名和文件输出的路径然后点击NEXT。 4、在这里你可以选择你要生成的可执行文件的类型,以及生成的可执行文件名称、可执行文件的图标等,我们在这里就选择GUI application,名字就根据自己的需要取一个,图标你可以自己在你的图标库里选一个你喜欢的,然后再NEXT。 5、在这里填写Main class的名字,单击绿色+选择所需的.jar文件,如果没有特殊要求我们就可以再继续了。 6、接下来是选择jre版本,填写好jre的最大最小版本然后再继续。 7、下面设一下你的文件执行的片头,增加其美观效果,选择自己喜欢的图片,写自己想写的文字,并可以根据需要调整文字的位置,再继续。 8、下面是一个选择语言版本的界面选好后再继续。 9、下面是一个短暂的等待,然后就大功告成了,一个java写成的可执行文件就这样生成了。 10、双击一下看看效果,迎面而来的是自己设置的开头效果,感觉怎么样?

2010-08-04

myelipse 打jar包插件

myelipse 打jar包插件net.sf.fjep.fatjar_0.0.31.zipnet.sf.fjep.fatjar_0.0.31.zip

2010-08-04

重写window.alert方法

重写window.alert方法 重写window.alert方法

2010-06-12

jBPM4 最新学习资源

jBPM4 最新学习资源 相对jpbm3来说的确是一个不错的学习教程 还可到www.family.com上找视频学习

2009-11-12

JBoSS Seam 学习大全

JBoss Seam学习好资源 绝对超值

2009-11-12

一周学会Linux系统

Startx 进入图形界面 Logout注销 Shutdown –h now 立即进行关机 Shutdown –r now 现在重新启动计算机 Reboot 现在重新启动计算机 开发步骤: 1. Vi Hello.java 2. 输入小写I [进入插入模式] 3. 输入esc [进入命令模式] 4. 输入:[wq表示退出保存 q!退出不保存] 5. javac Hello.java[编译] 6. java Hell [运行] Pwd显示当前在哪个路径下 添加用户: Useradd xiaoming 设置密码 Passwd xiaoming 在home下多一个xiaoming目录 用xiaoming帐号进入系统后,是xiaoming的目录并以$结束 删除用户: Userdel 用户名 [只删除用户名不删除的主目录] Userdel –r xiaoming [删除用户及用户主目录] 命令:init[0123456]有七种级别 0:关机 1:单用户 2:多用户状态没有网络服务 3:多用户状态有网络服务 4:系统未使用保留给用户 5:图形界面 6:系统重启

2009-11-11

SQL完全手册 pdf

描述: 现在有两张表 学生表 No Name Sex S001 AA 男 S002 BB 女 S003 CC 男 考试成绩表 ExamNO No Subject Score E001 S001 C++ 60 E002 S002 Java 99 E003 S001 VB 80 数据: create table students(no varchar(10),name varchar(10),sex nchar(1)) insert students select 'S001' , 'AA' , '男' insert students select 'S002' , 'BB' , '女' insert students select 'S003' , 'CC' , '男' create table results(examno varchar(10),no varchar(10),subject varchar(10),score int) insert results select 'E001' , 'S001' , 'C++' , 60 insert results select 'E002' , 'S002' , 'Java' , 99 insert results select 'E003' , 'S001' , 'VB' , 80 select * from students select * from results 查询结果: Name C++ Java VB AA 60 NULL 80 BB NULL 99 NULL CC NULL NULL NULL create table students(no varchar(10),name varchar(10),sex nchar(1)) insert students select 'S001' , 'AA' , '男' insert students select 'S002' , 'BB' , '女' insert students select 'S003' , 'CC' , '男' create table results(examno varchar(10),no varchar(10),subject varchar(10),score int) insert results select 'E001' , 'S001' , 'C++' , 60 insert results select 'E002' , 'S002' , 'Java' , 99 insert results select 'E003' , 'S001' , 'VB' , 80 select * from students select * from results select a.name,max(case when b.subject='C++' then b.score else null end) [C++] ,max(case when b.subject='Java' then b.score else null end) [Java] ,max(case when b.subject='VB' then b.score else null end) [VB] from students a left join results b on a.no=b.no group by a.name

2009-11-05

Maven权威指南中文版 pdf

关键字: maven gwt 运行环境: maven2.0.7 gwt1.4.60 jdk1.6.0_02 Tomcat 5.5 windows xp sp2 一、在环境变量中创建以下配置 1、 变量名:JAVA_HOME 变量值:D:\Java\jdk1.6.0_02 变量注:这个变量是指定JDK放的位置,变量的值与JAVA根目录的路径对应 2、 变量名:TOMCAT_HOME 变量值:D:\project tools\Tomcat 5.5 变量注:这个变量指定TOMCAT的存放位置 3、 变量名:MAVEN_HOME 变量值:D:\project tools\maven-2.0.7 变量注:这个变量指定MAVEN的存放路径 4、 变量名:GWT_HOME 变量值:D:\project tools\gwt-windows-1.4.60 变量注:这个变量指定GWT的存放路径 二、把下面的两段分别接到环境变量path与classpath 的最后面 path: ;%MAVEN_HOME%\bin;%GWT_HOME;%JAVA_HOME%\bin;%TOMCAT_HOME%\bin;%GWT_HOME%; classpath: ;.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%TOMCAT_HOME%\common\lib\jsp-api.jar;%TOMCAT_HOME%\common\lib\servlet-api.jar;%GWT_HOME%\gwt-servlet.jar;%GWT_HOME%\gwt-user.jar;%GWT_HOME%\gwt-dev-windows.jar; 三、MAVEN配置 1、进入MAVEN_HOME,此处我们在之前已设为D:\project tools\maven-2.0.7; 然后进入conf目录,修改settings.xml,找到<settings>标签里面的<localRepository>标签(通常它会在注释里面,需把它拷贝一份出注释外,进行修改),改为<localRepository>d:\project tools\maven repository</localRepository>,这是maven的本地库路径,如果不设置此项,那么它默认的路径是在你的私人目录,如C:\Documents and Settings\grass的.m2目录中,但通常我们设定本地库路径,以免不同用户使用时,又要重新下载库文件

2009-11-05

struts2 + spring + lucene_search 实例

package com.hapark.lucene; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.Hits; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; /** * 张超 * [email protected] * @author Administrator * */ public class WareSearch { public Hits search(String key, String city) { Hits hits = null; try { Query query = null; IndexSearcher searcher = new IndexSearcher("d:\\index"); Analyzer analyzer = new StandardAnalyzer(); //创建一个Analyzer接口的一个实例类StandardAnalyzer QueryParser qp = new QueryParser("title", analyzer); query = qp.parse(key); if (searcher != null) { hits = searcher.search(query); //hits结果 //测试 /* for(int i=0;i<hits.length();i++){ Document doc = hits.doc(i); System.out.println(doc.get("title")); System.out.println(doc.get("content")); System.out.println(doc.get("url")); } */ } } catch (Exception ex) { } return hits; } }

2009-09-21

liferay代码研读

Liferay 目前发布到了3.6.1 了,它现在分为两个版本专业版和企业版.其中专业版完全采用基于 Spring 框架(http://www.springframework.org)的轻量级架构,采用基于AOP 的基础设施实现, 因此可以完全脱离高端J2EE 应用服务器,以web 应用的形式运行在纯servlet 容器(例如 Tomcat)中。从技术的角度,这足以证明:基于IoC 容器和AOP 的轻量级架构完全可以取代 EJB 提供企业级强度的产品。 Liferay 代码研读笔记(0.2)-----温兵 希望和大家一起研究 Liferay. 联系方式:QQ:80838762 MSN:[email protected] Mail:[email protected] Liferay代码研读笔记.......................................................................................................................1 1 Liferay架构及所集成的各项技术................................................................................................6 1.1 基本架构............................................................................................................................6 1.2 Portlet API (JSR 168)..........................................................................................................7 1.3 Struts and Tiles....................................................................................................................7 1.4 Session EJBs, Spring, and Hibernate ..................................................................................8 1.5 SOAP, RMI, and Tunneling ..............................................................................................11 1.6 Application Service Provider ............................................................................................12 2 系统属性文件.............................................................................................................................12 2.1 portal.properties ................................................................................................................12 2.1.1 Properties Override ................................................................................................42 2.1.2 Portal Release.........................................................................................................42 2.1.3 Portal Context ........................................................................................................42 2.1.4 Logging ..................................................................................................................43 2.1.5 Error .......................................................................................................................43 2.1.6 TCK........................................................................................................................44 2.1.7 Upgrade..................................................................................................................45 2.1.8 Company ................................................................................................................45 2.1.9 Users.......................................................................................................................46 2.1.10 Groups and Roles .................................................................................................47 2.1.11 Languages and Time Zones..................................................................................48 2.1.12 Look and Feel.......................................................................................................49 2.1.13 Session .................................................................................................................49 2.1.14 JAAS ....................................................................................................................50 2.1.15 Authentication Pipeline ........................................................................................51

2009-09-14

BIRT Viewer 2_2 参数设置详解.pdf

BIRT Viewer 2.2 参数设置详解 作者:会飞的球球 2007.08.24 BIRT 作为一款功能强大的开源报表工具,其版本的升级更新速度也非常快,从1.0 到2.0, 一直到最新的2.2.1 版本,无论从功能上还是性能上都得到了极大的提高和扩充。BIRT 也 提供了一个标准的J2EE 实现组件,可以发布到支持J2EE应用的web server 服务器上,可 以对生成的报表进行预览等操作。在大家使用BIRT Viewer的时候,可能会对它日益纷繁的 参数设置如云里雾里,在网上论坛里也有很多人碰到这样哪样的问题,同时官方的文档也不 细致不全。所以我就对这些参数进行了一个简单系统的总结,希望能对大家的BIRT 开发有 所帮助。这些参数以2.2.1 版本为准,请大家特别注意。 1. Servlet 模式说明 查看 BIRT Viewer自带的web.xml 文件,可以看到有以下几个pattern: frameset ---- 采用Ajax 框架,可以显示工具条,导航条和TOC面板,实现复杂的操作, 如分页处理,导出数据,导出报表,打印等等。该模式下会自动生成report document文件 (预览report design文件)到特定的目录(用户可以用参数指定,也可以定义在web.xml里)。 采用Ajax,速度较慢。 run ---- 也采用Ajax 框架,但不实现frameset 的复杂功能,不会生成临时的report document 文件(预览report design 文件),也不支持分页,这个主要是应用在BIRT Designer 里的preview tab 里,可以支持cancel操作,其它不怎么常用。采用Ajax,速度较慢。 preview --- 没有用到Ajax 框架,直接调用底层Engine API 对报表进行render,把生 成的报表内容直接输出到浏览器。这种模式和run 模式调用的是相同的Engine API,唯一 区别在于run 采用Ajax 获取报表内容,而preview 直接输出到浏览器。如果要支持分页, 用户需要在URL 上定义__page和__pagerange 参数,这两个参数也会在后面详细说明。需要 特别说明的是,在这几种预览模式中,preview的速度是最快的。 document --- 该模式主要是为了从report design 文件生成report document文件。用 户可以在URL上提定document文件生成存放的路径(存放在server 端),如果未指定,会直 接生成rptdocument发送到客户端浏览器,用户可以下载到客户端。

2009-09-14

2009年博客系统项目

2009年博客系统项目 由刘伟老师亲自讲解,实录于Java培训班的课堂上。这个项目是在Java培训班同学,学习完成Java SE、Java Web基础内容后,由刘老师带领同学手把手开发的第一个Java Web项目,项目中主要使用了:Java SE、JSP、Servlet、Tomcat、MySQL、PowerDesigner、starUML、Dreamweaver、数据库连接池、Commons DbUtils、JSTL、Displaytag、HTML、Javascript、CSS等技术和工具。适用有Java SE、Java Web开发的基础的同学学习。

2009-09-10

Ajax的知识结构和内容

 Ajax基础  使用Ajax发送异步请求  在请求和响应中使用XML  使用JSON进行数据传输 DOM基础  DOM是”Document Object Model”(文档对象模型)的首字母缩写。当创建了一个网页并把它加载到Web浏览器中时,就会在幕后创建一个文档对象模型  DOM表示被加载到浏览器窗口里的当前页面:浏览器向我们提供了当前页面的模型,而我们可以通过JavaScript访问这个模型  DOM把一份文档表示为一棵树  如下的HTML页面:  浏览器加载该页面并将之转换为树形结构:  DOM树中的一切是以最外层的HTML包含元素,即html元素开始的。使用树的比喻,这叫做根元素(root element)  从根流出的线表示不同标记部分之间的关系。head和body元素是html根元素的孩子(child);title是head的孩子,而文本 “Trees, trees, everywhere”是title的孩子;相对的,head是title的父亲(parent),title是文本 “Trees, trees, everywhere” 的父亲。处在同一层次的且互不包含的两个分支(如head和body)之间称为兄弟(sibling)关系。整个树就这样组织下去,直到浏览器获得与上图类似的结构  通常把这样的树结构成为一棵节点树 节点 (node)  DOM文档是由节点构成的集合,此时的节点是文档树上的树枝或者树叶  DOM中节点的类型:  元素节点(element node),诸如<head>、<p>、<div>等。元素节点可以包含其它的元素,唯一没有被包含在其它元素里的元素是<html>,它是根元素  属性节点(attribute node),元素或多或少地有一些属性,属性可以对元素做出一些具体的描述。因为属性总是被放到起始标签里,所以属性节点总是被包含在元素节点中  文本节点(text node),<h1>元素中包含着文本节点“Trees, trees, everywhere” 基本DOM方法

2009-09-09

该系统模仿JavaEye问答系统

简介 该系统模仿JavaEye问答系统http://www.javaeye.com/ask 技术: Struts2,Spring,Hibernate3,Ajax,TinyMce,Mysql 数据库 用户名:root 密码:root 登录用户和密码 wangld 1 或者 linys 1 注: 导入到Eclipse后,如果有问题的话修改Java Build Path中的JDK JDK1.5以上

2009-09-09

Java基础入门教程

Java基础入门教程 pdf文档 适合初学都 好可加强基础学习

2009-09-09

自已实现spring ioc功能代码 jdk1.6的一些新特性

用jdom 读配置文件实现类似spring 功能: * Hello 是一个class * Animal是一个结口有实现类

2009-08-31

空空如也

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

TA关注的人

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