
J2EE
文章平均质量分 65
wavefly_liu
每一天都在学习,每一天都在进步!
展开
-
springboot 试用笔记
spring boot 试用笔记起源在2013年的SpringOne 2GX会议期间推出的,Spring Boot的项目负责人在twitter中发布的演示视频中,程序员用了不到十分钟时间,就搭建起了一个基于Spring的web程序,而且在本地运行,这个特性使它受到很大关注。感受我近期刚好搭建修改了一个基于spring应用的代码,刚开始这个应用使用了xml的配置,我逐步加入springmvc、logb原创 2015-09-07 21:51:17 · 10730 阅读 · 0 评论 -
Google Protocol Buffers在linux环境下的安装
Written by NathanLiuLinux 下安装Google Protocol Buffers1、系统版本信息查看内核版本:uname -a || cat /proc/version当前操作系统版本: cat /etc/issue || lsb_rele原创 2011-08-29 19:56:21 · 10279 阅读 · 1 评论 -
Google Protocol Buffers详解
文档已经共享在sliedeshare上,链接既是Google protocol buffers简析View more presentations from wavefly原创 2011-08-29 20:01:35 · 867 阅读 · 0 评论 -
LoadRunner 多台负载机并发压力测试,出现的错误
<br />使用Loadrunner 8.1版本测试,使用JAVA VUSER,Java版本为1.5.04<br /><br />我先编写了一个最简单的脚本(只简单输出一句话),编译通过后放入场景,加入另一台负载机,执行时显示两台负载机均正常。<br /><br /><br />现在我把待测试的脚本加入场景,加入另一台负载机,可能出现如下错误:<br />1、客户端之间的不同,如果一台机子的JDK为 1.5.03,另一台为1.5.04,这个时候就会出现:error:loading javai.dll!!!只原创 2011-03-21 17:13:00 · 5850 阅读 · 2 评论 -
基于JavaEE架构模式下的MVC
对于MVC准确的定义转载 2011-02-21 14:30:00 · 6874 阅读 · 2 评论 -
通过线程按照顺序循环输出ABC n次
通过线程按照顺序循环输出ABC n次原创 2011-03-06 22:23:00 · 3968 阅读 · 0 评论 -
Eclipse Editor 深色theme
Eclipse编辑器theme,仿照Delphi5编辑器,深色的背景,不同的关键字,不同的颜色。原创 2010-11-15 09:36:00 · 2060 阅读 · 0 评论 -
基于ExtJS管理平台-页面开发总结
基于ExtJS页面开发心得总结原创 2010-10-27 10:00:00 · 5079 阅读 · 6 评论 -
BEA weblogic 处理请求出现错误:Cannot parse POST parameters of request
Weblogic 异常. Cannot parse POST parameters of request. EOF after reading only: '0' of: '68' promised bytes, out of which at least: '0' were already buffered.原创 2010-10-25 11:51:00 · 13654 阅读 · 0 评论 -
Rpc原理与实现
RPC的原理介绍:序列化协议和通信协议文档已经共享在sliedeshare上,链接既是Rpc原理与实现View more presentations from wavefly原创 2011-11-04 18:15:03 · 2407 阅读 · 0 评论 -
Java测试新技术TestNG和高级概念 ---读后感
作者在书中没有鼓吹TestNG如何好,这本书主要介绍的是作者的测试理念/junit中不舒服的地方,例如并发测试,DataProvider,测试依赖,将运行失败的用例汇总等. (并发测试可以通过GroboUtils&ConTest搞定; DataProvider在junit4中已经有相应的实现,Feed4JUnit. TimeOut, ExpectedException, InvocationCo原创 2012-01-04 11:13:42 · 3167 阅读 · 0 评论 -
Open Source Resin 4.0.27配置简析
Resin4.0.7 --- Resin4.0.27Resin4在4.0.24开始配置文件格式有较大变化。拆分为app-default.xml web应用配置cluster-default.xml 集群配置,在microblog中,一台服务是一个cluster。resin.xml resin.properties 会被修改的变量安装cd resin-4.0.27./原创 2012-04-06 11:41:18 · 7387 阅读 · 0 评论 -
Mockito的使用笔记
以前使用mockito遇到一些问题,例如:变长参数的匹配、自定义参数匹配器,这些在mockito的官方文档(http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html)中并没有详细的介绍,基本上是在stackoverflow上找的资料,摸索成功了,未写总结时间久了,遗忘了,又重新找资料,⊙﹏⊙b汗!1、自定义参数匹原创 2014-05-31 20:34:09 · 7373 阅读 · 0 评论 -
基于SLF4J的日志系统需要考虑的细节
Java的日志系统有Log4j、JUL(java.util.logging.*)、logback。项目中依赖的不同第三方包会依赖这些不同的日志系统,为了解决这些日志系统带来的混乱,出现了日志框架,这些日志框架不提供日志记录功能,只为使用者提供日志调用接口,这些接口的实现依赖于日志系统。常用的日志框架为JCL(Jakarta Commons Logging):很多应用都依赖于JCL、SFL4J:支持转载 2014-04-27 22:12:19 · 5251 阅读 · 0 评论 -
分布式ID生成方案
分布式ID生成方案(分布式数据库)背景:在互联网应用中,应用需要为每一个用户分配一个id,在使用分布式数据库情况下,已经不能依靠自增主键来生成唯一性id了。。。根据特定算法生成唯一ID可重现的id生成方案:使用用户提供的特定的数据源(登录凭证),通过某种算法生成id,这个过程是可重现的,只要用户提供的数据源是唯一的,那么生成的id也是唯一的。例如通过用户注册的email+salt,原创 2012-10-31 17:46:16 · 7227 阅读 · 0 评论 -
一次搜索服务优化笔记
测试环境CentOS release 5.5系统,内核版本:Linux version 2.6.18-194.el5Intel(R) Xeon(R) CPU E5640 @ 2.67GHz 16CPU;64G内存;千兆网卡300w用户数据,大概1G的索引文件。lucene 3.6.1基于lucene实现的搜索服务,索引文件是文件类型的,Directory为MMapDirectory原创 2012-11-14 19:55:24 · 1606 阅读 · 0 评论 -
Spring 整合 Quartz (一)
Spring整合Quartz有2种方法:一种是继承Spring提供的抽象类QuartzJobBean,实现executeInternal(JobExecutionContext jobexecutioncontext)方法。这种方法和在普通的Quartz编程中是一样的。在Context中一样有JobDataMap参数。唯一的区别是参数是通过配置文件注入的。 另一种方法是通过Method原创 2009-08-18 16:06:00 · 1548 阅读 · 0 评论 -
Chrome下Ajax Long Polling Response Error
做ajax long polling(POST请求)在firefox 下正常,在chrome下出现如下情况:如果使用chrome浏览器通过get请求,返回结果也是正常的。如果通过异步方式访问接口,则请求失败:通过在服务器端设置response.setConentLength方式解决了问题。通过比较发现,错误的响应和原创 2012-07-16 18:35:41 · 2414 阅读 · 0 评论 -
QCon北京2012-人人网缓存系统架构的发展总结
在QCon北京2012听了人人缓存发展历程,实用的信息很多,记录如下:2012年,cache数据:10T+,数据类型:object、 list、 text、count,cache server 300+ ,调用:User 13w QPS Relation 4wQPS Auth:6wQPS阶段一07-08年,定制化的服务,每个需求都有相应的存储逻辑,数据结构也是定制的,通过clien原创 2012-05-02 17:58:45 · 1929 阅读 · 0 评论 -
Resin上的Hash Collision DoS
Hash Collision DoS1、描述Hash Collision Dos攻击的原理很简单, 目前很多语言, 使用hash来存储k-v数据, 包括常用的来自用户的POST数据, 攻击者可以通过构造请求参数, POST大量的特殊的”k”值(根据每个语言的Hash算法不同而定制), 使得语言底层保存POST数据的Hash表因为”冲突”(碰撞)而退化成链表,使每次读取、插入操作都需要遍历链原创 2012-03-19 15:32:28 · 1493 阅读 · 0 评论 -
java.io.IOException: No locks available
描述linux系统下使用Maven下载依赖的时候出现:28-Mar-2012 09:41:36 Downloaded: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/maven-metadata.xml(588 B at 0.7 KB/sec) 28-Mar-2012原创 2012-04-06 12:03:23 · 4787 阅读 · 1 评论 -
ibator在MyEclipse中的ora-00604、ORA-12705错误
abator MyEclipse ora-00604 ORA-12705原创 2010-09-16 15:05:00 · 1237 阅读 · 0 评论 -
系统中何时上异步消息架构
结合log4j AsyncAppender和我实际项目中异步消息的使用方式,介绍系统中采用异步消息架构的时机。原创 2010-06-01 15:38:00 · 1354 阅读 · 0 评论 -
Request中getContextPath、getServletPath、getRequestURI、getRequestURL、getRealPath的区别
假定你的web application 名称为news,你在浏览器中输入请求路径:http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果:1、 System.out.println(request.getContextPath());打印结果:/news 2、System.out.println(re原创 2008-10-09 18:17:00 · 1278 阅读 · 0 评论 -
Grails 配置过程中出现的问题
为了玩grails,又需要重新设定%ANT_HOME%了。Grails1.0.3中出现:Error starting Grails:是因为Grails中默认的ant为%GRAILS_HOME%/ant,版本为1.7.0,简单的解决办法是将:%ANT_HOME%设为:%GRAILS_HOME%/ant方法1(这样不太好)应该设定%ANT_HOME%为实际的物理路径方法2,原因:方原创 2008-09-10 09:01:00 · 932 阅读 · 0 评论 -
正确优雅的解决用户退出问题
摘要 在一个有密码保护的Web应用当中,正确妥善的处理用户退出过程并不仅仅只需要调用HttpSession对象的invalidate()方法,因为现在大部分浏览器上都有后退(Back)和前进(Forward)按钮,允许用户后退或前进到一个页面。在用户退出一个Web应用之后,如果按了后退按钮,浏览器把缓存中的页面呈现给用户,这会使用户产生疑惑,他们会开始担心他们的个人数据是否安全。实际上,许多We转载 2008-08-26 18:13:00 · 1354 阅读 · 0 评论 -
siteMesh 2.3(4) printable参数
可打印的装饰器,可以允许你当用http://localhost/a.html?printable=true方式访问时,应用其他的装饰器(自己指定),给出原始页面以供打印(免得把header,footer等的花哨的图片也搭上)。 让我们来看一看怎样实现他:1.首先在WEB-INFO/sitemesh.xml中设置: 这样就可以通过?原创 2008-08-19 19:07:00 · 1277 阅读 · 0 评论 -
siteMesh 2.3(5) -Demo
这个demo将前面所讲的7个标签都实现了。下载地址:http://download.youkuaiyun.com/source/578389原创 2008-08-19 19:19:00 · 931 阅读 · 0 评论 -
siteMesh 2.3 (1)标签 decorator:title和 decorator:body
公司要让以前产品的web界面风格统一,并且准备在新的项目中使用新的页面技术。我刚好在学校研究过相关技术,因此由我来搜集整理相关资料,并且做出demo。这些是我以前的笔记和新的心得(因为是对已有项目的网页进行修改,因此没有使用freemarker模板技术,只是使用了siteMesh进行统一的风格管理)。 siteMesh 2.3 版本中总共有7个标签,而且这个7个标签是经常用到的,没有学习曲原创 2008-08-19 18:19:00 · 4743 阅读 · 3 评论 -
siteMesh 2.3(3) 标签 page:applyDecorator page:apply-decorator page:param decorator:getProperty
page:applyDecorator/> & page:apply-decorator/> page:param/>&applyDecorator和apply-decorator命令是作用完全相同,tag的处理类为com.opensymphony.module.sitemesh.taglib.page.ApplyDecoratorTag,中间可以选加参数命令page:param/>命令。应用原创 2008-08-19 18:55:00 · 5362 阅读 · 1 评论 -
siteMesh 2.3 (2)标签 decorator:usePage和 decorator:useHtmlPage
API: http://www.opensymphony.com/sitemesh/api/com/opensymphony/module/sitemesh/Page.html 1.3版本中出现的API: http://www.opensymphony.com/sitemesh/api/com/opensymphony/module/sitemesh/HTMLPage.html原创 2008-08-19 18:46:00 · 3590 阅读 · 1 评论 -
jsp使用URL编码传递中文参数问题
Jsp页面使用URL编码传递中文参数的情况下,在参数的解析过程中会出现乱码。由于java在设计的时候考虑到了国际化的问题,在java源程序编译成字节码的时候默认使用的是UTF-8编码。而在web运用上,由于不同的浏览器向服务器发送的信息采用的编码方式不同,在由像tomcat之类的服务器解码的时候会由于编码方式的不同而产生乱码,这是一个会困扰jsp初学者很久的问题。以前在使用struts的时候不需要转载 2008-01-07 13:14:00 · 996 阅读 · 0 评论 -
Unable to install breakpoint in due to missing line number
不能调试JavaBean! 在eclipse中不能调试,总是报错:“Unable to install breakpoint due to missing linenumber attributes. Modify compiler options to generate line numberattributes” 弄了好半天也没弄出来,最后google了一下,总算解决了。原因是:A原创 2008-12-29 18:52:00 · 9379 阅读 · 1 评论 -
关于J2EE架构
如何对待技术框架和业务框架? 框架技术实际上就是流程固化技术。在框架技术中应用的很多的一种就是回叫机制(callback),对比MFC之类的东西,框架其实就是由设计好的工作流程调用具体的数据结构和算法(在C/C++中使用函数指针,Java中使用接口)。 J2EE我更多的是做为一个框架来理解,而不仅仅是一组API。J2EE面对的问题域主要集中在分布式计算,那么它就固定了一套处理分布式计算的流程。我把转载 2009-01-20 18:06:00 · 900 阅读 · 0 评论 -
判断一个session是否过期
怎么判断session是否过期。1、实现HttpSessionListener接口,然后在sessionDestroyed()方法中执行一些操作,表示session要过期了,因为这个方法是session.invalidate()之前监听器调用的方法。这个判断的方法显然不能让人满意。2、request.getSeesion(boolean)方法。这个方法参数boolean,这个值如果是true,原创 2009-01-21 15:48:00 · 18546 阅读 · 0 评论 -
实现邮储柜台模拟程序杂感(一)
<br />前言:<br />公司测试部门要求部分实现一个邮储柜台充值系统,用来和公司的业务系统进行测试。给了我7天的时间和两个设计与实现的规则来完成这个系统,至于实现的技术和编程方法就自由发挥了,最终我延期了又7天的时间完成了。在这个2个规则下,我是戴着镣铐跳舞,用14天完成了这个系统,测试部门却因这个规则放弃了这个新的测试系统,真是杯具……。以下权当我写完系统后根据网络上的信息写的自我总结吧与系统代码优化的设想吧:<br /> <br />以前写的应该是技术人员在进行系统实现时,往往很多时候过于陷入技术原创 2010-06-27 20:22:00 · 1713 阅读 · 0 评论 -
探寻 ibatis 1.3 批处理
在网络有一篇关于iBATIS batch原理的牛贴: http://www.javaeye.com/topic/68962 分析的也是iBATIS下的批处理。在iBATIS1.3的源代码中没没有见到这篇帖子标识的 代码,而且在1.3中,iBATIS处理batch的思路和这篇帖子也不相同。 iBATIS的批处理就是jdbc中的ps的batch操作。 Normal 0原创 2010-01-04 17:20:00 · 1067 阅读 · 0 评论 -
jTracert Quick Start 以及 使用方法
jTracert 是一个能够在 Java 程序运行期自动生成 UML 时序图( Sequence Diagram )的开源工具。可以利用这个工具快速理解 / 研究别人编写的代码。快速生成文档。 这个项目可以在 http://code.google.com/p/jtracert 中找到项目相关的资料。 1 、运行 jTracert agent jTrace 是一个精致的 javaagent翻译 2010-03-11 17:17:00 · 3264 阅读 · 3 评论 -
New Feature in JDK7
There havent any changes to the Java language since J2SE 5.0 in 2004. But there are several planned for JDK 7, coming from a variety of sources (sic). Heres a quick summary:1) Module suppo原创 2009-09-08 16:10:00 · 964 阅读 · 0 评论 -
Quartz相关资源
<!-- document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData("text"); if (text && text.原创 2009-08-18 16:03:00 · 989 阅读 · 0 评论