首页 MyEclipse8.5_开发_SSH_(Struts2 Spring Hibernate)示例-完整丰富版

MyEclipse8.5_开发_SSH_(Struts2 Spring Hibernate)示例-完整丰富版

举报
开通vip

MyEclipse8.5_开发_SSH_(Struts2 Spring Hibernate)示例-完整丰富版MyEclipse8.5 开发 SSH (Struts2+Spring+Hibernate)示例-完整丰富版 虽然已经有很多文章介绍整合Struts2,、Spring2.5、Hibernate3.1来开发基于Web Project项目的过程,但是里边有很多细节描述不是很清楚,对初学者造成了很大的困扰,特别是测试运行后出现很多不知所以然的错误,往往并不是程序本身错误造成的,而是配置细节出现的问题,这里将每个过程及配置中需要注意的细节一一说明,希望大家在初学的道路上走的更加平坦。 (1) 创建Web Project ...

MyEclipse8.5_开发_SSH_(Struts2 Spring Hibernate)示例-完整丰富版
MyEclipse8.5 开发 SSH (Struts2+Spring+Hibernate)示例-完整丰富版 虽然已经有很多文章介绍整合Struts2,、Spring2.5、Hibernate3.1来开发基于Web Project项目的过程,但是里边有很多细节描述不是很清楚,对初学者造成了很大的困扰,特别是测试运行后出现很多不知所以然的错误,往往并不是程序本身错误造成的,而是配置细节出现的问题,这里将每个过程及配置中需要注意的细节一一说明,希望大家在初学的道路上走的更加平坦。 (1) 创建Web Project 这个过程很简单,通过MyEclipse8.5的创建向导逐步完成就可以了,建议JAVA支持方面选择JAVA EE5.0这个版本。 在创建Web Project之前最好规划好项目的目录结构,这里有两个地方需要考虑目录结构,一个是WebRoot下,这里存放的都是项目表示层的程序及文档,即JSP、javascript、CSS、图片及浏览器可访问的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 ,可以按照项目功能模块分配目录;另一个是src下,这里存放的是struts2、spring、hibernate的配置文件,JAVA程序等,JAVA程序按照包分类管理,最好struts2的action程序放一个包,hibernate的DAO放一个包,Hibernate Factory放一个包,每个包下也可以按照模块再分包管理。 (2) 建立MySql数据库 通过MySql的管理工具创建一个数据库,并且记住数据库的访问URL,用户名,密码,确定数据库各个表的名字,字段等,这个 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 最好在系统详细设计阶段,因为在项目开发过程中修改数据库结构会给开发进程造成很大影响。 利用MyEclipse的Db Browser可以连接到该项目对应的数据库,随时查看数据库的结构及 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 ,具体操作见MyEclipse8.5 IDE,这里不再赘述。 (3) 引入Spring2.5 · 将鼠标定位到Web Project项目名称上,单击右键,依次选择菜单MyEclipse->Add Spring Capabilities。 · 选择“Spring 2.5 AOP”,“Spring 2.5 Core”,“Spring 2.5 Persistence Core”,“Spring 2.5 Persistence JDBC”,“Spring 2.5 Web”等库; · 配置Spring配置文件存放路径及名称,都采用缺省配置即可,配置文件存放在src目录下,配置文件名称为applicationContext.xml; (4) 引入Hibernate3 · 将鼠标定位到Web Project项目名称上,单击右键,依次选择菜单MyEclipse->Add Hibernate Capabilities。 · 选择Hibernate3.1,其他项缺省即可。 · 点击“Next”按钮,设置配置文件存放位置及名称,选择新建一个配置文件,都用系统给出的缺省值即可。 · 点击“Next”按钮,进入数据库连接配置界面,选择一个已经配置好的DBDriver,其他项都缺省选择。 · 点击“Next”按钮,进入“Hibernate SessionFactory”创建窗口,这里设置一下“Java Package”即是前面规划好的目录名称,点击“new”创建包,建议取名为xxx.xxxx.hibernate。 · 创建POJO映射 · 打开DB Brower,选择目标数据库的某个表xxx; · 单击右键,选择菜单“Hibernate Reverse engineering”,按照上图所示选择各项配置; · 单击“Next”按钮,选择数据库的主键生成器,这个是必选项; · 一路点击“Next”按钮下去,系统会自动生成xxxDAO.java(对应数据库表的JAVA文件),xxx.java(对应数据记录的JAVA文件),还有其他抽象类JAVA文件 (5) 测试Spring和Hibernate的整合 经过上面两个引入环节,Spring已经和Hibernate整合在了一起,下面就使用MyEclipse的File->New->Class编写一个Java测试代码来测试整合操作是否正确,实例代码如下: package com.crazyicelee.test; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; import com.crazyicelee.dao.User; import com.crazyicelee.dao.UserDAO; /** * @author crazyicelee * */ public class test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { //下面两句获取上下文及hibernate的数据模型对象DAO ApplicationContext ctx = new FileSystemXmlApplicationContext("G:\\myself\\MyEclipse\\S2SHTest\\src\\applicationContext.xml"); UserDAO userDAO = (UserDAO) ctx.getBean("UserDAO"); User u=new User(); u.setName("111"); u.setCity("w"); u.setCountry("sss"); u.setCreditLimit(new Integer(10)); userDAO.save(u); } catch (BeansException e) { System.out.println(e.getMessage()); } catch(Exception ee){ System.out.println(ee.getMessage()); } } } 配置Java Console运行环境,并运行,调试上面代码,如果报错,可以检查错误信息,一般是某个Spring库没有包含进来,可以通过“Properties”的“Java Build Path”的“Libraries”添加,如果运行不再报错,则查看数据库应该已经成功写入数据,说明Spring和Hibernate整合成功。 (6) 整合Struts2 · 将鼠标定位到Web Project项目名称上,单击右键,依次选择菜单MyEclipse->Add Struts Capabilities。 · 修改配置文件存放路径及名称,通常存放在src目录下,配置文件名称为struts.xml,并选择Struts版本为Struts2.1,选择Struts2的URL模板为/*使得所有请求都通过Struts2管理,当然后续会把一部分请求托管给Spring容器。 · 选择Struts2支持库,至少包含“Struts 2 Core”,“Struts 2 Spring”; · 利用MyEclipse的File->New->Class创建Action代码,选择基类为ActionSupport,并设定包名称,系统会生成一个简单的程序框架,在程序编辑区单击鼠标右键,选择Source->Override/Implement Methods,选择要重置的方法,至少要实现execute(),在这个方法中编写逻辑处理代码。具体代码编写规则及方法参考Action程序编写的有关教程。这里重点强调整合Struts2和Spring时要添加的代码: · 将xxxDAO作为Spring要注入的属性添加到Action里边,本实例中将UserDAO作为Action的私有属性添加进来,并配置Bean的getter/setter方法; · 配置其他Action属性及getter/setter方法; · 实例代码如下: package com.crazyicelee.action; import java.util.List; import com.crazyicelee.dao.User; import com.crazyicelee.dao.UserDAO; import com.opensymphony.xwork2.ActionSupport; /** * @author crazyicelee * */ public class ListUser extends ActionSupport { private UserDAO userDAO;//Spring注入的DAO Bean对象 private List users; /* (non-Javadoc) * @see com.opensymphony.xwork2.ActionSupport#execute() */ @SuppressWarnings("unchecked") @Override public String execute() throws Exception { // TODO Auto-generated method stub users=userDAO.findAll(); return super.execute(); } /** * @param userDAO the userDAO to set */ public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } /** * @return the userDAO */ public UserDAO getUserDAO() { return userDAO; } /** * @param users the users to set */ public void setUsers(List users) { this.users = users; } /** * @return the users */ public List getUsers() { return users; } · } · 配置struts.xml,配置方法参考相关文章 (7) 整合Struts2和Spring · 这一步整合是最为麻烦的,因为到目前为止MyEclipse8.5 M1的版本还不支持可视化自动配置,而是需要手动修改配置文件完成配置,这里有一个基本原则,就是Spring将接管一部分Struts2的Action,即凡是需要通过Hibernate访问数据的Action都需要Spring接管,其他不需要通过DAO存取数据的就不需要托管给Spring。 · Spring配置文件applicationContext.xml的修改,这里需要告诉Spring要托管的Action及属性,每个Action就是一个Bean,也就是向配置文件中添加一个Bean声明,代码如下: 其中: id的值是对应到struts2配置文件struts.xml中的Action标签中的class属性; class的值是实现这个Action的具体类名称。 上面配置文件说明了将一个DAO注入到一个Action体内,也就是完成了数据存取对象初始化工作,在Action里边就可以直接使用这个DAO对象进行相应的操作。 · Struts2配置文件struts.xml修改,首先添加一个全局常量,告诉Action由Spring托管,其次修改被Spring托管的Action的class,将原来单纯Struts2管理的完全类名称改为Spring的相应Bean的id值(这点非常重要,否则运行出错),代码如下: /index.jsp /login.jsp · Web服务器配置文件Web.xml修改,这里要告诉在web服务启动的时候启用Spring监听器和过滤器,从而优先在struts2之前接管有关Action,配置文件如下: contextConfigLocation /WEB-INF/classes/applicationContext.xml org.springframework.web.context.ContextLoaderListener lazyLoadingFilter org.springframework.orm.hibernate3.support.OpenSessionInViewFilter index.jsp struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter lazyLoadingFilter *.action struts2 /* 上面标红的部分是添加的,注意前后的顺序不能颠倒。 · 添加Struts 2 Spring支持库,通过Java Build Path的Libraries添加这个库,如果缺少这个库,则加载web.xml时出错,致使服务器不能启动。 (8) 编写JSP代码 这个JSP代码是Action后调用的页面,将把Action获取的数据显示在浏览器端,代码如下: <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <%@ taglib uri="/struts-tags" prefix="s"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> My JSP 'index.jsp' starting page
姓名:
国家:
城市:
信用额度:
(9) 部署运行 利用MyEclipse8.5 M1的部署工具将这个项目部署到Resin服务器上,注意在服务器启动前删除一个Spring和Hibernate冲突的Jar包(/WEB-INF/lib下的asm-2.2.3.jar),然后启动Resin,在浏览器上打开http://localhost:8080/S2SHLee/mystruts/ListUser.action就可以看到这个Web Project运行的效果了,至此,所有配置编码工作顺利完成。
本文档为【MyEclipse8.5_开发_SSH_(Struts2 Spring Hibernate)示例-完整丰富版】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_659760
暂无简介~
格式:doc
大小:264KB
软件:Word
页数:10
分类:互联网
上传时间:2012-01-14
浏览量:37