QX项目实战-14.Struts2+Hibernate整合

      以用户登录为例,说明Struts2和hibernate的整合。首先在MyEclipse8.0下新建一个web项目。注意编译器选择J2EE5.0版本。

QX项目实战-14.Struts2+Hibernate整合_第1张图片

      我们先来增加Struts开发能力,在项目名上右击选择MyEclipse-增加Struts开发能力,这里选择Struts2.1版本。默认安装即可。再安装Hibernate开发能力,依然如上面的操作,选择Hibernate3.2版本,注意数据库连接部分,需要之前在数据库视图下设定好数据库连接,新建包来存放hibernate程序库,这里新建hibernate.example包。

      运行当前系统测试能否正常工作,首先打开服务器,然后部署当前项目到Tomcat中,随后在浏览器输入当前地址如:http://192.168.195.54:8080/QX4/即可访问当前默认首页。

      下面对Hibernate部分进行开发,切换到数据库视图下,找到需要编写程序的数据库表,这里是userinfo下的users表,右击选择hibernate反向工程,创建POJO对象和对应的映射文件。


      下面开始编写业务逻辑部分,新建类oper.example.userview,方法showusers方法为:

Session session = HibernateSessionFactory.getSession();
                   Query query= session.createQuery("from Users");
                   String ret =doPrint(query);
                   return ret;

      上述程序,通过Hibernate读取了数据库中的users表的所有记录并返回。

      下面我们编写Struts部分,来实现登录功能的跳转。首先我们新建类struts.example.loginAction,新建name和password属性,并设定好getter和setter访问器。设定execute方法,该方法调用Users的hibernate类,来实现对数据库的操作。这些操作返回success字串或者error字串,这两个字串对应于struts.xml文件对应的结果页面。这个方法定义为:

public String execute(){
                   if(getName().equals("admin")&& getPassword().equals("123")){
                            return"success";
                   }else{
                            return"error";
                   }
}

      而struts.xml文件为:

<struts>
         <packagename="logincode" extends="struts-default">
                   <actionname="login" class="struts.example.LoginAction">
                            <resultname="success">/loginSuccess.jsp</result>
                            <resultname="error">/loginFail.jsp</result>
                   </action>
         </package>
</struts>

      这里仅仅通过简单的实例,说明登录过程在Struts的使用流程。在loginSuccess.jsp页面中,我们引入Userview对象,输出了其showuser方法的内容,代码为:

<%
                userview uv = new userview();
                out.println("aaaaa"+uv.showUsers());                          
%>

      通过以上步骤,我们将Struts和hibernate结合起来了,在登录判断时,这里简单的使用硬编码方式,在实际中,我们会读取数据库并完成判断。谨以此说明,更复杂的程序就可以基于此进行开发了。

      PS:tomcat 部署struts2.1必须删除xerces.jar文件 所有项目都得删除

参考

1.      QX项目实战-9.ActiveMQ编程实例

2.      QX项目实战-10.基础架构实验一:传递消息、序列化对象和数据库封装

3.      QX项目实战-11.基础架构试验二:反序列化对象、重写数据库

4.      QX项目实战-12.基础架构试验三:异构数据库同步

5.      QX项目实战-13.基础架构试验四:JavaWeb消息平台

你可能感兴趣的:(QX项目实战-14.Struts2+Hibernate整合)