Struts20 Spring Hibernate整合.docx
- 文档编号:10882335
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:12
- 大小:187.19KB
Struts20 Spring Hibernate整合.docx
《Struts20 Spring Hibernate整合.docx》由会员分享,可在线阅读,更多相关《Struts20 Spring Hibernate整合.docx(12页珍藏版)》请在冰豆网上搜索。
Struts20SpringHibernate整合
Struts2与Spring、Hibernate三者整合的过程示例:
示例工具:
MyEclipse7.0、Tomcat6.0、MySql
步骤:
1.创建一个WEB工程,命名为BookShop(名字自己取,此处为示例工程名);
2.导入struts2的核心jar包,也就是在WEB-INF下的lib文件夹中放入jar包文件,如下图(图中jar包为示例版本):
3.加载spring,选中工程名,右击并选择【MyEclipse】选项下的【AddSpringCapabilities...】(或者在工具栏中选择【MyEclipse】下的【AddSpringCapabilities...】),在弹出的对话框中进行如下图所示操作:
点击【Next】,点击Folder文本框后的【Browse】,在弹出对话框中选择spring配置文件存储位置为WEB-INF文件夹,如下图所示:
点击【OK】后,再点击【Finish】完成。
至此,已经完成加载spring,在WEB-INF文件夹下已经生成了配置文件applicationContext.xml。
4.加载Hibernate,选择【MyEclipse】下的【AddHibernateCapabilities...】,在弹出对话框中进行如下图所示操作:
点击【Next】后,选择ExistingSpringconfigurationfile单选框,在SessionFactoryId文本框中填入"sessionFactory",如下图所示:
点击【Next】,进行如下图所示操作:
该操作中,只需在BeanId文本框中输入一个Id名,作为数据库源的代用名,意义不大。
然后在DBDriver下拉列表中,选择MyEclipse中创建好的数据库源xiaoqi,其他信息将自动填写。
点击【Next】,在弹出对话框中去掉CreateSessionFactoryclass?
复选框,不创建该类,点击【Finish】完成(创建过程中,加载的jar包文件可能有重复,所以这个时候如果提示有某些jar包重复,问全部保存【KeepExiting】,还是替换掉【Replace】,可以选择替换掉【Replace】)。
5.创建struts.xml文件,在src包下新建一个struts.xml文件,该文件内容如下:
DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http:
//struts.apache.org/dtds/struts-2.0.dtd">
--下述语句是将struts2交给spring管理-->
--导入struts-default.xml文件-->
--将action内容放在package元素下,package元素的name值与extends值可以使用默认值,如下所示-->
--例如与用户登录相关的LoginAction,配置如下,其中,class值与applicationContext.xml文件中该action的id值相对应,name值作为标识-->
--result元素设置页面跳转值,其中name值为目标页面的字符串标识,如下,登录失败时回到login.jsp页面,成功时,转向success.jsp页面-->
6.配置web.xml文件,其内容如下:
xmlversion="1.0"encoding="UTF-8"?
>
xmlns=" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation=" org.springframework.web.context.ContextLoaderListener 7.反向生成实体类文件 在src包下新建一个entity包,将前面数据源xiaoqi所示数据库bookshop中的user表反向生成Hibernate实体类文件。 8.创建数据操作文件 在src包下创建dao包,在该包下新建类文件PersonManage.java,其内容如下所示: packagedao; importjava.util.*; importorg.springframework.orm.hibernate3.support.HibernateDaoSupport; importentity.*; publicclassPersonManageextendsHibernateDaoSupport{ //普通用户登录验证 @SuppressWarnings("unchecked") publicbooleancheckUser(StringuserName,StringuserPassword){ booleanflag=false; Stringhql="fromUserasuserwhereuser.userName='"+userName+"'anduser.userPassword='"+userPassword+"'"; List if(userList.size()>0){ flag=true; } returnflag; } } 9.创建Action 在src包下新建一个包,名为"com.xiaoqi.action"(名字仅为示例,只写一个com也可以,示例写法是采取struts中的action包名写法),在该包下新建一个action类LoginAction.java,其内容如下: packagecom.xiaoqi.action; importcom.opensymphony.xwork2.ActionSupport; importdao.PersonManage; publicclassLoginActionextendsActionSupport{ privateStringuserName; privateStringuserPassword; privatePersonManagepersonManage; publicStringgetUserName(){ returnuserName; } publicvoidsetUserName(StringuserName){ this.userName=userName; } publicStringgetUserPassword(){ returnuserPassword; } publicvoidsetUserPassword(StringuserPassword){ this.userPassword=userPassword; } publicvoidsetPersonManage(PersonManagepersonManage){ this.personManage=personManage; } publicStringexecute(){ Stringpage="fail"; booleanflag=false; flag=personManage.checkUser(userName,userPassword); if(flag){ page="success"; } returnpage; } } 10.创建页面,创建登录页面login.jsp,内容如下: <%@pagelanguage="java"pageEncoding="gb2312"%> --导入struts2标签库--> <%@tagliburi="/struts-tags"prefix="s"%>
formaction="loginAction"> textfieldlabel="用户名"name="userName"> textfield> passwordlabel="密码"name="userPassword"> password> submitvalue="登录"> submit>
form>
页面中,先导入struts2标签库,用来创建form表单。
form表单提交给与登录相关的LoginAction.java文件,而LoginAction.java在struts.xml文件中相应的name值为"loginAction”,所以这里的action值为"loginAction"。
至于用户名文本框与密码文本框的name值则与LoginAction.java文件中的userName与userPassword完全匹配。
11.配置applicationContext.xml文件:
xmlversion="1.0"encoding="UTF-8"?
>
xmlns="http: //www.springframework.org/schema/beans" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation="http: //www.springframework.org/schema/beanshttp: //www.springframework.org/schema/beans/spring-beans-2.5.xsd"> -- 以下为数据源配置,自动生成--> value="com.mysql.jdbc.Driver"> value="jdbc: mysql: //localhost: 3306/bookstore"> -- 以下为sessionFactory配置,自动生成--> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> org.hibernate.dialect.MySQLDialect -- 配置PersonManage.java类文件--> lazy-init="default"autowire="default"dependency-check="default"> -- 配置LoginAction.java类文件-->
删除sam-2.2.3.jar cglib-2.1.3.jar运行,OK.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Struts20 Spring Hibernate整合 Hibernate 整合