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

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

1.版本

JDK1.50;Eclipse3.2;MyEclipse5.0;Tomcat5.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下的"WebProject",把上面的包放到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内容:

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="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的数据库-->

<beanid="dataSource"

class="org.apache.commons.dbcp.BasicDataSource"

destroy-method="close">

<propertyname="driverClassName">

<value>oracle.jdbc.driver.OracleDriver</value>

</property>

<propertyname="url">

<value>jdbc:oracle:thin:@192.168.6.4:1521:database</value>

</property>

<propertyname="username">

<value>username</value>

</property>

<propertyname="password">

<value>password</value>

</property>

</bean>

<!--定义HibernatesessionFactory和Hibernate映射文件,所有的Hibernate映射文件统一在这里定义-->

<beanid="sessionFactory"

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"

destroy-method="destroy">

<propertyname="dataSource"ref="dataSource"/>

<propertyname="mappingResources">

<list>

<!--Hibernate映射文件把Hibernate的配置文件在这里映射,这里定义了一个UUser类的持久化类映射文件-->

<value>com/yondor/yuejiao/orm/UUser.hbm.xml</value>

</list>

</property>

<propertyname="hibernateProperties">

<props>

<propkey="hibernate.dialect">

org.hibernate.dialect.Oracle9Dialect

</prop>

</props>

</property>

</bean>

<!--SpringhibernateTemplate模板定义-->

<beanid="hibernateTemplate"

class="org.springframework.orm.hibernate3.HibernateTemplate">

<propertyname="sessionFactory"ref="sessionFactory"/>

</bean>

<!--Hibernate数据模型Bean定义-->

<beanid="dbDAO"

class="com.yondor.yuejiao.model.common.DbDAO">

<propertyname="hibernateTemplate"ref="hibernateTemplate"/>

</bean>

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

<!--User模块开始定义的bean可以在web-config.xml配置文件中使用-->

<beanid="userDAO"

class="com.yondor.yuejiao.model.example.UserDAO">

<propertyname="dbDAO"ref="dbDAO"/>

</bean>

<!--User模块结束-->

</beans>

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

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="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方法调用规则定义-->

<beanid="paraMethodResolver"

class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">

<propertyname="paramName"value="action"/>

<propertyname="defaultMethodName"value="list"/>

</bean>

<!--页面View层基本信息设定-->

<beanid="viewResolver"

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<propertyname="viewClass"

value="org.springframework.web.servlet.view.JstlView"/>

<propertyname="prefix"value="/yuejiao/"/>

<propertyname="suffix"value=".jsp"/>

</bean>

<!--servlet映射列表,所有控制层Controller的servlet在这里定义-->

<beanid="urlMapping"

class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

<propertyname="mappings">

<props>

<propkey="example.do">userController</prop>

</props>

</property>

</bean>

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

<!--User模块开始-->

<!--一共注入了7个属性(Bean),其中userDAO为业务逻辑Bean,该Bean定义在model-config.xml相应的模块中-->

<beanid="userController"

class="com.yondor.yuejiao.controller.example.UserController">

<propertyname="methodNameResolver"ref="paraMethodResolver"/>

<!--使用了在model-config.xml文件里定义userDAO-->

<propertyname="userDAO"ref="userDAO"/>

<!--以下的属性与处理后的跳转有有关-->

<propertyname="login_success"value="example/login_success"/>

<propertyname="login_failure"value="example/login"/>

<propertyname="register_success"value="example/register_success"/>

<propertyname="register_failure"value="example/register"/>

<propertyname="userInfoList"value="example/list"/>

</bean>

<!--User模块结束-->

</beans>

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

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appxmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://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>

相关推荐