Struts2.0.11+Hibernate3.6.0+Spring2.5.6的简单配置与使用一、开发环境MyEclipse6.5JDK1.6.10Tomcat6.0Struts2.0.11Spring2.5.6Hibernate3.6.0用户可以在对应的官网下载对应的包。Struts:::二、Struts的简单配置与使用以一个普通的用户登录例子为例,2.1导入struts2包新建web项目,命名为SSHProject,引入struts2必须的包:2.2修改web.xml文件修改WEB-INF下的web.xml文件,增加struts2的过滤器完整的web.xml如下:?xmlversion=1.0encoding=UTF-8?web-appversion=2.5xmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/javaee/web-app_2_5.xsdwelcome-file-listwelcome-fileindex.jsp/welcome-file/welcome-file-listfilterfilter-namestruts2/filter-namefilter-classorg.apache.struts2.dispatcher.FilterDispatcher/filter-class/filterfilter-mappingfilter-namestruts2/filter-nameurl-pattern/*/url-pattern/filter-mapping/web-app2.3新建页面index.jsp在webroot下新建一个index.jsp页面,内容如下:%@pagelanguage=javapageEncoding=UTF-8%%@tagliburi=/struts-tagsprefix=s%!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.01Transitional//ENhtmlheadtitle用户登录/title/headbodys:formaction=loginname=form1s:textfieldname=usernamelabel=username/s:textfields:passwordname=passwordlabel=password/s:passwords:submitvalue=提交label=submit/s:submits:labelname=feedback/s:label/s:form/body/html其中,跳转动作名是login,,即点击提交按钮,根据struts的配置表(struts.xml,这个是需要自己配置的文件,会在下节介绍)动作名进行跳转并操作。登陆成功页面success.jsp%@pagelanguage=javapageEncoding=UTF-8%!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.01Transitional//ENhtmlheadtitle登录成功/title/headbody登录成功。/body/html失败的话跳转回index.jsp,并反馈信息。2.4添加struts.xml文件在项目的src下,新建struts.xml文件,这是struts2的基本配置文件,struts2的跳转,异常等配置均在此,struts2的跳转亦是根据这个文件来跳转的。完整的内容如下:?xmlversion=1.0encoding=UTF-8?!DOCTYPEstrutsPUBLIC-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN=exampleextends=struts-defaultactionname=loginclass=com.wenbin.example.Loginresultname=successtype=redirect/success.jsp/resultresultname=error/index.jsp/resultresultname=input/index.jsp/result/action/package/struts注解:struts是基本的标签packagename=exampleextends=struts-default标签是包名,需要继承struts-default.xml文件,写成extends=struts-defaultaction是跳转动作,命名为login(这个名字是根据index.jsp的页面定义的表单form的action对应的),对应的class属性是指操作的类com.wenbin.example.Login,result是结果,根据验证的结果,选择进行跳转。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;}}@Overridepublicvoidvalidate(){if(username==null||username.equals()){//这种验证,对应返回input这个名的页面,必须在struts.xml中定义result//name=input/index.jsp/result这个属性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.jarslf4j-nop-1.5.2.jarclass12是数据库驱动包3.2Hibernate配置文件配置创建Hibernate配置文件。在src下新建hibernate.cfg.xml。这是hibernate连接数据库的配置文件。这里以连接Oracle为例,(假设数据库SID是Test,用户名和密码都是Test),具体配置如下:?xmlversion='1.0'encoding='UTF-8'?!DOCTYPEhibernate-configurationPUBLIC-//Hibernate/HibernateConfigurationDTD3.0//EN=connection.driver_classoracle.jd