ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:1.44MB ,
资源ID:7039555      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7039555.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(S2SH框架基于Annotation整合开发.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

S2SH框架基于Annotation整合开发.docx

1、S2SH框架基于Annotation整合开发最新S2SH框架基于Annotation的整合开发(原作)作者:陈志国(冰风清源)UUGU TEAM http:/uugu.org 前言因为自己学习的时候,资料过旧,困难重重。所以再足以单独开发后,写出来让后来人学习能够轻松点。S2SH(Struts2+Spring+Hibernate)框架是当今最流行的Java企业级开发框架搭配方案之一。S2SH是SSH的升级版本,2代指的是Struts2,而SSH中用的是Struts1。众所周知,Struts1已经在逐渐退出舞台。而Struts2也就是Webwork的衍化版本,正在如火如荼的盛行着。其实网上这方面

2、资料也不算少,但是都知道现在技术发展的太快,旧的资料已经很难解决我们的当前问题,要问我写的这些有多新?我学习S2SH框架是在2011年8月分暑假期间,这篇文章写于2011年8月15日星期一。我所采用的是当前位置,各大官网发布的最新框架。Struts2.2.3,Spring2.5.6和Hibernate3.6.6Final。首先我们需要准备什么?1 MyEclipse for Spring 8.6或者更新2 Struts2.2.3包或者更新3 Spring2.5.6包或者更新4 Hibernate3.6.6包或者更新其中框架整合用到的jar文件,无论在这三个压缩包或者Google获得的jar文件

3、列表,如图1。图1: S2SH框架整合所需要的jar包前段时间的教程中提到了需要用到这两个包:hibernate-annotations.jar和hibernate-commons-annotations.jar经过我查看测试,我发现在最新的hibernate3.6.6里面已经包含了这两个包的内容,所以不要再添加这两个包了,如果包添加过多,里面有重复的类文件,在开发的过程中会报错或者出现各种诡异的错误,所以对于jar包的整合,宁少勿多!下面我们开始一个新项目的整合开发,打开MyEclipse,我当前刚升级到MyEclipse for Spring 9.1。1.建立Web项目,复制jar包新建一

4、个Web Project,这个我就不截图了。然后将我们整合好的jar文件们复制到WebRoot下面的WEB-INF下面的lib文件夹内,如图2。图2 存放jar包2.创建代码包创建代码包,便于在开发过程中对每一个java文件的管理和分类。其实分类方式根据自己的需要自己定制,但是行业中也有些约定俗成的规矩。例如:存放与Struts的action文件的包,命名com.chzker.action,当然com.chzker是我个人域名倒叙的写法,也是一种规矩,每个人或者企业都不相同的,自己随意就可以。哪怕你写成org.xxx.action,com.xxx.action,com.action或者直接写a

5、ction,包名并不受限制。存放与hibernate相关的DAO文件的包名,命名com.chzker.dao。存放与hibernate数据库实体类的包名,命名 com.chzker.model。存放与业务逻辑层的Java文件包名,命名com.chzker.service。如图3,4所示。图3 新建包图4 建成的源码包3.先嵌入Spring右键选择MyEclipseAdd Spring Capabilities,如图5图5 选择加入Spring因为我们已经在第一步加入了所有的jar包,当然已经包含了Spring,所以在这一步我们什么库都不用选,只需要选择Spring2.5然后下一步。如图6图6

6、不需要选择库这一步默认,启用AOP并选择New选项即可,点击完成(Finish)。如图7图7 完成Spring导入然后再web.xml中注册Spring,要不然的话,前面做的都是白费,因为程序是先读取web.xml去看看有什么组件去调用,如果没有将Spring信息写入到web.xml,那服务器是不会识别Spring的。注册如下:web-app version=3.0 xmlns= xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance xsi:schemaLocation= contextConfigLocation classpath*:/app

7、licationContext.xml org.springframework.web.context.ContextLoaderListener org.springframework.web.util.IntrospectorCleanupListener index.jsp 以上是注册Spring完成后的的整个web.xml内容。4.再嵌入Hibernate首先,创建DB连接。选择Windows-Open Perspective-Others,在弹出的窗体中选择Myeclipse Database Explorer,然后点击OK。然后再DB Browser右键选择New然后操作如下图7:

8、图7 添加数据库连接点击Finish即可。此时在DB Browser里面就会出现名字为com.mysql.jdbc.Driver的一个数据库连接。点击左上角Myeclipse图标,返回Myeclipse视图。在项目文件夹上右键选择Myeclipse-Add Hibernate Capabilities,如图8:图8 添加Hibernate图9图10图11图12图13点击Finish以后,我们实现配置的applicationContext.xml会自动被编辑,而添加上我们数据库连接新的信息。如下所示: org.hibernate.dialect.MySQLDialect 至此,Spring+Hi

9、bernate就已经整合完成了。下面在进行的是Struts2的整合。5.再整合Struts2同添加Hibernate类似,项目右键Myeclipse-Add Struts Capabilities添加Struts2,如图14图14 整合Struts2在弹出窗体中,选择Struts2.1,然后点击Next。如图15,16所示:图15图16 点击Finish此时无论是applicationContext.xml还是web.xml都已经自动配置完成了。启动服务器即可顺利启动,访问http:/localhost:8080/S2SH/ 返回首页信息,即表示成功框架搭配成功。6.正式开发(Hibernat

10、e实例应用)1生成Hibernate数据表对应类首先生成数据库表的对应实例,切换到数据库视图。双击打开连接的数据库,然后再数据库表上面右键选择 Hibernate Reverse Engineering如图17:图17下面为自动生成数据表对象的关键。如图18图18 注意选项图19接着下一步默认,然后点击Finish完成。此时会自动生成News.java和NewsDAO.java,建议将NewsDAO.java转存到dao包内,以便于分类管理。2建立Struts2 Action类首先建立Action基类 BaseAction.java,以便于以后的action类都集成此类方便管理和其他功能的实现

11、。BaseAction.java:package com.chzker.action;import org.springframework.stereotype.Controller;import com.opensymphony.xwork2.ActionSupport;Controller /Annotation标注public class BaseAction extends ActionSupport IndexAction.java:package com.chzker.action;import java.util.List;import javax.annotation.Reso

12、urce;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Component;import com.chzker.service.newsManager; Component(index)Scope(prototype) public class IndexAction extends BaseAction private List news; private newsManager newsManager; public List getNews() retur

13、n news; public void setNews(List news) this.news = news; public newsManager getNewsManager() return newsManager; Resource public void setNewsManager(newsManager newsManager) this.newsManager = newsManager; public String execute() throws Exception try news = this.newsManager.listAllNews(); return ind

14、ex; catch(Exception e) e.printStackTrace(); return error; Struts.xml配置: error.jsp index.jsp /admin/index.html 3建立Service类正规途径来讲,我们在service类中每一个类都要有其抽象类和它的实现类,以便于以后的再次开发和维护。在此,我们不做赘述从简单入手,直接写service实现类。newsManager.java:package com.chzker.service;import java.util.List;import javax.annotation.Resource;

15、import mons.logging.Log;import mons.logging.LogFactory;import org.springframework.stereotype.Component;import com.chzker.dao.NewsDAO;Component(newsManager) /Annotation注释public class newsManager private NewsDAO newsDao; private Log log = LogFactory.getLog(newsManager.class); /*Getter and Setter*/ pub

16、lic NewsDAO getNewsDao() return newsDao; Resource /利用Spring IOC容器将newsDao利用Annotation注释注入给newsManager public void setNewsDao(NewsDAO newsDao) this.newsDao = newsDao; /* * 获取所有news * */ public List listAllNews() try List news = newsDao.findAll(); return news; catch (Exception e) return null; 此时项目启动起来会出现空指针错误,原因是我们在applicationContext.xml中有以下重要的配置没有添加: org.hibernate.dialect.MySQLDialect com.chzker.model.News index.jsp: base href= My JSP index.jsp starting page !- -

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1