Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7585360 建立时间:2006年5月29日 |

| |
[J2SE]用Java实现多线程服务器程序 软件技术
lhwork 发表于 2006/8/6 13:36:03 |
---- 摘要:在Java出现之前,编写多线程程序是一件烦琐且伴随许多不安全因素的事情。利用Java,编写安全高效的多线程程序变得简单,而且利用多线程和Java的网络包我们可以方便的实现多线程服务器程序。
----
Java是伴随Internet的大潮产生的,对网络及多线程具有内在的支持,具有网络时代编程语言的一切特点。从Java的当前应用看,Java主要用
于在Internet或局域网上的网络编程,而且将Java作为主流的网络编程语言的趋势愈来愈明显。实际工作中,我们除了使用商品化的服务器软件外,时
常需要按照实际环境编写自己的服务器软件,以完成特定任务或与特定客户端软件实现交互。在实现服务器程序时,为提高程序运行效率,降低用户等待时间,我们
应用了在Java Applet中常见的多线程技术。 ---- 一、Java中的服务器程序与多线程
----
在Java之前,没有一种主流编程语言能够提供对高级网络编程的固有支持。在其他语言环境中,实现网络程序往往需要深入依赖于操作平台的网络API |
|
[Apache(jakarta)]用Apache Img Tag生成随即验证图片的方法 软件技术
lhwork 发表于 2006/8/4 15:04:19 |
现在网上已有很多通过jsp生成图片的方法。在sitemesh环境下工作的不是很好。 现介绍另一种可选方法: 用Apache Img Tag生成随即验证图片 步骤: 1、下载jakarta-taglibs-sandbox-image 如果需要支持gif,下载 PJA Toolkit(在http://www.eteks.com) 2、拷贝相应的jar文件到WEB-INF/lib目录下 3、配置web.xml文件 <servlet> <servlet-name>ImageServlet</servlet-name> <servlet-cla |
|
[OpenSymphony]配置webwork和sitemesh 软件技术
lhwork 发表于 2006/8/4 14:51:34 |
整合了Spring/Webwork/Sitemesh/FreeMarker的相关配置
web.xml需要配置3个filter,这3个filter的顺序不能够颠倒,必须按照如下顺序:其中ActionContextCleanUp
设定当webwork执行完毕后延迟清理ActionContext,以便于sitemesh使用ActionConext,sitemesh则是在
Webwork执行完毕后进行模版的组装。此处使用的是FreeMarker作为网站模版,FreeMarkerPageFilter是
webwork2.2提供的增强类(推荐使用freemarker作为网站模版),如果使用JSP作为网站模版,则改为
com.opensymphony.module.sitemesh.filter.PageFilter。 |
|
[OpenSymphony]静态html在sitemesh中乱码的解决方法 软件技术
lhwork 发表于 2006/8/4 14:50:42 |
静态html在sitemesh中乱码的解决方法。 前提条件:sitemesh的decorator的编码全部用UTF-8,使用SetCharacterEncodingFilter把request的encoding也 设置成UTF-8 问题1、decorator中的内容出现乱码。 原因: 解决方法:改进SetCharacterEncodingFilter,使它对response也设置encoding为UTF-8 问题2、被修饰的html内容出现乱码。 原因:sitemesh根据html的contenttype(例如:text/html;charset=utf-8)来决定html文件的encoding, 如果contenttype是像(text/html)这样的形式,sitemesh就无法知道html的encoding,这时sitemesh就 使用DEFAULT_ENCODING即System.get |
|
[OpenSymphony]最新翻译力作 - Advanced SiteMesh(转摘) 软件技术
lhwork 发表于 2006/8/4 14:49:40 |
假设你打算结合多种技术来构建一个企业级web站点。比如,你准备采用J2EE技术往你的web站点里添加新内容,而这个系统的其他部分是用CGI或者微软的IIS Server搭建的。
在
这种情况下,怎样让你的应用系统从外观和感受(look and
feel)上保持一致呢?一种办案就是采用J2EE技术全部重写,然后选用一种框架,比如Struts-Tiles,但这种办案的开发成本太高,不太现
实。另一种可选方案是在你的应用系统的各个部分采用相同的Look and
Feel。但这种方案会使维护站点变成噩梦,因为每当一个应用系统里面的Look and
Feel需要改变的时候,你就需要让系统里的其他web应用保持同样的改变。
大多数用于解决这种商务需求的可用框架都有一个共同的缺点,
他们不是平台相关就是框架相关。当你决定采用Tiles作为struts修饰器的时候,需要创建tiles定义文件tiles-defs.xml,然后在
struts-config.xml里 |
|
[Spring]在Spring中配置log4j 软件技术
lhwork 发表于 2006/8/4 10:00:02 |
首先需要在web.xml进行声明:
<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"--> <context-param> <param-name>webAppRootKey</param-name> <param-value>ssh.root</param-value> </context-param>
这里的ssh是http://localhost:8080/ssh/
而root是系统开发目录中ssh/root
这样配置文件以及日志文件可以在spring的帮助下,放到开发环境中的任意位置
<!--由Sprng载入的Log4j配置文件位置--> <context-param> <param |
|
[ESB]Mule 架构中的几个名次的解释 软件技术
lhwork 发表于 2006/8/2 11:29:29 |
1 Connectors :就是支持不同协议的连接器。例如:Http,FTP,Mail,Soap,JMS,MQ等等。通常连接器有三种类型:只用于接收,只用于发送和两者皆可。2
EndPoints
Address:终端地址,类似于jms://topic:myTopic这样的东西。前面的jms就是连接器的类型。后面是各个连接器能识别的地址。这
个地址可以是接收器识别的地址,例如:jms://topic:myTopic表示对myTopic这个队列进行监听。也可以是发送器识别的地址。例如
pop3://user:password@mail.mycompany.com将某一个消息发送到远程邮箱里面。注意这里的地址是你自己命名的,通常不同的应用有不同的地址,例如某个应用是jms://topic:myTopic。另一个是jms://topic:myTopic23
UMO Components
:可以想象成这是ESB总线上的一个个芯片,控制器。在Mule里面,他们是一些POJO,负责接收消息,然后进行处理,在发送出去。例如,一个UMO它
的 |
|
[ESB]ESB的真面目 软件技术
lhwork 发表于 2006/8/2 11:26:03 |
JBI component 就像portlet
一样,企业中每一种服务器产品,无论其接口是Webservice,XML-RPC,FTP,Http,Email都可以为他们夺身定制编写一个JBI
Component,JBI用来接收自己的服务器发来的消息或者将消息发送给自己的服务器。我们看看ServiceMix的几种JBI ComponentJMS Component: 发送和接收JMS messages.HTTP: 支持一个 HTTP 客户端(可以调用远程HTTP Servers) 和一个服务器端的HTTP 榜定(来将JBI components 呈现为 HTTP)File: 将消息存储成本地文件。或者监视本地文件里面的一组文件或者目录并将他们发送给JBI.Jabber: 发送消息给Jabber或者从Jabber接收消息并通过NMR发送给JBI Ftp: 将消息存储成FTP上的文件。或者监视FTP里面的文件或者目录并将他们发 |
|
[ESB]目前三个主流的开源ESB项目简介  软件技术
lhwork 发表于 2006/8/2 11:23:41 |
一个是Object Web的Celtix:它原来是一个商业软件,因为卖的不好,所以转到OW下面,想增加一点知名度。第二个是codehaus的ServiceMix :它是真正意义上的兼容JSR208 JBI标准的ESB容器。它的主要特性包含:JBI 容器 脚本支持 规则引擎 工作流引擎BPEL 引擎 Web Services Notification 实现第三个是codehaus的Mule :Mule不算真正意义上的JBI实现。它更像是一个对象代理。但是因为它先走一步,所以已经非常成熟。它对EIP 企业应用集成提供了一套完整的支持。另外他也提供了JBI的接口。从应用角度来说,如 |
|
|