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一),男,山东济 

南人,山东省计算中心研究员、硕士生导师,研究方向为计算机网络性能测试、计算机网络安全及计算机取证。 


本文标签: 对象 接口 日志