admin 管理员组文章数量: 1086019
2024年3月28日发(作者:postgresqlmysql技术选择)
第10卷第1期
2011年1月
软件导刊
Software Guide
VO1.10N0.1
Jan.2Oll
基于S pri ng MVC和H i bernate
集成的Po rt l et开发构架研究
李 军,黄 强
(四川农业大学信息与工程技术学院,四川雅安625014)
摘 要:J2EE在Portal开发上定义了JSR168接口规范,实现了在不同服务器上的门户可移植性。Spring框架的引
入,让Portal开发实现了基于MVC的多层体系结构,使门户系统的开发和扩展变得更加容易。深入研究了基于
Spring和Hibernate的Portal开发构架,基于该构架完成了一个简单的Portal系统,并验证了构架的合理性。
关键词:门户系统;开发构架;JSR1 68;MVC;Portal;Hibernate;Spring
中图分类号:TP3¨.52 文献标识码:A 文章编号:1672-7800(2011)01-0034—03
把Portlet的内容交给Portal,Portal服务器用Portlet产
1 模型结构
1.1 Portal页面的产生
生的内容来生成一个Portal页面,然后发送到一个客户端
(如浏览器),再显示给用户,如图2所示。
client device
page
Portal将不同的应用程序集合到一个页面,这个页面
的外观是Portal用户共有的,同时Portal也可以有复杂的
田
Portal Portlet
个性化特征,这些特征能够给用户提供自定义内容,其页
面可以有不同的Portlet集,以便为不同的用户创建内容。
Portal系统一般由Portal服务器、支持Servlet的Java应
回曰
田
,
图2 Portal的页面生成流程
用服务器或web服务器、数据库服务器、LDAP服务器组
成,此外还可以加上身份认证和访问控制服务器(Identity
Server或Access Manager)等,而前面所说的Portlet容器
通常是打包在Portal服务器中的,如图1所示:
1.2 Spring框架结构
Spring框架是一个分层架构,由7个定义良好的模块
组成。Spring模块构建在核心容器之上,核心容器定义了
创建、配置和管理bean的方式,如图3所示。
r wleb服务器
I
、
Java应片j服务器
[P—ortalia. ̄]
巨圈E
图3 Spring的架构体系
核心容器的主要组件是BeanFactory,它是工厂模式
图l 基于JSR168的Portlet系统构架
一
的实现组件。BeanFactory使用控制反转(IOC)模式将应
个Portlet能够生成标记语言的片段,而Portal通
用程序的配置和依赖性规范与实际的应用程序代码分开。
Spring上下文是一个配置文件,向Spring框架提供上下
文信息。Spring AOP通过配置管理特性,直接将面向方
面的编程功能集成到了Spring框架中,所以可以很容易
地使Spring框架管理的任何对象支持AOP。Spring DA0
的JDBC DA0抽象层提供了有意义的异常层次结构,可
常是在Portlet生成的标记语言片里添加标题、控制按钮
和别的修失控件,然后Portlet窗口调用这个新产生的片
段,从而Portal把这些Portlet窗口整合成一个完整的文
档,即一个Portal页面。Portlets运行在一个Portlet容器
中,Portlet容器收到Portlets产生的内容后,Portlet容器
作者简介:李军(1974一),男,四川雅安人,四川农业大学信息与工程技术学院实验师,研究方向为计算机应用;黄强(1981一),男,四
川雅安人,硕士,四川农业大学信息与工程技术学院讲师,研究方向为计算机应用。
第1期 李军,黄强:基于Spring MVC和Hibernate集成的Portlet开发构架研究
Controller.class);
・35・
用该结构来管理异常处理和不同数据库供应商抛出的错
误消息,并且Spring框架插入了若干个ORM框架,从而
提供了ORM的对象关系工具。Spring Web上下文模块
private ICOntactService cOntactService:
public void setContactService(IContactService con—
tactService)
建立在应用程序上下文模块之上,为基于Web的应用程
序提供了上下文。Spring MVC框架是一个全功能的构建
Web应用程序的MVC实现框架,通过策略接口,使得
MVC框架高度可配置。
1.3 Hibernate研究分析
{this.contactService:contactService;}
public IContactService getContactService() {
return contactService:
}
2.1I 2修改跳转页面代码
<a href= <portlet:renderURLl>
Hibernate对JDBC进行了轻量级的对象封装,使得
Java程序员可以完全使用面向对象的编程思维来操作关
系数据库如图3所示,是持久层的一项实现技术。相比于
其它持久层实现技术,如JDBC、EJB(实体Beans)、JDO
等,Hinbernate易于掌握,更加符合编程人员的面向对象
思维,Hibernate拥有自己的一种查询语言(HQL),它是
完全面向对象的,其在应用中的基本结构,如图4所示:
晰 岸
堡 些翌墨H
●
业务逻辑(过程域对象)
I
I I
l对象关系映射文州 持久化层 H旧ERNArE
Sess ion l圆圈口I
I Hibernationffd置文件 l
I 关系数据库 l
图4 Hibernate ORM的体系结构
Hibernate为Java程序员提供了面向对象的API和
接口来操纵数据库,从而避免了在业务逻辑中嵌入大量的
JDBC访问和事物控制代码。sessionFactory接口对应我们
的数据库存储源,程序从此接口中得到Session接口实例。
Session接口则是应用中进行持久化时经常使用的接口,它
提供了所有的持久化相关操作,同时我们可以通过Session
接口获得Tranaetion接口来实现数据库事务的控制。
2基于Spring和Hibernate的Portlet开发与
测试
本文基于Spring和Hibernate框架对Portlet的开发
方法进行了研究,因为组件符合JSR168规范,所以可以
被移植到所有支持该规范的J2EE服务器上,在本文中采
用Pluto作为Portlet容器对门户组件进行了测试,下面将
对各层代码进行简单介绍:
2.1 Portlet层
2.1.1 显示列表SelectController.iava
显示列表,是通过服务接口取出所有数据,再跟跳转
到页面上显示;跳转到显示页面是由返回ModelAndView
对象控制到达哪个页面,如下所示:
Se1ectContro11er.java
public class SelectController implements Controller{
private static Log log—LogFactory.getLog(Select—
<portlet:param name一”action”value=”update”/>
<portlet:param name一“eontactld”>
<jsp:attribute name ̄”value”>
<C:out value=Ӵ{contact.contactId}-./>
 ̄/jsp:attribute>
</portlet:param>
</portlet:renderURL>
><c:out value=Ӵ{contact.contactId)t'/></a>
以上代码是说明根据对象的ID作为参数跳转到修改
的控制器,这里注意的是应用<jsp:attribute>标记来传
递参数,而不是servlet的直接追加参数,portlet里的URL
和参数是经过编码处理的。
2.1.3删除跳转页面代码
<a href= <portlet:actionURL><portlet:param
name一”action”value一”delete”/>
<portlet:param name=”contaetld”>
<jsp:attribute name=”value”>
<e:out value=”¥{contact.contactId}”/>
</jsp:attribute>
</portlet:param>?
 ̄/portlet:actionURL>
>Remove</a>
以上是通过传人数据对象的id跳转到删除对象的控
制器。
2.2服务层接口
服务层接口是Spring层(业务接口)的实现。接口类
IContactServiee代码如下,它是DAO操作的延伸,接口的
实现详见例子。
Public interface IC0ntactService{
Contact createContact(Contact contact);
Contact updateContact(Contact contact);
void deleteContact(Contact contact);
Contact findContactById(IdEntity object);
last findAllContacts();}
2.3 DAo层操作
DAo层的接口,它负责数据对象的增删改的功能实
现。接口代码如下:
IStorage.java public interface IStorage;//增加
IdEntity d0CreateEntity(IdEntity ohjeet);//修改
第l0卷第1期
20l1年1月
软件导刊
Software Guide
Vl01.1ON0.1
Jan.20Il
Windows XP日志文件格式分析
刘秀波 ,王连海
(1.山东轻工业学院,山东济南250353,2.山东省计算中心,山东济南250014)
摘 要:系统日志文件记录着系统中特定事件的相关活动信息,系统日志文件是计算机取证最重要的信息来源。
Windows系统对日志文件进行保护不允许对日志文件进行修改,只允许对日志进行清空操作以保证日志文件的完整
性。详尽描述了日志文件的格式,在此基础上找到了手工修改和删除日志记录的方法,并在Windows XP SP3下得到
了验证。
关键词:计算机取证;事件日志;系统安全文件格式;Windows XP
中图分类号:TP391.77 文献标识码:A 文章编号:1672—7800(2011)01—0036—03
它记录着Windows系统中所发生的一切,如各种系统服
l Windows XP日志概述
日志文件是Windows系统中一个比较特殊的文件,
IdEntity doUpdateEntity(IdEntity object);//删除
务的启动、运行、关闭等信息。Windows日志包括应用程
序、安全、系统等几个部分,应用程序日志、安全日志和系
统日志对应的文件名为AppEvent.evt、SecEvent.evt和
开发构架,并且基于该构架完成了一个简单的Portal系
统,完成了Spring Portlet MVC对Portlet重新开发,同时
结合了Spring和Portal开发实现一个基于联系人(Con—
void doDeleteEntity(IdEntity id);//凭ID找数据对象
0bject doFindEntitvBvId(Class clazz,IdEntity object
);//找出某个数据对象的实体
Collection doFindA11Entities(Class clazz);从上面可
tact)数据对象的增、删、改功能,经测试证明,该构架合理
并且具有较强的开发价值。
参考文献:
bernate的网格Portal的研究与设
[1]
张凤娟,刘方爱,邢长明.基于Hi
以看到这个接口是基于数据对象的增删改功能,它的实际
类SpringStorage.java是应用Spring封装的Hiberante的
操作接口来实现。系统测试效果如图5所示。
计rJ].计算机工程与设计,2009(1).
[2]
陈艳浩,牵俊.网格Portal应用研究[J].河南师范大学学报,2009
(3).
a1个性化定制的研究rJ].电脑知识与技术,
[3]
刘莹,蔡万景.Port
2009.
let技术的数字化校园门户系统设计与实现[J],
[4]
姚江梅.基于Port
电脑与电信,2009(1O).
ComtactLIsl
[5]
阳王东,周勇,李旎,等.利用Spring.NET构建动态的三层应用程
序框架[J].计算机时代,2009(9).
N l N—I Email I—i
1
I
l …………
-R^s'I’, T,q…nl,q…
… I1"u・n8 -o】・
… HOi^n
bl。 …i 1 26 c帅r
ng柜架的轻量级J2EE架构与应
[6]
胡启敏,薛锦云,钟林辉.基于Spri
lw nhu1 II sc州OiiM I 51 鲫lI39I
用I-J].计算机时代,2008(5).
[7]
李腊元,徐鹏.基于MVC模式的JSF、Spring和Hibernate整合
I-J].计算机技术与发展,2008(3).
图5 Portlet组件运行效果圈
3结束语
Spring框架的引入,让Portal开发实现了基于MVC
ng柜架的信息系统模型设计与实现
[83
张伟,辛卫斌,辛磊.基于Spri
[J].成阳师范学院学报,2008(z).
ng+Hibernate架构
[9]
武宝珠,粱声灼,牛德雄.基于Struts2+Spri
的多层体系结构,让门户系统的开发和扩展变得更加容
易。本文深入研究了基于Spring和Hibernate的Portal
构建Web应用系t ̄l-J].计算机与现代化,2009(8).
bernate:Java时象持久化技术详解[M].北京:电
[]o3
孙卫琴.精通Hi
子工业出版社,2005. (责任编辑:周晓辉)
作者简介:刘秀波(198O一),男,山东临沂人,山东轻工业学院硕士研究生,研究方向为计算机网络安全;王连海(1969一),男,山东济
南人,山东省计算中心研究员、硕士生导师,研究方向为计算机网络性能测试、计算机网络安全及计算机取证。
版权声明:本文标题:基于Spring MVC和Hibernate集成的Portlet开发构架研究 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1711625164a602407.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论