自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

在Eclipse下同时启动Jboss和Tomcat调试

在做基于EJB3.0开发的应用中,如果单独启用Jboss作为调试服务器去调试Web应用是一个非常痛苦的等待过程,因为在Jboss中每一次Web应用的发布和启动都会消耗不少的时间。 相对来说,Tomcat是一种这种轻量级Web调试服务器,启动和调试都非常迅速。 如果需要同时启动Tomcat和Jboss,除了Web容器的端口冲突问题需要解决之外,还需要注意配置一下Tomcat的调试环境...

2011-08-10 11:14:27 212

思考:如何走出小公司发展的怪圈?

很多人开公司,都是想从小做到大,以至足够“大”。 理想虽好,但是往往与现实差距很大,很多小公司经常接一些个小项目或者小客户的单来做,就这样饥一顿饱一餐。 员工换了一茬又一茬,但是如今的公司还是和N年前的相似。如何走出这个发展的怪圈? 我初步想了一下,觉得如果一个小公司,确切的说是一个IT公司,想要走出这个怪圈,必须要做到其中之一: 一个非常有市场的产品或者大产品  ...

2009-10-10 15:29:51 190

登录程序的安全性思考

在很多企业应用中,用户登录及验证普遍存在。从用户数据存储的方式来看,一般有数据库存储、LDAP/AD、文件存储等。 很显然,在关系数据库发达的年代,单就其保密性和安全性方面来说,文件存储已经基本上可以不用考虑。 数据库存储用户资料,是目前比较流行的存储方式,软件开发人员可以直接将用户名称及对应的密码存储到数据库中的两个字段中。然后,我们可以通过类似下面的SQL语言来实现用户验证:...

2008-09-24 08:07:48 231

Web2.0时代的新秀 - Nexaweb

