Eclipse下搭建Spring MVC + Hibernate开发环境

这里主要讲在Eclipse下如何搭配Spring MVC + Hibernate框架进行Web开发,至于Eclipse以及JDK以及MyEclipse等的安装不在此列,也不使用MyEclipse来搭建,只是手工搭建的方式。

1.版本

JDK1.50;Eclipse3.2;MyEclipse 5.0;Tomcat 5.0;Spring2.0;Hibernate3.2。

2.准备

安装好Eclipse和JDK环境,由于不使用MyEclipse,需要自行准备两个主要的包:Spring.jar包、Hibernate3.jar,还有commons-dbcp.jar,commons-pool.jar,spring-orm.jar等这些包;这些表都可以在相应的项目网站中下载到,或者网上搜索。

安装好后Lib下包会有:

activation.jar

antlr-2.7.6.jar

asm.jar

cglib-2.1.3.jar

commons-beanutils.jar

commons-collections.jar

commons-collections-2.1.1.jar

commons-digester.jar

commons-fileupload.jar

commons-logging.jar

commons-logging-1.0.4.jar

commons-validator.jar

dom4j-1.6.1.jar

ehcache-1.2.jar

jakarta-oro.jar

jstl.jar

jta.jar

log4j-1.2.11.jar

mail.jar

ojdbc14.jar

standard.jar

以下几个是比较重要的:

commons-dbcp.jar

commons-pool.jar

hibernate3.jar

spring.jar

spring-orm.jar

如果要用到Struts,会有一个struts.jar包。

3.搭建:

首先在"File"菜单下"new" 一个"Project",选择"Other"下的MyEclipse下的"Web Project",把上面的包放到WebRoot/WEB-INF/lib下;

建立好工程后,我们在项目下的WebRoot/WEB-INF/下新建两个.xml文件,名字可以随便起(也可新建一个,内容和两个文件里面的内容一样即可),在这里命名为web-config.xml和model-config.xml,顾名思义,web-config.xml下配置和servlet以及控制逻辑等与WEB相关的bean,model-config.xml下配置与数据模型层相关的Bean,如数据访问的bean。

以下是model-config.xml内容:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

    <!-- 设定数据库连接池相关参数,这里使用的是Oracel的数据库 -->
    <bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource"
    destroy-method="close">
   <property name="driverClassName">
    <value>oracle.jdbc.driver.OracleDriver</value>
   </property>
   <property name="url">
    <value>jdbc:oracle:thin:@192.168.6.4:1521:database</value>
   </property>
   <property name="username">
    <value>username</value>
   </property>
   <property name="password">
    <value>password</value>
   </property>
</bean>
   
    <!-- 定义Hibernate sessionFactory 和Hibernate映射文件,所有的Hibernate映射文件统一在这里定义 -->
    <bean id="sessionFactory"
          class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
          destroy-method="destroy">
        <property name="dataSource" ref="dataSource"/>
        <property name="mappingResources">
            <list>
<!-- Hibernate映射文件 把Hibernate的配置文件在这里映射,这里定义了一个UUser类的持久化类映射文件 -->
                <value>com/yondor/yuejiao/orm/UUser.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.Oracle9Dialect
                </prop>
            </props>
        </property>
    </bean>
   
    <!-- Spring hibernateTemplate 模板定义 -->
    <bean id="hibernateTemplate"
          class="org.springframework.orm.hibernate3.HibernateTemplate">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>
     

<!-- Hibernate数据模型Bean定义 -->        
    <bean id="dbDAO"
           class="com.yondor.yuejiao.model.common.DbDAO">
        <property name="hibernateTemplate" ref="hibernateTemplate"/>
    </bean>


<!-- 以下是业务逻辑Bean的定义 -->

<!-- User模块开始 定义的bean可以在web-config.xml配置文件中使用-->
    <bean id="userDAO"
           class="com.yondor.yuejiao.model.example.UserDAO">
        <property name="dbDAO" ref="dbDAO"/>
     </bean>  
    <!-- User模块结束 -->

</beans>



以下是web-config.xml的内容:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
  
   <!-- Controller方法调用规则定义 -->
    <bean id="paraMethodResolver"
        class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
        <property name="paramName" value="action"/>
        <property name="defaultMethodName" value="list"/>
    </bean>
  
   <!-- 页面View层基本信息设定 -->
    <bean id="viewResolver"
          class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/yuejiao/"/>
        <property name="suffix" value=".jsp"/>
    </bean>



<!-- servlet映射列表,所有控制层Controller的servlet在这里定义 -->
    <bean id="urlMapping"
          class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="example.do">userController</prop>
            </props>
        </property>
    </bean>


<!-- 以下控制层Controller Bean定义开始 -->

<!-- User模块开始 -->
<!-- 一共注入了7个属性(Bean),其中userDAO为业务逻辑Bean,该Bean定义在model-config.xml相应的模块中 -->
    <bean id="userController"
                class="com.yondor.yuejiao.controller.example.UserController">
        <property name="methodNameResolver" ref="paraMethodResolver"/>

       <!-- 使用了在model-config.xml文件里定义userDAO-->
        <property name="userDAO" ref="userDAO"/>
        <!-- 以下的属性与处理后的跳转有有关 -->
        <property name="login_success" value="example/login_success"/>
        <property name="login_failure" value="example/login"/>
        <property name="register_success" value="example/register_success"/>
        <property name="register_failure" value="example/register"/>
        <property name="userInfoList" value="example/list"/>
    </bean>
    <!-- User模块结束 -->
   
   
    
</beans>



最后,还需要配置一下web.xml文件,内容如下:

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

    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>

    <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/model-config.xml,/WEB-INF/web-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>

猜你喜欢

转载自1185734295.iteye.com/blog/1913687