`
Messi光明
  • 浏览: 53974 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

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>
分享到:
评论

相关推荐

    员工考勤系统.docx

    员工考勤系统.docx

    基于STM32的调试模块的外设和时钟电路分析

    基于STM32的调试模块的外设和时钟电路分析。回顾 CMSIS、LL、HAL 库

    基于 UDP 的分布式毫米波雷达python代码.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    pyzmq-25.1.1b2-cp36-cp36m-musllinux_1_1_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    grpcio-1.7.0-cp35-cp35m-macosx_10_7_intel.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    免费的浏览器内JSON到 CSV 转换器

    在处理 JSON 数据时,尤其是为了便于分析和共享,常常需要将其转换为 CSV 格式。免费的浏览器内 JSON 到 CSV 转换器为用户提供了简便而高效的方法来完成这一任务,无需额外的软件安装。这些工具通常基于 JavaScript,直接在浏览器中运行,适合开发者、数据分析师及其他需要转换数据格式的用户。 ### **免费 JSON 到 CSV 转换器的概述** **功能介绍** 1. **无安装要求** - **浏览器运行**:无需下载或安装任何软件,用户只需通过浏览器访问相应的在线工具,即可进行 JSON 到 CSV 的转换。 - **跨平台支持**:兼容 Windows、macOS、Linux 等操作系统,以及各种浏览器(如 Chrome、Firefox、Edge)。 2. **用户界面** - **简洁直观**:通常提供一个简单的文本框用于输入或粘贴 JSON 数据,并带有一个按钮或选项来触发转换。 - **即时转换**:点击转换按钮后,立即生成 CSV 数据,并提供下载链接或直接显示转换结果,便于复制或导出。 3. **支持大部分 JSON

    miflash_unlock.zip

    miflash_unlock.zip

    模型转换-OpenVINO模型IR-XML转换为onnx模型-附项目源码+使用教程-优质项目实战.zip

    模型转换_OpenVINO模型IR-XML转换为onnx模型_附项目源码+使用教程_优质项目实战

    pyzmq-25.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    测试1111111111111111

    测试1111111111111111

    Hume AI发掘AI新赛道 大模型为人类提供情绪价值

    OpenAI在推出GPT-4之后,大模型各方面的功能都再次升级,但是聊天功能方面人工智能的回复还是过于理性,不能满足人类想要的情绪价值。不过为人类提供情绪价值,让聊天回复更像真人这件事儿,有个大模型正在做。不久前,Hume AI 宣布推出首个基于大语言模型的语音对话式聊天助手EmpatHic Voice Interface(EVI),主打一个“有情商”。

    人脸识别matlab代码.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    18细石混凝土楼地面工程.doc

    18细石混凝土楼地面工程

    grpcio-1.22.1-cp35-cp35m-win_amd64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    grpcio-1.7.3-cp35-cp35m-macosx_10_7_intel.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    cryptography-2.9.1-cp35-abi3-macosx_10_9_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    02现浇顶板内管路敷设工程.doc

    02现浇顶板内管路敷设工程

    HTML+Jquery的打地鼠小游戏源代码

    HTML+Jquery的打地鼠小游戏源代码

    ipython-0.7.3-py2.5.egg

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    grpcio-1.23.0-cp34-cp34m-win_amd64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

Global site tag (gtag.js) - Google Analytics