Web2.0时代,用户对UI交互体验对Web设计上提出了更高的要求,各种各样的Rich Client技术层出不穷,有基于Javascript的,有基于Flex的,也有基于Java Applet的... 最近接触到一种新的基于Web2.0应用开发的技术,叫做Nexaweb(http://www.nexaweb.com),我们可以把他理解为一个简易的开发平台或框架。Nexaweb的特点就是开发者在一个...

2008-07-29 11:28:48 403

Java GUI 历史之争

最近在收集一些关于AWT, Swing, SWT之间比较的文章,中间接触到一些关于这三大GUI开发工具包的历史,觉得挺有意思,就用自己的文字记录下来。我想,这对于那些从事Java GUI开发的同志们来说,应该是不可缺的一堂历史课。 话说20世纪中期,IT界也出现“三国”,他们都用Smalltalk作为武器在IT界打自己的天下,其中有大家今日熟悉的蓝色巨人IBM,还有就是Digital Talk...

2008-07-24 11:17:26 220

在JSF/JSP中集成FCKEditor 2.6

目前,FCKEditor (http://www.fckeditor.net/) 是开源社区一款强大的HTML编辑器,目前最新版本是2.6,支持Java的插件版本是2.4Beta1。 对于一般的Java Web应用,我们可以通过直接插入JavaScript代码来构造页面,这种方式操作起来比较简便,也是通用在所有web页面的一种方式。但是,在实际的Java Web应用中,我们除了用到普通的页面编...

2008-05-28 13:03:31 110

使用Selenium/Ant做Web应用远程自动化测试

接触到Selenium这个Web应用自动化测试工具,实属意外。由于目前项目的停滞,客户那边弄过来一个新的自动化测试的任务。寒~~~ 啥时候也成了QA了!没办法,硬着头皮做下去。一直比较欣赏的就是外国客户的技术定位,当然他们推荐的这个开源的Selenium也比较有特色,而且和Java, C#地结合也都做得非常好。对于熟悉Java代码的我们来说,看着熟悉的亲切的字符,心中的郁闷慢慢消去。在探索...

2008-05-09 18:41:00 159

如何让Struts2.0下载文件流

在实际web应用中,大部分文件下载都是通过url文件链接直接下载的,同样在Struts中也可以这样实现。但是考虑到盗链,跨服务器访问等因素,直接文件流下载也是必要的。那么,在Struts2.0中如何实现数据流下载呢?Struts2.0默认支持多种格式的result type,stream即是其中的一种。如果我这里要实现一个Generate Report的功能,将Report存放在一个InputS...

2008-04-01 12:20:04 233

组合模式(Composite)

一、介绍组合模式主要用于具有父子关系,或局部-整体关系的情况下。此模式使局部对象和组合对象的使用具有一致性,或者说,我们可以用一个类来统一表示一个对象或组合对象。  二、实例 首先,定义一个抽象的基类,其中定义了局部对象和组合对象的一些基本元素。import java.util.LinkedList;import java.util.ListIterator;public abst...

2008-03-31 14:48:10 106

鬼子们的钱不好赚

自从去年踏入这家软件外包企业,自己深深地被这种新型的软件工业模式所吸引。陌生的鬼子鬼调,弹性的工作制度,和新兴的软件技术都一齐涌过来。可是工作一年以后,除了发现自己的英语水平有了一定的提高,其他的一切,似乎还是停留在原地,悲乎?抑或说自己有了足够的时间去琢磨自己的技术,技术上有了更大范围的提高,喜乎?鬼子们为了省钱而选择了具有廉价劳动力的中国,当我们每月从老板那里抠来的微弱的报酬的...

2008-03-26 11:13:59 137

基于Java线程实现后台定时监控

熟悉编写JavaScript的人,都习惯在页面写入setTimeOut来实现web页面的定时监控或事务处理。但是如何在Java服务端来实现这样一个监控机制呢?一般大家都会想到线程。但是一直以来,都没有亲身动手实践过。趁着工作间隙,自己也搬出一段代码来,与大家一起分享线程编程的神奇魔力。 首先创建一个基本抽象类SchedThread,代码内容如下:package com.test;/** ...

2008-03-26 10:37:34 627

灵活处理select/option对象中的特殊字符

现在,已经习惯用js去构造网页上的组件,对于普通的下拉框,我们习惯用以下js来构造成页面组件:var select = document.createElement("select");var option = document.createElement("option");option.innerHTML = "Option Text";option.value = "Value";...

2008-03-25 09:54:22 1284

Struts2+JSON+YUI构建Rich Client应用(二)

在UI部分,页面文件很简单,userMessage.jsp的内容如下:<%@ page contentType="text/html; charset=UTF-8"%> <html> <head> <title>Struts + JSONtitle> <link rel=...

2007-12-21 11:12:51 83

Struts2+JSON+YUI构建Rich Client应用(一)

Struts2的出现在Web2.0纷争的年代,以Ajax为代表的富客户端(Rich Client)应用正唱着Web2.0的主角。虽然Struts2本身对Ajax的应用也提供了自己的Ajax标签,但是这种比较牵强的支持也是赶鸭子上架,不是Struts本身的特长。 这里,就Struts对JSON支持的技术特点,来构建一个Rich Client应用,UI层使用的是YUI工具包,详情参考Yahoo的Y...

2007-12-21 11:06:09 113

桥接模式(Bridge)

一、介绍桥接模式的主要目的是要将类的抽象部分与它的实现分离,使各个不同类之间都能独立的变化和衔接。 二、实例首先,定义一个抽象的基类,可以说这就是桥梁吧!public abstract class Soda { private SodaImp sodaImp; public void setSodaImp(SodaImp sodaImp) {...

2007-12-18 11:30:30 258

利用Javascript向页面中插入TABLE,IE下无法正常显示

在项目中偶然遇到一个怪异的问题,我要利用javascript动态的向一个DIV中插入一些个TABLE,Firefox可以正常显示,而在IE下,无论版本是6或7,均无法看到这个TABLE。但是,如果我直接把TABLE的HTML代码写在页面上,一切都能正常显示。 最开始出问题的javascript脚本如下:var div = document.getElementById("containe...

2007-11-15 15:50:32 233

解决JSF + Spring2.0 + Hibernate3.2 + MySQL 乱码问题

在公司做的项目一般都是英文的,也就是默认的拉丁字符集 ISO-8859-1。在今天做的J+S+H应用中,我想插入保存一个中文的用户名,可是不管怎么样保存,都是问号形式的乱码。 乱码问题一直是个比较头疼而又常见的问题,困扰着我们这些实用Unicode的群众。在Java Web应用中,乱码一般会出现在页面JSP显示层或者数据库持久层。对于前者,我们一般是注意在页面的头部代码中加入<%@...

2007-11-13 13:28:14 86

在Tomcat中部署JSF应用

众所周知,JSF1.2应用的官方Java应用服务器是Glassfish,网上很少有关于在Tomcat下部署JSF应用的例子。不信这个邪,我硬着头皮尝试在Tomcat中部署一个JSF应用。 我机器上Tomcat的版本是5.5的,将一个在Glassfish下测试通过的JSF应用放在webapp目录下,启动Tomact,错误马上出来:SEVERE: Error configuring applic...

2007-10-31 11:43:34 519

诡异的innerHTML

今天在现在的项目中,涉及到这样一个案例,我要用innerHTML临时保存一个div中的内容,然后在某种条件满足时,再把这个innerHTML返回给这个div。 在这个div中,如果存在有edit的标签,当我重新将保存的内容返回的时候,用Firefox浏览时发现edit里面的内容空空如也!!! 同样的应用方式,另外一个div中的edit的内容却能完完整整的恢复,我诧异啊??? 我尝试用I...

2007-10-10 15:55:18 78

适配器模式(Adapter)

一、介绍适配器模式使得一个接口与其它接口兼容,从而给出多个不同接口的统一抽象。换句话说,该模式是将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。  二、实例在本模式的实例部分,我们有一个TeaBag类,由TeaCup来支配使用,完成泡茶的这个过程。public class TeaBag { boolean tea...

2007-09-27 11:12:24 128

单例模式(Singleton)

一、介绍单例模式是一种比较普遍和简单的模式,在我们的程序中经常会用到。简单的说就是,单例模式就是让一个类永远只对外发布唯一的实例(Instance)。  二、实例在本模式中介绍的例子中,SingleSpoon类拥有一个实例,声明为静态(static)私有(private)变量"theSpoon",核心代码内容如下:public class SingleSpoon { ...

2007-09-17 11:29:00 83

原型模式(Prototype)

一、介绍原型模式是在已指定对象的基础上,然后通过拷贝这些原型对象创建新的对象。  二、实例实例的UML图如下: 提供一个基本的原型工厂类,定义make方法和传入参数定义:public class PrototypeFactory { AbstractSpoon prototypeSpoon; AbstractFork prototype...

2007-09-07 10:29:40 83

工厂方法模式(Factory Method)

一、介绍工厂方法模式是通过工厂方法,用不同方式来创建并返回一个对象。  二、实例实例的UML图如下: 在本模式的例子中,SoupFactoryMethod定义了一个makeSoupBuffet方法,用来返回一个SoupBuffet对象。在SoupFactoryMethod中同样也定义了用来创建SoupBuffet的其它子方法。class SoupFactoryMethod { ...

2007-08-29 11:07:07 137

建造模式(Builder)

一、介绍建造模式(Builder)主要是为了将一个复杂的对象的构建和它的实际表示分离,使得同样的构建过程可以创建不同的表示。 建造模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们,用户不知道内部的具体构建细节,该模式非常类似与抽象工厂模式。  二、实例在看建造模式的实例之前,请最好先理解抽象工厂模式(Abstract Factory) ,这里也...

2007-08-20 13:03:07 115

抽象工厂模式(Abstract Factory)

一、介绍抽象工厂模式相对工厂方法模式(Facotry Method)要复杂的多,一个抽象的工厂可以拥有多种方法,从而来生成不同性质的对象(产品)。  二、实例这里举一个例子,例子的UML类图如下:创建抽象工厂,首先要定义一个抽象工厂类,用来指明有哪些个制造方法,在本例子中,我们在抽象工厂类AbstractSoupFactory中定义了制造各种炖汤的方法:abstract cla...

2007-08-15 13:15:00 90

学习设计模式(Design Patterns)

设计模式(Design Patterns) 个人理解上来说,就是为了实现程序结构的低耦合、高重用性及扩展性。在日常的程序设计中选择一个或多个设计模式,可以养成程序员良好的编程习惯,写出高质量的代码。深入了解这些个设计模式,对程序开发及设计是不无裨益的。 从Gof(Gang of Four,传说中的四人帮 :P)的设计模式篇中了解到,我们把所有的设计模式归为了4个大类和23个小类,他们排着队分别...

2007-08-15 10:30:38 81

Dojo的高级运用:Widget的制作

在上一篇 使用Dojo和JSON构建Ajax应用 中,我初步介绍了一下Dojo和JSON,并提供了简单的例子。在这篇文章中,将涉及到Dojo的高级运用之一,利用Dojo的高可扩展性框架来制作widget。在某种意义上来说,widget的模块化开发可以大大的简化我们的工作。什么是Dojo WidgetWidget是一个比较抽象的概念,就我们实际遇到的UI页面来说,按钮、文本框以及滚动条等都是一个个D...

2007-07-20 13:03:00 160

使用Dojo和JSON构建Ajax应用

简单意义上来说,Ajax可以用来在服务器端和WEB客户端之间交换数据,它是利用JavaScript来装载WEB页面的。更深一层来讲,它可以利用异步JavaScript脚本来避免页面请求刷新,让Request/Response过程更加明了。实现Ajax的方法有很多,最原始的办法是用JavaScript脚本来实现这个过程,此外,我们还可以用比较成熟的功能库,比如说Dojo.Dojo是什么Dojo是一个...

2007-07-18 10:31:36 127

关于OGNL的问题

OGNL(Object Graph Navigation Language )在Struts2.0中得到了普遍的应用,我们经常用它来访问Action中的properties,下面是一些常见的例子:<s:property value="#session.mySessionPropKey"/> <s:select label="label" name="name" li...

2007-07-05 14:21:46 131

离线状态下,解析XML出错

在最近的一个项目中,我用到Dom4j去解析现有的Spring2.0中的bean节点,从中获取一些公用的属性信息。// Get params of hsql setting from web context SAXReader xmlReader = new SAXReader(); Document doc = xmlReader.read(getSpringConte...

2007-07-05 13:44:00 210

学习FreeMaker(基础篇)

一直以来,都有听说过FreeMaker,最近抽空仔细研究了一下这个东东,在这里我也把自己的心得给分享出来吧。FreeMaker简介FreeMaker其实是一种比较简单的网页展示技术,说白了就是网页模板和数据模型的结合体。这种结合模式的好处就是,分离了网页界面设计人员和编程人员的工作,让他们各司其职。据个人理解,FreeMaker大致的工作方式是,网页模板里面嵌入了数据模型中的数据、FreeMa...

2007-05-15 14:36:00 437

初识 JMS

自己搞了J2EE这么久,EJB/JNDI/RMI/JTA这些都了解的七七八八。但是,对于JMS这个东东,只听说在EJB的消息bean中有用到过,一直以来俺都敬而远之。最近公司要做一个国外的外包项目,里头有涉及到JMS的技术,现在只能临时抱佛脚。互联网上关于JMS的文章少之又少,没办法,只有自力更生,硬是查看了SUN的官方技术API文档,也算是初步揭开JMS这个神秘的面纱吧。JMS的基本概念JMS(...

2007-05-14 15:01:00 88

空空如也

空空如也

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

TA关注的人

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