成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

整合SSH-DWR等技術過程分析

開發 后端
本篇文章主要介紹ssh整合技術全過程總結分析為了更清晰的分析ssh整合的流程,(也是為了鞏固自己所學的)在這里我將要先分析整合步驟,然后在將步驟細化分析(根據我所了解的)。

ssh整合技術全過程總結分析

為了更清晰的分析ssh整合的流程,(也是為了鞏固自己所學的)在這里我將要

先分析整合步驟,然后在將步驟細化分析(根據我所了解的)。部分代碼塊可能也

將貼出。

ssh整合步驟:

***步:添加支持

1:建表、配置數據庫連接(切換到database視圖或hibernate視圖)

2:循序添加hibernate、spring、struts支持(切換到j2ee視圖,建web工程,

添加hibernate、spring、struts(myeclipse菜單-->add project-->hibernate、spring、struts)

說明:在整合了spring時候hibernate無需創建sessionfactory也就說在添加hibernate支持時候不

需要勾上那個創建sessionfactory的勾

3:生成pojo類,創建dao包將DAO類放在一起(切換到database視圖或hibernate視圖找到相應的數據庫中的表右鍵:Hibernate Reverse

Engineering)

選項說明:Java src folder 選擇所在項目的src目錄 下面多選框下面前三個都勾上

對于pojo類的映射文件配置。需注意表級聯問題,未配置好可能導致某些操作失敗(操作主表時,從表也同時操作.):在映射文件后面的set 設置cascade 屬性。如:

cascade = save-update(級聯添加) 同時添加主表和n個從表 、cascade = all 都級聯

4:如果涉及到DWR 那么還得把DWR開發包拷在lib下,dwr.xml、dwr20.dtd(提示文件)復制到WEB-INF

目錄下(至于怎么配置,下面我們詳細貼出)

第二步:后臺業務、.xml文件配置(如果是用MyEclipse6.5 開發的可能會出現個金典異常,解決辦法就是 選擇項目->Build Path->Configure

->Libraries 中Remove asm-2.2.3.jar 開發包 ,再lib下delet)

1:開始寫業務層,抽取接口類。寫dao層。因為業務層是調用dao層的,所以先把業務寫好了就算完成了第二

步就算完成半了。

2:可以選擇配置web.xml文件。

1)為spring支持的applicationContext.xml文件指定路徑配置(默認會認為在WEB-INF下面)

代碼:

  1.     
  2. <context-param> 
  3.  <param-name>contextConfigLocationparam-name> 
  4.  <param-value>classpath:app*.xmlparam-value> 
  5. context-param> 

 

 

2)為了避免在事務還沒完成session就關閉的情況我們可以設置OpenSessionInViewFilter過濾器。這是

涉及到懶加載的問題。其實還有幾種常見的方法可以避免。如:在pojo類的主鍵映射文件中的set

添加一個屬性為 lazy="false" (立即加載關聯表,默認為true) 還有種就是用代碼控制立即加載關鍵

字 fetch。如:join fetch from A a join fetch a.

  1.    (映射可以是所有文件)  
  2. <filter> 
  3.  <filter-name>openssionfilter-name> 
  4.  <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilterfilter-class> 
  5. filter> 

 

 

3)為了解決編碼問題的過濾器(映射可以是所有文件)

  1. <filter> 
  2.  <filter-name>encodingfilter-name> 
  3.  <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class> 
  4. filter> 

 

 

4)配置文件加載的監聽器 (沒有映射)

  1. <listener> 
  2.  <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class> 
  3. listener> 

 

 

