Hibernate+Spring+Struts2+ExtJS开发CRUD功能(1)

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

1、  入门:

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

Hibernate:3.x  http://www.hibernate.org/ 需要hibernate core 和annotations 包。

Spring:2.x http://springframework.org/

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

ExtJS:2.X http://extjs.com/

JSON:JSON可以到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>

(2)Hibernate配置:

<?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>

(3)Spring基本配置:配置文件应该在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="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

        <property name="configLocation">

            <value>classpath:hibernate.cfg.xml</value>

        </property>

        <!--   配置多个hibernate.cfg.xml

            <property name="configLocations">

            <list>

            <value>classpath:hibernate_admin1.cfg.xml</value>

            <value>classpath:hibernate_admin2.cfg.xml</value>

            </list>

            </property>

        -->

    </bean>

    <!-- Hibernate 事务管理  -->

    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

        <property name="sessionFactory" ref="sessionFactory" />

    </bean>

<bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">

        <property name="transactionManager" ref="transactionManager" />

        <property name="transactionAttributes">

            <props>

                <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>

                <prop key="persist*">PROPAGATION_REQUIRED,-Exception</prop>

                <prop key="remove*">PROPAGATION_REQUIRED,-Exception</prop>

                <!--

                    <prop key="insert*">PROPAGATION_REQUIRED</prop>

                    <prop key="save">PROPAGATION_REQUIRED</prop>

                    <prop key="update*">PROPAGATION_REQUIRED</prop>

                    <prop key="edit*">PROPAGATION_REQUIRED</prop>

                    <prop key="del*">PROPAGATION_REQUIRED</prop>

                    <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>

                    <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>

                    <prop key="disPlay*">PROPAGATION_REQUIRES_NEW</prop>

                -->

            </props>

        </property>

    </bean>

 

    <bean id="LevelService" parent="baseTransactionProxy">

        <property name="target">

            <bean class="privilege.service.LevelService">

                <property name="dao">

                    <bean class="privilege.dao.LevelDAO">

                        <property name="sessionFactory" ref="sessionFactory" />

                    </bean>

                </property>

            </bean>

        </property>

    </bean>

    <bean id="LevelAction" class="privilege.action.LevelAction">

        <property name="levelService" ref="LevelService" />

    </bean>

 </beans>

(4)struts.xml文件的配置:

<!DOCTYPE struts PUBLIC  

        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  

        "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

    <package name="privilege" extends="struts-default">

        <action name="LoadLevel" class="LevelAction" method="findLevelById">

            <result>/resource/json_struts2.jsp</result>

        </action>

        <action name="LevelAjaxJsonData" class="LevelAction" method="jsonExecute">

            <result>/resource/json_struts2.jsp</result>

        </action>

    </package>

</struts>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值