51CTO博客开发小D的博客
系统使用了TinyMCE,最近修改了前端的一个功能,即在提交前,取出TinyMCE编辑器中的内容,使用Ajax方式传入后台,修改内容,再传回前台填入TincyMCE编辑器中。测试时发现内容传回前台后,会经常在有些地方多个“?”号,感觉是内容在传入后台、传回前台时发生了乱码问题,但排查了一下,系统的编码并没有问题,后来再排查并通过从网上查找资料,找到了原因。原因是在向TinyMCE编辑器中填入内容时
最近在做开发时,遇到了以下四个问题,总结一下。1.Nginx+Struts中上传文件的大小限制。在上传文件时,若文件太大会出现上传失败。我们的Web应用前端代理使用了Nginx,MVC使用了Struts,通过检查,发现在Nginx和Struts中对于上传文件的大小都做了限制。在Nginx的http模块配置中,client_max_body_size这个参数用于表示http请求body最大值,由于文
下面,我们再看看ActiveMQ是如何实现高可用的。ActiveMQ实现高可用有两类方案:第一类方案是构建服务器网络,消息在服务器网络中进行传递,客户端通过failover或discovery连接网络中的一个服务器发送或接收消息,当服务器失效时,客户端自动重连另一个服务器。第二类方案是构建服务器主从集群,在某个时间只有一个服务器作为主对外提供服务,当主服务器失效时,从服务器切换成主服务器对外提供服
首先简单介绍一下ActiveMQ。ActiveMQ是由Apache软件基金会提供的开源免费消息服务器,目前版本是5.8.0。ActiveMQ具有以下特点:基于JMS 1.1和J2EE 1.4规范;支持多种连接协议:HTTP/S,IP组播,SSL,STOMP,TCP,UDP,XMPP等;支持多种消息持久化机制:文件形式持久化(KahaDB),关系数据库形式持久化(JDBC);插件化的安全机制:Act
JMSAPI可以分为3个主要部分:公共API、队列API和主题API。JMSAPI中,ConnectionFactory和Destination既可以作为受管对象,由JMS提供者创建,并使用JNDI从提供者获得,也可以直接动态创建;其他接口通过工厂方法创建,比如Session可以通过Connection创建;消息生产者和消费者一般仅创建一个连接(Connection),而可以创建多个会话(Sess
前一段在组内做过一次有关《JMS和ActiveMQ介绍》的技术分享,今天把幻灯片整理了一下,希望和大家多交流。JMS,java消息服务是由Sun提出的一套消息传送API规范,而ActiveMQ是一款开源的消息服务器产品。消息传送机制是在多个系统之间引入消息服务器,由消息服务器接收来自各系统的消息并将消息转发到相应的系统上,以实现各系统之间的通信。而在每个系统中,应用程序通过调用消息传送API来进行
在使用mvn package进行编译、打包时,Maven会执行src/test/java中的JUnit测试用例,有时为了跳过测试,会使用参数-DskipTests和-Dmaven.test.skip=true,这两个参数的主要区别是:-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。-Dmaven.test.skip=tru
ActiveMQ是一款基于Java的开源消息服务器产品,因此,我们可以将其集成到通过Java实现的业务系统中。下面将对集成方法做一个简单的总结。首先,我们看一下ActiveMQ中的部分核心类:org.apache.activemq.Service是ActiveMQ中的一个接口,定义了start和stop方法。org.apache.activemq.broker.BrokerService是Acti
SWFUpload是一款使用Flash和Javascript开发的文件上传工具,最近在使用其实现文件上传功能时,发现从后台返回的中文经常乱码。SWFUpload上传成功后,对后台返回结果的处理方法是:function uploadSuccess(file, serverData) { ...... }其中file是上传文件信息,serverData是从后台返回的数据。我们发现serverD
最近在做系统改造的时候,还遇到了一个问题是,如何集成Spring Struts2和Hessian。当配置Spring和Struts2的时候,在web.xml做了如下配置:<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpa
今天在修改系统的一个Action类时(系统架构是struts2+spring+hibernate),报了以下错误:JSONWriter can not access a member of class org.springframework.aop.TruePointcut with modifiers "public"后来发现是由于我在该Action类中新增加了一个对象属性,
最近需要对改造的redis缓存接口做压力测试,使用了开源压力测试工具JMeter,分享一下自己的使用经验,希望能对需要进行压力测试的开发同学有所帮助。JMeter介绍JMeter是Apache软件基金会下的一款开源压力测试工具,官方网址是:http://jmeter.apache.org/。JMeter可以测试静态、动态资源的性能,这些资源包括文件、Servlets 、Perl脚本、Java对象、
Keepalived介绍Keepalived是一款高可用软件,它的功能主要包括两方面:1)通过IP漂移,实现服务的高可用:服务器集群共享一个虚拟IP,同一时间只有一个服务器占有虚拟IP并对外提供服务,若该服务器不可用,则虚拟IP漂移至另一台服务器并对外提供服务;2)对LVS应用服务层的应用服务器集群进行状态监控:若应用服务器不可用,则keepalived将其从集群中摘除,若应用服务器恢复,则kee
ActiveMQ这款开源消息服务器提供了多语言支持,除了一般的Java客户端以外,还可以使用C/C++、PHP、Python、JavaScript(Ajax)等语言开发客户端。最近由于项目需要,需要提供PHP和Python的主题订阅客户端。这里作为总结,列出这两种语言客户端的简单安装和使用。 对于PHP和Python,可以通过使用STOMP协议与消息服务器进行通讯。在ActiveMQ的配置文件a
ActiveMQ是目前较为流行的一款开源消息服务器。最近在项目开发中,需要为ActiveMQ开发基于IP的验证和授权机制,因此,对ActiveMQ的安全机制进行了了解,以下将介绍ActiveMQ的安全机制使用及其源代码分析。 本文开发环境介绍: 操作系统:Windows XP Java:jdk 1.6.0_12 maven:maven 3.0.4 ActiveMQ:ActiveMQ 5
目前,SSH(Struts+Spring+Hibernate)是Web开发的一种常用框架组合,Struts实现了MVC,Hibernate实现了关系对象映射,Spring实现了基于Bean的配置管理。本文使用 MyEclipse实现Spring+Hibernate的整合。 软件和框架使用版本: MyEclipse:8.0 Spring:2.5 Hibernate:3.2 MyS
线程的协调 在Java多线程中,对于线程之间共享的实例资源,可以通过synchronized修饰符修饰其方法,实现线程之间的同步。另外,在多线程设计中,还需考虑到线程之间的协调。关于协调的一个典型设计模式便是Producer–Consumer(生产者-消费者)模式。 Producer–Consumer(生产者-消费者)模式 在这一模式中,存在Produ
Java支持多线程,可以通过继续Thread类或实现Runnable接口定义线程类,并在该类中重写run方法。 一个简单的Java线程类MyThread如下所示。 package com.wt.testThread; public class MyThread extends Thread{ &n
Java包含两种基本的类加载器,分别是启动类加载器和用户自定义类加载器。启动类加载器负责加载核心Java API的class文件,而用户自定义类加载器负责加载其他class文件,如用于安装或下载标准扩展class文件的标准扩展类加载器,在类路径中发现类库class文件的类路径类加载器。 Java中类加载机制采用委派双亲模式。启动类加载器、标准扩展类加载器、类路径类加载器等组成双亲-孩子关系链,如
1.OOP三特性 2.Java中如何实现多继承 3.Java对象生成过程 4.HashTable和HashMap的区别 5.接口的成员域具有什么属性 6.经常使用的三种设计模式,画出UML图,并写出Java代码 7.final、finally、finalize的区别 8.SOAP、WSDL、UDDI的作用 9.Java输入输出流的两种类型是什么 10.ArrayList如何实现自
Java是面向对象的一种语言,在Java对象生成的过程,涉及子类和父类的加载、静态成员变量的初始化、子类和父类对象的初始化等过程,其具体过程通过下述代码来说明。 class A { public A(String s) { &nbs
1000瓶水,其中有一瓶有毒,小白鼠喝后24小时会死忙。请问最少多少只老鼠,可以在24小时测出哪瓶有毒。 答案:最少需要[log21000]=10只小白鼠 试验方法: 1000瓶水,分别编号从1到1000,并用10位二进制表示。 10只老鼠,编号从0到9。 喝药策略: 对于编号为X的水, 二进制表示为b9b8b7b6b5b4b3b2b1b0。如果bi=1(i=0,...
1000瓶药有1瓶有毒,如果小白鼠服用有毒的药,则24小时后死亡。现在需设计一种策略,使用尽可能少的小白鼠,在24小时内找出有毒的药。 思路: 令1000瓶药的序号为1,2,...,999,1000,小白鼠的数目为n。 a(k)表示小白鼠k在24小时后的状态: a(k) = 1, 小白鼠k存活;a(k) = 0,小白鼠k死亡。 如此,所有n只小白鼠在24小时后的状态为a(1)a(2)..
假设赤道上有且仅有一座机场,并有若干架飞机,每架飞机的油量可保证飞半个赤道的距离。现在要求一架飞机从机场起飞,绕赤道一圈后,返回机场。在该飞机飞行过程中,不能中途降落、返回。其他飞机可返回,也可在空中给飞机加油,但不能降落,且必须返回机场。求飞机飞行和加油策略。 思路 假设完成环球飞行的飞机为A,由于A的油量仅满足飞行赤道半圈,所以必须通过其他飞机给其加油。 而其他飞机给A加油时,也需要使自
八皇后问题是在8*8的棋盘上放置8枚皇后,使得棋盘中每个纵向、横向、左上至右下斜向、右上至左下斜向均只有一枚皇后。八皇后的一个可行解如图所示:
Lucene是Apache基金会下的一个开源项目,提供能够实现全文索引和检索的Java API。Lucene包含索引引擎和检索引擎两部分。对于包含多个字段(Field)的文档(Document),可以通过Lucene的索引引擎对文档字段中的文本内容进行分词处理,构建关键字索引。当索引构建完成后,可以通过Lucene的检索引擎对特定字段进行基于关键字的查询。Lucene支持多种查询方式,包括模糊检索
思路: 采用递归求解,对于树tree的深度,其值为: Depth(tree) = max(Depth(tree的左子树),Depth(tree的右子树)), tree != NULL 0 &nbs
字典树,又名Trier树,可以用于单词的查找和统计。 字典树的示例如下图所示,其中,若根节点为第0层,则第k层节点表示字典中单词前k个字符,从根节点至树中标黄节点的路径表示以该节点字符为末尾的单词,例如,too、tooth、tea、two等。 字典树中的节点可用以下结构体表示: typedef struct TNode {
求解最长递增子串可分为两种情况,即子串连续或非连续。 例如,对于整数串{1,3,5,1,-1,4,5,3,1,8,3,4,6,2,4,6,7,8,6,4} 其连续递增子串为{2,4,6,7,8},非连续递增子串为{{-1},{1},{2,4,6,7,8}} 连续递增子串的求解思路: 采用动态规划思想,令 lengthOfSubList[k]表示子串{list[0]...list[k]}中
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号