5)配有DWR就必須為之注冊

  1.   <servlet> 
  2. <servlet-name>dwrservlet-name> 
  3. <servlet-class>org.directwebremoting.servlet.DwrServletservlet-class> 
  4. <init-param> 
  5.  <param-name>debugparam-name> 
  6.  <param-value>trueparam-value> 
  7. init-param> 
  8.  servlet> 
  9.  <servlet-mapping> 
  10. <servlet-name>dwrservlet-name> 
  11. <url-pattern>/dwr/*url-pattern> 
  12.  servlet-mapping> 

 

 

說明:如果是整合ssh2 時候就可能在DWR測試時候會報錯因為ssh2的核心過濾器會將其攔截,導致

測試時候報錯。解決辦法我們將在下一篇ssh2整合流程分析講解給出具體解決方案

(上面的映射文件可以是所有文件)

3:現在可以創建action類了、及配置。控制

添加了struts支持就會在web.xml中自動注冊核心控制器 ActionServlet

這里涉及到核心控制器的工作流程了。在action中會重寫execute方法。簡單說客戶端發送HTTP請求,都會被核心控制器攔截

核心控制器請求填充ActionForm.再轉到Action.在Action中我們只要將form中的信息填充到

我們自己的ActionForm中就可以了如: 部門表Form類 部門Form(將form中信息填充到該form中) = (部門表Form) form;

要說的幾點需注意:

1)注冊頁面:注意action是.do結尾

2)寫類,繼承ActionForm(FormBean),界面屬性,并生成set/get方法

(類型可以是: 8種基本數據類型級包裝類和它們組成的數組。 還可以 String,java.sql.Date及其數組)

3)寫類,繼承Action,重寫execute方法,調用業務 。可以一個action類處理一個業務,也可在一個

action類中處理多個業務,就必須這樣幾個地方。 在頁面action .do后面可添加一個參數p="xx",

在struts-config.xml-> action-mapping->action 中添加屬性 parameter="p" 在請求的action類中直接

獲取參數p的值,在調用對應的方法。

4)在WEB-INF建struts-config.xml文件,注冊actionForm,action

并確定界面/actionForm/Action三者的關系.

action具體配置文件struts-config.xml:

代碼:

1.配置actionForm

 

  1. <form-beans> 
  2.   <form-bean name="" type=""> 
  3.   form> 
  4. form-beans> 

 

 

2.配置action

 

  1. <action-mappings> 
  2.     <action path="/emp" parameter="" type="action類/代理"> 
  3.     action> 
  4.  action-mappings> 

 

 

說明:/emp jsp頁面中action 的 emp.do? 代理類:type="org.springframework.web

.struts.DelegatingActionProxy"

4:配置spring的applicationContext.xml

添加了spring支持的主要特點是IOC(控制反轉,依賴注入),AOP(面向切面編程)大大降低

層與層之間的耦合度。就關系的事務了。要做的***件事就是換文件頭子。

1)換文件頭子

 

  1. xml version="1.0" encoding="UTF-8"?> 
  2.   <beans xmlns="http://www.springframework.org/schema/beans" 
  3.  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  4.  xmlns:util="http://www.springframework.org/schema/util" 
  5.  xmlns:p="http://www.springframework.org/schema/p" 
  6.  xmlns:aop="http://www.springframework.org/schema/aop" 
  7.  xmlns:tx="http://www.springframework.org/schema/tx" 
  8.  xsi:schemaLocation="  
  9.  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  10.  http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd  
  11.  http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd  
  12.  http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd"> 

 

2)dao層bean已經自動生成了,需要創建一下bean。

  1.  如:  
  2.  <bean id="tsaleformService" class="com.service.TSaleformServiceImpl"> 
  3.      <property name="tsaleformDAO" ref="TSaleformDAO">property> 
  4.      <property name="tsDetail3DAO" ref="TSaleformDetailDAO">property> 
  5.  bean> 
  6.     如:  
  7.  <bean name="/emp" class="com.struts.action.SaleformShowAction"> 
  8.      <property name="itSaleformService" ref="tsaleformService">property> 
  9.  bean> 
  10.  
  11.  
  12.    
  13.  <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
  14.     <property name="sessionFactory" ref="sessionFactory">property> 
  15.  bean> 
  16.  

說明:sessionFactory 是自動生成的下面bean id.

  1. <bean id="sessionFactory" 
  2.   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
  3.   <property name="configLocation" 
  4.    value="classpath:hibernate.cfg.xml"> 
  5.   property> 
  6.  bean> 
  7.  
  8.     <tx:advice id="mycy"> 
  9.       <tx:attributes> 
  10.          <tx:method name="*"/> 
  11.       tx:attributes> 
  12.     tx:advice> 
  13.    
  14.  
  15.    <aop:config> 
  16.          <aop:advisor advice-ref="mycy" pointcut="execution(* com.service.*.*(..))"/> 
  17.    aop:config> 

 

 

 

 

說明:com.service.*.*(..) com包下.service業務層包下.所有類.所有方法(..)

 

5: 現在該配置DWR了配置文件 dwr.xml。

1)將

文件打開 配置為:

 

  1. "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"  
  2.   "dwr20.dtd">     

說明:就是將"dwr20.dtd" 中前面那段"http:...dwr20.dtd" 什么的剪切掉 剩下就"dwr20.dtd"就ok

2)

  1. <dwr> 
  2.        <allow> 
  3.           <convert match="com.pojos.*" converter="bean">convert> 
  4.           <create javascript="myjs" creator="spring"> 
  5.             <param name="beanName" value="tsaleformService">param> 
  6.           create> 
  7.        allow> 
  8.     dwr> 

 

 

 

說明:需導入dwr.dtd 文件用于提示用,記得話 不要當然沒問題

com.pojos.* 所有pojo類 , converter="bean" 固定的,bean 也可以換成hibernate,

javascript="myjs" 是自定義的,creator="spring" 固定的,param name="beanName"固

定的,value="tsaleformService"中 tsaleformService 是applicationContext.xml中

下面的對應的業務層bean 的id 如上id。

第三步:現在就關系到如何進行DWR測試。在瀏覽器中在工程名下直接/dwr .dwr 是剛才在web.xml

中所配置的映射名 如上:dwr。

測試成功將會出現你的自定義 "myjs" 鏈接 。進入就可進行測試業務層事務了.

這段總結是我在一個上午總結的總結的不是很專業、很全,我也是帶著復習的心情邊開著電腦對著源碼思索一步步、一個個字

打出來的!希望對有需要的人有所幫助,與人同樂就是我最大的快樂。

很高興跟大家互相關注,打算在把ssh2的一些地方整理下。

編輯推薦】

  1. 使用MyEclipse整合SSH模式:登陸范例
  2. 通過SSH在位于F5后面的SUSE Linux上配置jdk和tomcat
  3. MyEclipse構建SSH框架淺析
  4. 簡單介紹jBPM與SSH的完整實例
  5. MyEclipse真的整合了SSH嗎?
責任編輯:金賀 來源: JavaEye博客
相關推薦

2014-07-31 11:40:08

ssh

2016-12-02 08:51:05

AlphaGo大數據技術

2011-06-09 15:44:29

Spring

2012-05-25 10:41:33

StrutsDWRJava

2009-06-02 14:09:37

myeclipse smyeclipse開發myeclipse

2015-05-11 16:16:45

TeradataQueryGrid

2009-08-14 09:40:55

MyEclipse整合

2013-09-05 09:37:49

2010-07-01 14:42:16

SSH協議

2012-05-03 10:13:56

FlexSSHJava

2010-04-26 00:30:36

等開銷負載均衡

2011-08-30 15:11:21

密碼SSH服務器

2010-01-13 10:29:51

CentOS配置ssh

2015-04-23 15:34:15

RSA大會RSA2015安全大會

2012-09-19 15:06:45

Lucene

2021-05-13 21:51:38

鴻蒙HarmonyOS應用

2022-09-05 08:03:28

MySQL崩潰恢復

2011-03-21 14:30:45

LAMPApachePHP

2012-11-01 14:03:49

Teradata 大數據天睿

2015-10-22 12:53:53

Teradata
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 全免费a级毛片免费看视频免 | 久久免费视频1 | 亚洲综合二区 | 亚洲欧美视频一区 | 91日日| 在线一区| 亚洲一区二区三区免费 | av国产精品毛片一区二区小说 | 色视频一区二区 | 成人一区二 | 亚洲国产成人在线观看 | 麻豆一区一区三区四区 | 国产农村妇女精品一二区 | 国产欧美日韩在线播放 | 黄视频欧美 | 蜜桃黄网 | 亚洲免费人成在线视频观看 | 日韩中文一区二区三区 | 中文字幕一区二区三区乱码在线 | 久久最新网址 | 欧美成人精品激情在线观看 | 精品中文字幕在线观看 | 欧美一区二区三区在线 | 宅男伊人| 亚洲国产成人精品久久久国产成人一区 | 久色激情 | 日韩一区二区在线视频 | 久久福利电影 | 国产高清区 | 特黄毛片视频 | 亚洲不卡 | 久久久91 | 国产免费一级一级 | 亚洲一区二区三区免费在线观看 | av片免费| 婷婷福利视频导航 | 欧美精品一区二区免费 | av网站免费在线观看 | 草草草草视频 | 色999视频| 亚洲人成人一区二区在线观看 |