原创 Hibernate+Spring+Struts2+ExtJS开发CRUD功能收藏

新一篇: 用ExtJS 实现动态载入树(Load tree) | 旧一篇: Java Web开发模型新构思——Hibernate/JPA…+Spring+Struts2/DWR…+ExtJS

Hibernate+Spring+Struts2+ExtJS开发CRUD功能

1、  入门:

各种开源框架环境及下载:

Hibernate3.x  http://www.hibernate.org/ 需要hibernate core annotations 包。

Spring2.x http://springframework.org/

Struts22.x http://struts.apache.org/2.x/

ExtJS2.X http://extjs.com/

JSONJSON可以到http://www.json.org/ 查看详细内容,这里使用json-lib http://json-lib.sourceforge.net/

本所需要的包:

 

2、  配置:

1)首先是配置web.xml,配置方法可以在下面的配置文件代码注释中查看,这里主要是Struts2的配置:

    <filter>

        <filter-name>struts2</filter-name>

        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

    </filter>

    <filter-mapping>

        <filter-name>struts2</filter-name>

        <url-pattern>/*</url-pattern>

</filter-mapping>

Spring的配置:

    <context-param>

       <param-name>contextConfigLocation</param-name>

       <param-value>/WEB-INF/spring/*.xml</param-value>

</context-param>

    <listener>     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

Web.xml的全部文件:

<?xml version="1.0" encoding="UTF-8"?>

<web-app id="WebApp_ID" version="2.4" 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">

    <display-name>struts2</display-name>

    <!-- Spring ApplicationContext配置文件的路径,可使用通配符*,多个路径用,号分隔,此参数用于后面的Spring-Context loader -->

    <context-param>

        <param-name>contextConfigLocation</param-name>

        <param-value>/WEB-INF/spring/*.xml</param-value>   

    </context-param>

    <!-- 著名 Character Encoding filter -->

    <filter>

        <filter-name>encodingFilter</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>

 

    <!-- struts2 滤镜配置  -->

    <filter>

        <filter-name>struts2</filter-name>

        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

    </filter>

 

    <filter-mapping>

        <filter-name>struts2</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>

    <!--Spring ApplicationContext 载入 ,必须-->

    <listener>  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>

 

    <!-- Spring 刷新Introspector防止内存泄露 -->

    <listener>

    <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>

    </listener>

    <!-- session超时定义,单位为分钟 -->

    <session-config>

        <session-timeout>10</session-timeout>

    </session-config>

    <welcome-file-list>

        <welcome-file>index.html</welcome-file>

        <welcome-file>index.htm</welcome-file>

        <welcome-file>index.jsp</welcome-file>

        <welcome-file>default.html</welcome-file>

        <welcome-file>default.htm</welcome-file>

        <welcome-file>default.jsp</welcome-file>

    </welcome-file-list>

</web-app>

2Hibernate配置:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC

        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

    <!—-数据库驱动类名称 -->

        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>

    <!—-数据库用户名 -->

<property name="hibernate.connection.username">MY</property>

        <property name="hibernate.default_schema">MY</property>

    <!—-数据库用户密码 -->

        <property name="hibernate.connection.password">MY</property>

    <!—-数据库连接字符串-->

        <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:loon</property>

        <property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>

    <!—-控制台是否输出SQL语句 -->

        <property name="hibernate.show_sql">true</property>

        <mapping class="privilege.database.Level" />

    </session-factory>

</hibernate-configuration>

3Spring基本配置:配置文件应该在WEB-INF/spring/下面

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans default-autowire="autodetect">

    <!—如果用的是XML配置文件,sessionFactory用这个配置 "org.springframework.orm.hibernate3.LocalSessionFactoryBean" -->

    <bean id="sessionFactory" class="o