当前位置:跳过导航链接计算机毕业设计首页 : JAVA计算机毕业设计 : 详细内容

JSP旅游网站的设计与实现(程序下载)(11)

来源:xiaoniu168.com 作者:本站原创 添加时间:2011-10-05 点击数:45937

计算机毕业设计关键技术介绍:

关键技术举要
 本项目由于是使用了最新的struts2.1+hibernate3.2+spring2.0框架技术,所以3个框架的整合之间出现了很多问题,主要是各种框架之间有相同的包但是版本不同的冲突、例如在hibernate里面的antlr包和spring里面的有冲突,找遍了网上的资料和自己的实验终于找到了解决的办法,移除了sping里面的重复的包,然后就可以成功的部署。还有关于hibernate的延时加载的问题:
在hibernate中,延迟加载是1个非常大的优点,但有时候却给我们带来一些小麻烦,在后台查询结束后,session已经关闭,但在前台显示的时候,如果存在关联关系就会产生延迟加载异常。
解决办法是客户端每次请求就分配1个session,将请求结果返回给客户端,并完成展现后关闭session。
实现这个功能非常简单,在web.xml中加入以下配置

hibernateFilter
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter

singleSession
true



hibernateFilter
*.do

使用spring提供这个过滤器就可以实现session的集中管理了,所有以.do结尾的请求都自动分配了1个session,并且在这个请求过程中都使用这个session.这样就可以解决延时加载在页面不起作用或者报错session已经关闭。
关于struts2标签,虽然使用struts2推荐页面的标签尽量用struts2的标签,但是有些地方我还是更加倾向于使用JSP标签+EL表达式,能更简单的达到程序所要求的效果,代码也更加容易维护和改错,关于分页查询,基本上就是复制了一些重用的代码,减少了代码的编写量。
关于在一个业务层注入多个Dao,开始我还怀疑有性能的损耗,但经过各种资料的查询,由于spring统一管理对象的产生和销毁,因此我们不要关系多个Dao层产生session对性能的影响,能够在一个Biz层注入多个Dao对代码的简化和功能的实现有着很到的帮助,比如有时在一个业务层需要操作不同的实体,所以需要对不同的数据层进行方法调用,如果不注入其他实体的Dao的话就要另外写方法,增加了代码的复杂度,代码的可维护性就会降低。
泛型的使用:由于在数据层使用的最多的是增删改查的方法,因此可以定义一个通用的泛型接口和通用的泛型数据层父类,将一般的增删改查定义在里面,就可以省去很多重复增删改查代码的编写,只需要对一些特殊的业务额外增加新的方法,也更加利于系统的维护。

〖资料来源:计算机毕业论文 www.xiaoniu168.com

第12页为计算机毕业论文结论......

【联系方式】

【本站信誉】

用心做计算机毕业设计论文网