对基于Spring-Structs-Hibernate做的一个小项目的理解

来源:互联网 发布:d3.js和echarts 对比 编辑:程序博客网 时间:2024/06/14 03:19

  首先我们要谈谈WEB项目的一个模型,即大名鼎鼎的MVC模型!

  M即model,模型的意思。这个部分封装了项目的业务逻辑和数据库操作,来为视图提供操作。什么是项目的业务逻辑呢?就是你这个项目要实习的功能之间的逻辑关系,需要你通过代码的方式来实现,比如,我要查询月薪大于5000的人,这就是一个业务逻辑,常常体现在你的SQL语句中,还有你代码结构中的IMP层级。数据库操作常常指DAO层执行的SQL语句的代码和SERVICE层做的对数据操作的事务的处理。

  V即view,视图的意思。视图主要是用来向用户展示画面的。他包括在页面上输入参数向后台(即服务器)发送请求,从后台接收返回的数据并显示在页面上这两个主要功能,这里边主要是一些页面,静态的html和动态的jsp。页面在输入了参数之后,就可以向服务器发送请求,服务器在接收请求之后找到调用的程序来处理,直到从数据库中获取响应的数据然后返回给页面,页面适应指定的方式来接收这些内容。

  C即control,控制的意思。那么它控制什么呢?就是控制前台页面如何发送请求,和发送请求给哪个程序部分来处理,程序部分处理之后如何返回给前台页面。也就是说,它控制了view和model的交互,甚至控制了对数据库的操作。

  简单讲完了MVC设计模式,下面我们来讲一讲我们通过Spring-Struct2-Hibernate这三个框架来完成的一个简单的WEB小项目。

  在视图层,我们用到了Struct2的标签库,这个标签库很强大,它不依赖任何的包,且结合OGNL的话功能会很强大,可以进行数据内容的显示。

  当视图层的一个请求发出之后,这个请求首先被整个web项目的web.xml文件来处理,所以我们在其中配置了struct2的一个过滤器(StrutsPrepareAndExecuteFilter)和监听器(ContextLoaderListener)和指定了spring框架的配置文件位置(通常为classpath:applicationContext*.xml)。在spring的配置文件applicationContext.xml中,我们利用它同意管理了各种对象,包括Hibernate的sessionFactory对象,各种dao对象,service对象,事务管理对象等等。在struct2的配置文件struct.xml中,我们配置了自定义的拦截器和<action>节点,这个节点用来标明处理请求的类和处理完请求要去的页面。在处理请求的类中,我们来通过SPRING配置文件注入的service对象调用之前编写好的DAO和SERVICE的方法来操作数据。操作完成之后我们通过struct.xml配置文件指定要去的页面,并在页面中通过将操作数据的结果放入的域对象来显示内容。如此,一个完整的请求和处理显示就完成了。

  在此过程中,我们还要说四点。

  一是数据库的属性配置问文件,db.properties。它通过spring的place-holder来引入。

  二是,hibernate的cfg配置文件。它主要配置了session-factory的一下数据库的其他信息,如方言,是否打印日志等。

  三是,hibernate的hbm配置文件。一个javabean对应一个相应的hbm.xml文件,它将数据库中的表和Java对象关联了起来。

  四是,我们在用户名称时用到了jquery和ajax技术,是一种很好的验证方式,是一种异步请求验证的方式,节省资源。

  综上,是对这个项目的简单理解。






















 

原创粉丝点击