日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

解讀applicationcontext.xml_JSP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:jsp如何獲取瀏覽者真實IP地址方法
我們知道在JSP里,獲取 網(wǎng)頁 客戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了Apache,Squid等反向代理軟件就不能獲取到客戶端的真實IP地址了。如果使用了反向代理軟件,用request.getRemoteAddr()方法獲取

   在看<<項目實踐精解:基于Struts-Spring-Hibernate的Java應用開發(fā)>> 過程中對里面的一些概念不熟悉,在網(wǎng)上搜搜資料,解釋一下applicationcontext.xm

我們以項目中的訂單Order為例簡要說明一下SpringHibernate的集成。關于如何使用Hibernate來對數(shù)據(jù)庫表做映射,我們在前面已經(jīng)做了介紹,這里我們關心的是如何配置Spring,使它能管理Hibernate。其實,只要在Spring的配置文件(我們這里是applicationContext.xml中配置一個叫做sessionFactorybean,Spring就可以和Hibernate聯(lián)系起來了。
<bean id="sessionFactory" class="org.springframework.orm.hibernate.Local SessionFactoryBean">
    <property name="configLocation">
    <value>com/ascent/bean/hibernate.cfg.xml</value>
    </property>
</bean>
樣,SpringHibernate的第一步整合就完成了,現(xiàn)在到了關鍵的地方—如何讓SpringHibernate雙劍合璧來實現(xiàn)業(yè)務邏輯?
還是在applicationContext.xml文件中先做一個配置。
<bean id="transactionManager" class="org.springframework.orm.hibernate. HibernateTransactionManager">
    <property name="sessionFactory">
      <ref local="sessionFactory"/>
    </property>
  </bean>
在上面你大概可以感覺到Spring給我們帶來的好處了,SpringIoC模式可以統(tǒng)一管理各層,而又使各層松散耦合在一起,使各層之間實現(xiàn)最大的解耦性,這也是Web架構一向的追求。
但是,Spring帶來的好處還不止于此,除了IoC還有AOP,Spring可以運用AOP來實現(xiàn)很多功能,最常用的就是事務處理。這里我們用了業(yè)務服務(business service)層和數(shù)據(jù)存取對象(Data Access Object)層,在業(yè)務服務層我們增加事務處理,數(shù)據(jù)存取對象層負責數(shù)據(jù)讀寫。
首先,組裝配置好Service Beans。
<bean id="orderService" class="org.springframework.transaction.interceptor. TransactionProxyFactoryBean">
    <property name="transactionManager">
      <ref local="transactionManager"/>
    </property>
    <property name="target">
      <ref local="orderTarget"/>
    </property>
    <property name="transactionAttributes">
      <props>
        <prop key="find*">PROPAGATION_REQUIRED,readOnly,-OrderException</prop>
        <prop key="save*">PROPAGATION_REQUIRED,-OrderException,-OrderMinimum AmountException</prop>
      </props>
    </property>
  </bean>
之后,需要把業(yè)務服務對象和數(shù)據(jù)存取對象也組裝起來,并把這些對象配到一個事務管理器(transaction manager)里。
Spring中的配置信息。
<bean id="orderTarget" class="com.ascent.business.service.OrderServiceImpl">
    <property name="orderDAO">
      <ref local="orderDAO"/>
    </property>
  </bean>
 
<bean id="orderDAO" class="com.ascent.dao.hibernate.OrderHibernateDAO">
    <property name="sessionFactory">
      <ref local="sessionFactory"/>
    </property>
  </bean>
6-10是項目對象搭建的一個提綱。從中可以看出,每個對象都聯(lián)系著Spring,并且能通過Spring注入到其他對象。把它與Spring的配置文件比較,觀察他們之間的關系。
Spring就是這樣基于配置文件,將各個Bean搭建在一起的。
這里我們使用一個TransactionProxyFactoryBean,它定義了一個setTransactionManager(),這個對象很有用,它能很方便地處理你申明的Service Object中的事物,你可以通過transaction Attributes屬性來定義怎樣處理。
TransactionProxyFactoryBean還有個setter,這會被業(yè)務服務對象(orderTarget)引用,orderTarget定義了業(yè)務服務層,并且它還有個屬性,由setOrderDAO()引用這個屬性。
還有一點要注意,bean可以用兩種方式創(chuàng)造,這些都在單例模式(Sington)和原型模式(propotype)中定義了。默認的方式是singleton,這意味著共享的實例將被束縛,而原型模式是在Spring用到bean的時候允許新建實例的。當每個用戶需要得到他們自己BeanCopy時,你應該僅使用prototype模式。
 
這樣,SpringHibernate就完成了對業(yè)務對象的管理。

分享:解讀J2EE實現(xiàn)大文件上傳辦法(代碼)
這個代碼主要利用flash進行客戶端控制,用ServletFileUpload類進行文件上傳,具有一定的參考價值,代碼很簡單,只做一處說明。 代碼:UploadFilesAction.java中需要注意的地方 上傳過程中,看到了么,有綠色的進度條顯示,挺漂亮 最終在我的E盤upload目錄里找到了

來源:模板無憂//所屬分類:JSP教程/更新時間:2010-02-26
相關JSP教程