Struts2Hibernate3Spring的简单配置与使用.docx
- 文档编号:17761910
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:39
- 大小:223.76KB
Struts2Hibernate3Spring的简单配置与使用.docx
《Struts2Hibernate3Spring的简单配置与使用.docx》由会员分享,可在线阅读,更多相关《Struts2Hibernate3Spring的简单配置与使用.docx(39页珍藏版)》请在冰点文库上搜索。
Struts2Hibernate3Spring的简单配置与使用
Struts2.0.11+Hibernate3.6.0+Spring2.5.6的简单配置与使用
一、开发环境
Ø MyEclipse6.5
Ø JDK1.6.10
Ø Tomcat6.0
Ø Struts2.0.11
Ø Spring2.5.6
Ø Hibernate3.6.0
用户可以在对应的官网下载对应的包。
Struts:
Hibernate:
Spring:
二、Struts的简单配置与使用
以一个普通的用户登录例子为例,
2.1导入struts2包
新建web项目,命名为SSHProject,引入struts2必须的包:
2.2修改web.xml文件
修改WEB-INF下的web.xml文件,增加struts2的过滤器
完整的web.xml如下:
xmlversion="1.0"encoding="UTF-8"?
>
xmlns=" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation=" 2.3新建页面index.jsp 在webroot下新建一个index.jsp页面,内容如下: <%@pagelanguage="java"pageEncoding="UTF-8"%> <%@tagliburi="/struts-tags"prefix="s"%> DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
formaction="login"name="form1"> textfieldname="username"label="username"> textfield> passwordname="password"label="password"> password> submitvalue="提交"label="submit"> submit> labelname="feedback"> label>
form>
其中,跳转动作名是login,,即点击提交按钮,根据struts的配置表(struts.xml,这个是需要自己配置的文件,会在下节介绍)动作名进行跳转并操作。
登陆成功页面success.jsp
<%@pagelanguage="java"pageEncoding="UTF-8"%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
登录成功。
失败的话跳转回index.jsp,并反馈信息。
2.4添加struts.xml文件
在项目的src下,新建struts.xml文件,这是struts2的基本配置文件,struts2的跳转,异常等配置均在此,struts2的跳转亦是根据这个文件来跳转的。
完整的内容如下:
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http:
//struts.apache.org/dtds/struts-2.0.dtd">
注解:
type=”redirect”表示重定向。
2.5定义动作Login.java
根据struts配置,其是跳转到com.wenbin.example.Login,这个类处理的,所以新建com.wenbin.example包,再新建Login.java类,处理内容如下:
packagecom.wenbin.example;
importjava.util.List;
importorg.hibernate.Query;
importorg.hibernate.Session;
importorg.hibernate.SessionFactory;
importorg.hibernate.cfg.Configuration;
importcom.opensymphony.xwork2.ActionSupport;
importcom.wenbin.entry.Sysuser;
publicclassLoginextendsActionSupport{
privatestaticfinallongserialVersionUID=1L;
privateStringusername;
privateStringpassword;
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringexecute(){
System.out.println("登录成功...");
System.out.println("用户名:
"+username);
System.out.println("密码:
"+password);
if(username.equals("liangbinny")&&password.equals("123")){
returnSUCCESS;
}else{
super.addFieldError("feedback","用户名或密码错误");
returnERROR;
}
}
@Override
publicvoidvalidate(){
if(username==null||username.equals("")){//这种验证,对应返回input这个名的页面,必须在struts.xml中定义 //name="input">/index.jsp
super.addActionError("用户名不能为空");
super.addFieldError("feedback","用户名不能为空");
}
if(password==null||password.equals("")){//这种验证,对应返回input这个名的页面
super.addActionError("密码不能为空");
super.addFieldError("feedback","密码不能为空");
}
}
}
2.6定义sturts.properties
这个文件是用来定义struts的属性的,在src下,新建sturts.properties,内容如下:
struts.locale=en_GB
至此,struts基本配置完毕。
启动tomcat并访问index.jsp,即可。
完整项目图如下:
三Hibernate的简单配置与使用
3.1导入Hibernate包
在刚才那个项目下,继续添加Hibernate所需要的包,如下:
具体介绍如下:
hibernate3.jar-----------------------------核心类库
antlr-2.7.6.jar-----------------------------代码扫描器,用来翻译HQL语句
commons-collections-3.1.jar-----------ApacheCommons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大
dom4j-1.6.1.jar----------------------------是一个Java的XMLAPI,类似于jdom,用来读写XML文件的
javassist-3.4.GA.jar-----------------------Javassist字节码解释器
jta-1.1.jar------------------------------------标准的JTAAPI。
slf4j-api-1.5.2.jar
slf4j-nop-1.5.2.jar
class12是数据库驱动包
3.2Hibernate配置文件配置
创建Hibernate配置文件。
在src下新建hibernate.cfg.xml。
这是hibernate连接数据库的配置文件。
这里以连接Oracle为例,(假设数据库SID是Test,用户名和密码都是Test),具体配置如下:
xmlversion='1.0'encoding='UTF-8'?
>
DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/HibernateConfigurationDTD3.0//EN"
"
oracle.jdbc.driver.OracleDriver
jdbc:
oracle:
thin:
@192.168.5.24:
1521:
Test
--这个是你myeclipse的数据库连接视图里建立的连接名,可有可无--> --这个表示数据库连接的方言--> --是否显示sql语句--> 最后一句: 是指对应映射数据库中的哪些表,这里仅举例一张表,多张表对应多个mapping,该表的配置对应的是com.wenbin.model下的Sysuser.hbm.xml配置文件,在数据库中,一张数据表对应一个类似于xxx.hbm.xml配置文件,该表对应数据库该用户中的表结构如下: 主键是id。 所以,需要新建com.wenbin.model包,再在该包下建立一个Sysuser.hbm.xml配置文件,该配置文件是对应数据库表中的字段的一一映射。 代码如下: xmlversion="1.0"encoding="utf-8"? > DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN" " --id是指主键的意思,property是指列的意思--> 第一句, 其实关于这些配置文件,完全可以由myeclipse自动生成。 3.3建立持久化对象 再建好各配置表以后,还需要新建实体对象Sysuser,该对象对应表结构,新建com.wenbin.entry包,再在该包下建立Sysuser.java,具体代码如下: packagecom.wenbin.entry; publicclassSysuser{ privateStringaccount; privateStringpassword; privateStringpopedom; privateStringdistrict_id; privateLongid; privateStringemail; privateLongorg_id; privateStringname; privateLongoid; publicStringgetAccount(){ returnaccount; } publicvoidsetAccount(Stringaccount){ this.account=account; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; } publicStringgetPopedom(){ returnpopedom; } publicvoidsetPopedom(Stringpopedom){ this.popedom=popedom; } publicLonggetId(){ returnid; } publicvoidsetId(Longid){ this.id=id; } publicStringgetEmail(){ returnemail; } publicvoidsetEmail(Stringemail){ this.email=email; } publicLonggetOrg_id(){ returnorg_id; } publicvoidsetOrg_id(Longorg_id){ this.org_id=org_id; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicLonggetOid(){ returnoid; } publicvoidsetOid(Longoid){ this.oid=oid; } publicStringgetDistrict_id(){ returndistrict_id; } publicvoidsetDistrict_id(Stringdistrict_id){ this.district_id=district_id; } } 3.4测试 创建Session工厂类HibernateSessionFactory。 让我们先了解一下Session,Hibernate对数据库的操作是通过Session来实现的,这里的session不同于页面间传递参数的session,而是类似于JDBC中的Connection。 Session是Hibernate运作的中心,对象的生命周期、事务的管理、数据库的存取都与session息息相关。 而Session是由HibernateSessionFactory创建的,是线程安全的,可以让多个执行线程同时存取HibernateSessionFactory而不会有数据共享的问题,但不能让多个线程共享一个Session。 可以先随便找个类,这里以之前建立的Login.java来测试,为Login.java添加main方法,具体和注释如下: publicstaticvoidmain(String[]args){ //Configuration负责管理Hibernate配置讯息 Configurationconfig=newConfiguration().configure(); //根据config建立SessionFactory //SessionFactory将用于建立Session SessionFactoryfac
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Struts2Hibernate3Spring 简单 配置 使用