理解Spring+SpringMVC+Hibernate开发流程,附一定源码(一)

本例采用Eclipse实现spring+springMVC+hibernate项目的建立,在项目建立的过程中进行一定讲解,方便理解是如何开发使用spring+springMVC+hibernate的思想。

接下来是具体的开发步骤:

一、初步开发环境搭建

1.使用Eclipse创建一个dynamic web project,并在lib下导入开发所需、相应的包,可以在文末尾下载。(主要包括Spring、Hiberrnate、log4j、jdbc等的相关包)
2.修改WebRoot根目录下WEB-INF 文件夹下的配置文件Web.xml
web.xml。配置Web.xml的意义就是集成SpingMVC和Hibernate框架,简单的说,就是告诉系统我要用SpingMVC和Hibernate这两种技术了。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

配置SpringMVC的核心控制器 DispatcherServlet(前端控制器)

  <servlet>
    <servlet-name>city</servlet-name> <!-- 注意名称,要在web.xml同级目录下给这个核心控制器编写配置文件 -->
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>city</servlet-name>
    <url-pattern>/</url-pattern><!-- 过滤地址类型 -->

配置编码过滤器
该过滤器位于org.springframework.web.filter包中,指向类CharacterEncodingFilter是SpringMVC所提供的。

</servlet-mapping><filter>
        <filter-name>CharacterFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
创建Spring的监听器
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener><!-- 在web容器启动时,自动装配ApplicationContext的配置信息 -->

  <context-param>
    <param-name>contextConfigLocation</param-name>
   <param-value>classpath*:beans.xml</param-value>
  </context-param> <!-- 设置Spring容器加载配置文件路径  Spring 的监听器可以通过这个上下文参数来获取beans.xml的位置 --> 

上面的这个配置很重要,这个配置就是Spring+Hibernate思想的体现, 经过对contextConfigLocation的配置就可以在beans.xml中设置Hibernate的对应配置
ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext.xml的配置信息。ApplicationContext.xml的文件位置就可以有两种默认实现:
第一种:直接将之放到/WEB-INF下,之后在web.xml中声明一个listener。
第二种:将之放到classpath下,但是此时要在web.xml中加入,用它来指明你的applicationContext.xml的位置以供web容器来加载。
这里再说一下ApplicationContext的作用:
读取bean配置文档;管理bean的加载;实例化;维护bean之间的依赖关系;负责bean的声明周期;国际化支持;资源访问:Resource rs = ctx. getResource(“classpath:config.properties”), “file:c:/config.properties”
事件传递:通过实现ApplicationContextAware接口


  <!-- Spring中提供了 org.springframework.orm.hibernate3.support.OpenSessionInViewFilter;
  这个类来实现OpenSessionInViewer的操作 -->
  <filter>
        <filter-name>openSessionInViewerFilter</filter-name><!-- 配置Session -->  
        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>openSessionInViewerFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>
  因为我们在web.xml里配置了一个叫servlet的核心控制器 所以我们需要在web.xml同级目录下给这个核心控制器编写配置文件,配置文件名就是你的<servlet-name>标签里的名字+‘-servlet’,比如上文的web.xml文件<servlet-name>是'city',那这个配置文件的名字就叫city-servlet.xml。这样你的核心控制器指向的就是src根目录下的city-servlet.xml文件了。**这个servlet.xml文件里面存放的就是关于Spring的配置**,可以在一定程度上理解为这个文件实现的就是Spring中applicationContext.xml的作用。

3.接下来对核心控制器的配置文件进行配置
city_servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns<
  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值