我的手的

news/2024/11/7 11:00:57/

struts1.2+spring2.0+hibernate3.1+dwr2.0组合:
 

1. 页面不解析${}
    servlet2.5缺省不支持jstl2.0,要在jsp中写上
    <@ page isELIgnored="false" @>
2. 报事务readonly问题
    要注意,所有主从表关系的表,在修改或保存时,都要先查再改。
3. 用spring输出sql
 <beans>
  <bean id="localSessionFactory"
   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
   <property name="configLocation">
    <value>classpath:hibernate.cfg.xml</value>
   </property>
                 <property name="hibernate.properties">
     <props>
       <prop key="hiberante.show_sql">true</prop>
     </props>
   </property>
  </bean>
 </beans>


4.在web.xml文件中注册,默认读取WEB-INF/下的applicationContext.xml文件
  <servlet>
    <servlet-name>context</servlet-name>
    <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>  
    <load-on-startup>1</load-on-startup>
  </servlet>

5.可以使用监听器,将applicationContext.xml放在src下面
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/classes/applicationContext.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

6.在struts中注册插件,认识Spring
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in>

type="org.springframework.web.struts.DelegatingActionProxy"


7.或是使用截获RequestProcesser

<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller>


    一、ssh组合用eclipse5.5时出现的情况
1. 导入struts1.2
2. 导入spring2.0
3. 导入hibernate3.1
4. 去掉asm2.2.3.jar包,分别从引用与web-inf/lib下删除
5. 增加commons-pool.jar包
6. 增加jstl的jar 包

二、ssh组合用eclipse6.0时的情况
  1. 导入struts1.2
  2. 导入spring2.0,jar包全选,保持存在
  3. 导入hibernate3.1,jar包全选,保存存在
  4. 去掉asm2.2.3.jar/antlr/c3p/common-collections/commons-lang/commons-logging/ehcatch/log4j包,分别从引用与web-inf/lib下删除
  5. 增加jstl的jar 包
  6. 增加mysql.jar包
  7. 增加dwr2.0.jar包

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

    <bean id="ub" class="org.bean.UserBean" scope="singleton/prototype">
    </bean>
  </beans>

2. spring1.2
  <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
    <bean id="userdao" class="c2.springaop.UserDao" singleton="true" />

3. 事务
    <!-- 1.2的事务-->
    <bean id="proxy" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
      <property name="beanNames">
        <list>
          <value>*Biz</value>
        </list>
      </property>
      <property name="interceptorNames">
        <list>
          <value>tranc</value>
        </list>
      </property>
    </bean>
    <bean id="tranc" class="org.springframework.transaction.interceptor.TransactionInterceptor">
      <property name="transactionManager" ref="tm"></property>
      <property name="transactionAttributes">
        <props>
          <prop key="get*">PROPAGATION_REQUIRED</prop>
          <prop key="find*">PROPAGATION_REQUIRED</prop>
          <prop key="save*">PROPAGATION_REQUIRED</prop>
          <prop key="update*">PROPAGATION_REQUIRED</prop>
          <prop key="delete*">PROPAGATION_REQUIRED</prop>
        </props>
      </property>
    </bean>

    <我们现在采用的是事务2.0>
    <!-- 2.0事务 -->


 <bean id="tm"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory"></property>
 </bean>


    <tx:advice id="txadvice" transaction-manager="tm">
      <tx:attributes>
        <tx:method name="get*" propagation="REQUIRED" />
        <tx:method name="find*" propagation="REQUIRED" />
        <tx:method name="update*" propagation="REQUIRED" />
        <tx:method name="delete*" propagation="REQUIRED" />
        <tx:method name="save*" propagation="REQUIRED" />
      </tx:attributes>
    </tx:advice>
    <aop:config>
      <aop:pointcut id="bizs" expression="execution(* org.bbs.spring.biz.*.*(..))" />
      <aop:advisor advice-ref="txadvice" pointcut-ref="bizs" />
    </aop:config>


    7. spring中配置显示sql
   在sessionFactory中加上:
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
    <prop key="hibernate.show_sql">true</prop>
   </props>   
  </property>


http://www.ppmy.cn/news/180468.html

相关文章

握手跟挥手

三次握手 TCP是因特网中的传输层协议,使用建立连接,完成三次握手,与服务器开始传送 第一次握手 建立连接时,发送包(synj)到服务器,并进入等待状态,等待服务器确认SYN;同步序列编号 第二次握手:服务器 第二次握手:收到SYN包,必须确认客户的SYN(synj1),同时自己也发送一个SYN…

手生了

竟有这么多天没有写过东西了本身早已不习惯了用笔写东西但是我还不想自己连写点什么的欲望都没有每天记录点点滴滴的感受、对这个世界发发牢骚也应该是我的一大爱好才队&#xff0c;如今我不能将它扔掉的。 每天要学习&#xff01;&#xff01;&#xff01;

练手

啊&#xff0c;突然发现CSDN的后台变了&#xff0c;特别柔和而简洁&#xff0c;谢谢&#xff01; 问同事借了一台卡西欧EX-S500&#xff0c;轻薄短小&#xff0c;适合随身携带。每天中午&#xff0c;我就揣着这台机器四处乱逛&#xff0c;希望能发现什么特殊事件&#xff0c;第…

手摸手教会你三次握手和四次挥手

文章目录 一、TCP的FLAG标记位的含义二、TCP建立连接的过程三、TCP关闭连接 一、TCP的FLAG标记位的含义 URG-----紧急 ACK------应答 PUSH----推送&#xff08;数据包立即发送&#xff09; RST-------复位&#xff08;中断一个连接&#xff09; SYN-------同步&#xff08;表示…

快速上手(三)

一、项目 Go 项目须放在 $GOPATH/src/项目 下&#xff0c;其大致结构如下&#xff1a; F:\GoPath ├── bin ├── pkg └── src└── hello // 项目1| └── hello.go // 项目中文件└── test // 项目2└── test.go 1.11 版本后引入 Module 包管理机制&a…

手指的状态

1、手指有三个关节&#xff0c;分别是指尖关节、指节中关节和指根关节。 它们通常被用于描述手指的运动。这三个关节的角度范围如下&#xff1a; 指尖关节&#xff1a;也称为近端指节&#xff0c;位于指尖和第二个关节之间。它允许手指向前弯曲&#xff0c;通常的弯曲范围为0到…

总手、现手

股市最小交易量是1手.为100股,对于一只股票最近的一笔成交量叫现手,从开盘到即时的成交量叫总手。现手数是说明电脑刚刚自动成交的那次成交量的大小。现手累计数就是总手数, 即成交量。总手数与流通股数的比称为换手率, 它说明持股人中有多少股是当天买入的。换手率高,说明买卖…