您所在的位置: 首页>>开发>>JAVA>>JAVA专区>>热门框架>>EJB>>

EJB 3.0+Beehive开发客户反馈系统(8)

http://developer.51cto.com  2006-09-21 11:58  陈逸鹤  BEA  我要评论(0)
  • 摘要:本文通过一个实例,介绍了如何结合EJB3.0与Beehive快速开发J2EE应用。
  • 标签:EJB  Beehive  J2EE

在对整个工程进行Build之后,页面流控制文件被编译为一个class文件和一个对应的配置文件WEB-INF.pageflow-struts-generated jpf-struts-config-[页面流名称].xml,该配置文件定义了一系列控制文件中注释所对应的配置,如下为其中一部分:

<struts-config>
<form-beans>
<form-beanname="uploadFileForm" type="org.form.UploadFileForm"
className="org.apache.beehive.netui.pageflow.config.PageFlowActionFormBean">
<set-property property="actualType" value="org.form.UploadFileForm"/>
</form-bean>
</form-beans>
<global-exceptions/>
<global-forwards>
<forward name="showTopics" path="/topicList.jsp"/>
<forward name="addFeedBackAccessories" path="/feedBackAccessories.jsp"/>   
</global-forwards>
<action-mappings>
<actionpath="/addAccessories" name="uploadFileForm"
type="org.apache.beehive.netui.pageflow.internal.FlowControllerAction" input="addTopicAccessories" parameter="topics.Controller" scope="request" validate="true">
<forward name="newTopic" path="/newTopic.jsp"/>
<!--forward "addTopicAccessories" (validationErrorForward)-->
<forward name="addTopicAccessories" path="/accessories.jsp"/>
</action>   
……
<message-resources key="_defaultValidationMessages"
parameter="org.apache.beehive.netui.pageflow.validation.defaultMessages" null="true"/>
</struts-config>

由于篇幅所限,无法详细阐述pollinate的使用,读者可以参考相关文章:用Pollinate可视化开发页面流(JPF)http://dev2dev.bea.com.cn/techdoc/200504503.html

实现国际化

由于要实现中英日文的显示,采取以下步骤:

开发和编译代码时指定字符集为UTF-8。Eclipse可以在项目属性中设置。使用过滤器,如果所有请求都经过一个Servlet控制分配器,那么使用Servlet的filter执行语句,将所有来自浏览器的请求(request)转换为UTF-8,因为浏览器发过来的请求包根据浏览器所在的操作系统编码,可能是各种形式编码。request.setCharacterEncoding("UTF-8")。需要配置web.xml 激活该Filter。在JSP头部声明:

<%@ page contentType="text/html;charset= UTF-8" %>

在Jsp的html代码中,声明UTF-8:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

设定数据库连接方式是UTF-8。例如连接MYSQL时配置URL如下:

jdbc:mysql://localhost:3306/feedback_db?useUnicode=true&characterEncoding=UTF-8

其他和外界交互时能够设定编码时就设定UTF-8,例如读取文件,操作XML等。

不同时区时间显示

由于客户端可能处于不同的时区,因此应该显示不同服务器时间。由于与客户端有关,因此需利用一段javaScript代码,从客户端获取其所在的时区偏移量。该偏移量是针对GMT时间而言的,也就是格林威治时间,以分钟为单位。

function getTimezone()
{
 var d = new Date();
document[getNetuiTagName("loginForm", this)][getNetuiTagName("timezone", this)].value=
d.getTimezoneOffset();  
}

获取之后将他传回服务器端并保存在session中。显示时间时根据这个偏移量来计算显示的时间。

总结

技术

EJB3.0基于Hibernate3.0,大大简化了开发的难度与复杂度,使得开发人员能够快速高效的进行开发,Beehive作为Apache的开源项目,获得了Bea的大力支持,使开发人员实现基于JAVA组件的开发,是开源项目中构建SOA的理想选择。

工具

Eclipse Pollinate作为唯一支持Beehive开发的工具,可以快速创建Beehive项目,但是开发过程中,代码与设计视图的同步对应仍然存在一些问题,比如在.Controller中定义的.Forward,在设计视图中就不能被识别。因此与BEA的Workshop相比,Pollinate仍然任重而道远。因此对于大型应用的开发来说,Bea Workshop仍然是不二选择,对于那些初学者来说,也可以先使用BEA的Workshop并结合其自带帮助系统,来学习pageflow,java control,java webservice,包括门户,集成应用等高级技术。在对这些技术有了一定的理解之后,学习Beehive的开发会更加快速有效。

本文通过一个实例,介绍了如何结合EJB3.0与Beehive快速开发J2EE应用。由于采用了一些新的技术,因此文中难免有疏漏及错误之处,欢迎大家加以纠正。同时非常感谢Kevin Kevman在技术方面的帮助。

(责任编辑 火凤凰 sunsj@51cto.com  TEL:(010)68476636-8007)



共8页: 上一页 [1] [2] [3] [4] [5] [6] [7] 8
【内容导航】
J2EE实用技巧大全
J2EE应用开发专栏
EJB应用开发专栏
深入Vista应用程序开发
走向银光 —— 一步一步学Silverlight2
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有