- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Struts2环境的搭建
本文档将以一个登录系统的操作为实例,来演示Struts + Spring + Hibernate环境的搭建过程。
在单独使用Struts框架进行实现登录系统操作功能,则在struts.xml文件中需要指定登录action(即loginAction)的类(com.rule.Acton.LoginAction.java)的路径即可。即当用户单击登录按钮后,struts拦截器拦截登录申请,然后直接指定com.rule.Acton.LoginAction.java类对此申请进行判断操作,并在struts.xml文档中指定操作成功或者失败后跳转的jsp页面。
创建web project工程
右键工程名-选择Myeclipse-Add Struts Capabilities
选择struts2.1,如下图:
单击next,选择工程需要的jar包,如下图:
单击finish,此时工程目录如下:
Web.xml的配置文件如下:
编辑index.jsp页面,编写一登录界面,如下:
创建JSP文件夹,存放项目中的jsp文件,再编写登录成功和登录失败的jsp显示页面。
在scr目录下建立com.rule.Action,在这个包中创建LoginAction.java,注意该类中的变量userName和userPassword要跟login.jsp中的变量名对应相同。如下图:
然后配置struts.xml文件,注意action中的name要跟login.jsp中的action中名字相同,如下:
到此项目的目录结构如下图:
将项目发布到tomcat服务器中,启动服务器,在浏览器中输入项目的路径,运行结果如下:
系统登录页面如下:
用户和密码输入正确后跳入success.jsp页面,如下:
密码输入错误后跳入error.jsp页面,如下:
Struts2 + Spring环境的搭建
Struts2框架整合Spring后,处理用户请求的Action并不是Struts框架创建的,而是由Spring插件创建的。创建实例时,不是利用配置Action时指定的class属性值,根据bean的配置id属性,从Spring容器中获得相应的实例。因此在struts.xml文档中不再指定实际的类路径,而是指定一个逻辑名(loginAction),该逻辑名便是在applicationContext.xml文档中定义bean的id名,具体操作类路径的指定则在applicationContext.xml的bean中指定。
在前一步骤的基础上,将spring的整合到项目中,步骤如下:
右键项目名-Myeclipse-Add SpringCapabilities,如下图
勾选必要的jar包,同时选择将jar包拷贝到WebRoot/WEB-INF/lib的目录下,如下:
在上图中应该选择Spring2.5,选择3.0版本会出现错误,可能是版本不兼容的问题,而选择2.5版本时没有问题。
单击next,指定folder的路径为WebRoot/WEB-INF,如下:
单击finish,将struts2-spring-plugin-2.2.1.1.jar拷贝到lib目录中,同时在web.xml中设置spring的侦听器listener,如下所示:
在web.xml文件中配置Spring容器,指定Spring配置文件的路径,让Spring知道事务管理的bean所在,同时加载Spring容器
创建com.rule.Service和com.rule.Service.Impl包,在前者中放置接口,后者放置实现,如下图所示:
定义的实现接口如下:
具体实现如下,还没有实现hibernate支持
将struts.xml配置文件中的action对应的类修改为一个逻辑名如loginAction,从而将业务的处理交给spring来管理,如下图:
在LoginAction类中定义一个IloginServiceImpl的实例,通过调用这个对象的login方法来实现登录操作,如下图所示:
在applicationContext中定义,如下:
注意,在id = “loginAction”的bean中定义的名字要跟struts.xml配置文件中定义的action要相同,property中name对应的loginService要跟LoginAction.java中使用的IloginServiceImpl实例对象名相同;ref对应的变量名要跟上面定义的bean的id相同。
最终的项目目录如下:
重启服务器,运行的结果同一中所述相同:
Struts + Spring + Hibernate环境的搭建
在搭建好Struts + Spring的环境后,为了方便从持久层获取数据,搭建Hibernat
原创力文档


文档评论(0)