日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
整合SSH-DWR等技術(shù)過(guò)程分析

ssh整合技術(shù)全過(guò)程總結(jié)分析

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、市中ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的市中網(wǎng)站制作公司

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

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

將貼出。

ssh整合步驟:

***步:添加支持

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

2:循序添加hibernate、spring、struts支持(切換到j(luò)2ee視圖,建web工程,

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

說(shuō)明:在整合了spring時(shí)候hibernate無(wú)需創(chuàng)建sessionfactory也就說(shuō)在添加hibernate支持時(shí)候不

需要勾上那個(gè)創(chuàng)建sessionfactory的勾

3:生成pojo類(lèi),創(chuàng)建dao包將DAO類(lèi)放在一起(切換到database視圖或hibernate視圖找到相應(yīng)的數(shù)據(jù)庫(kù)中的表右鍵:Hibernate Reverse

Engineering)

選項(xiàng)說(shuō)明:Java src folder 選擇所在項(xiàng)目的src目錄 下面多選框下面前三個(gè)都勾上

對(duì)于pojo類(lèi)的映射文件配置。需注意表級(jí)聯(lián)問(wèn)題,未配置好可能導(dǎo)致某些操作失敗(操作主表時(shí),從表也同時(shí)操作.):在映射文件后面的set 設(shè)置cascade 屬性。如:

cascade = save-update(級(jí)聯(lián)添加) 同時(shí)添加主表和n個(gè)從表 、cascade = all 都級(jí)聯(lián)

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

目錄下(至于怎么配置,下面我們?cè)敿?xì)貼出)

第二步:后臺(tái)業(yè)務(wù)、.xml文件配置(如果是用MyEclipse6.5 開(kāi)發(fā)的可能會(huì)出現(xiàn)個(gè)金典異常,解決辦法就是 選擇項(xiàng)目->Build Path->Configure

->Libraries 中Remove asm-2.2.3.jar 開(kāi)發(fā)包 ,再lib下delet)

1:開(kāi)始寫(xiě)業(yè)務(wù)層,抽取接口類(lèi)。寫(xiě)dao層。因?yàn)闃I(yè)務(wù)層是調(diào)用dao層的,所以先把業(yè)務(wù)寫(xiě)好了就算完成了第二

步就算完成半了。

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

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

代碼:

 
 
 
  1.    
  2.  contextConfigLocation param-name>
  3.  classpath:app*.xml param-value>
  4. context-param>

2)為了避免在事務(wù)還沒(méi)完成session就關(guān)閉的情況我們可以設(shè)置OpenSessionInViewFilter過(guò)濾器。這是

涉及到懶加載的問(wèn)題。其實(shí)還有幾種常見(jiàn)的方法可以避免。如:在pojo類(lèi)的主鍵映射文件中的set

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

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

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

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

 
 
 
  1.  encoding filter-name>
  2.  org.springframework.web.filter.CharacterEncodingFilter filter-class>
  3. filter>

4)配置文件加載的監(jiān)聽(tīng)器 (沒(méi)有映射)

 
 
 
  1.  org.springframework.web.context.ContextLoaderListener listener-class>
  2. listener>

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

 
 
 
  1.   
  2. dwr servlet-name>
  3. org.directwebremoting.servlet.DwrServlet servlet-class>
  4.  debug param-name>
  5.  true param-value>
  6. init-param>
  7.   servlet>
  8.  
  9. dwr servlet-name>
  10. /dwr/* url-pattern>
  11.   servlet-mapping>

說(shuō)明:如果是整合ssh2 時(shí)候就可能在DWR測(cè)試時(shí)候會(huì)報(bào)錯(cuò)因?yàn)閟sh2的核心過(guò)濾器會(huì)將其攔截,導(dǎo)致

測(cè)試時(shí)候報(bào)錯(cuò)。解決辦法我們將在下一篇ssh2整合流程分析講解給出具體解決方案

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

3:現(xiàn)在可以創(chuàng)建action類(lèi)了、及配置??刂?/p>

添加了struts支持就會(huì)在web.xml中自動(dòng)注冊(cè)核心控制器 ActionServlet

這里涉及到核心控制器的工作流程了。在action中會(huì)重寫(xiě)execute方法。簡(jiǎn)單說(shuō)客戶(hù)端發(fā)送HTTP請(qǐng)求,都會(huì)被核心控制器攔截

核心控制器請(qǐng)求填充ActionForm.再轉(zhuǎn)到Action.在Action中我們只要將form中的信息填充到

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

要說(shuō)的幾點(diǎn)需注意:

1)注冊(cè)頁(yè)面:注意action是.do結(jié)尾

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

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

3)寫(xiě)類(lèi),繼承Action,重寫(xiě)execute方法,調(diào)用業(yè)務(wù) ??梢砸粋€(gè)action類(lèi)處理一個(gè)業(yè)務(wù),也可在一個(gè)

action類(lèi)中處理多個(gè)業(yè)務(wù),就必須這樣幾個(gè)地方。 在頁(yè)面action .do后面可添加一個(gè)參數(shù)p="xx",

在struts-config.xml-> action-mapping->action 中添加屬性 parameter="p" 在請(qǐng)求的action類(lèi)中直接

獲取參數(shù)p的值,在調(diào)用對(duì)應(yīng)的方法。

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

并確定界面/actionForm/Action三者的關(guān)系.

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

代碼:

1.配置actionForm

 
 
 
  1.   
  2.    form>
  3. form-beans>

2.配置action

 
 
 
  1.     
  2.      action>
  3.   action-mappings>

說(shuō)明:/emp jsp頁(yè)面中action 的 emp.do? 代理類(lèi):type="org.springframework.web

.struts.DelegatingActionProxy"

4:配置spring的applicationContext.xml

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

層與層之間的耦合度。就關(guān)系的事務(wù)了。要做的***件事就是換文件頭子。

1)換文件頭子

 
 
 
  1. xml version="1.0" encoding="UTF-8"?>
  2.   
  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已經(jīng)自動(dòng)生成了,需要?jiǎng)?chuàng)建一下bean。

 
 
 
  1.  如:
  2.  
  3.       property>
  4.       property>
  5.   bean>
  6.     如:
  7.  
  8.       property>
  9.   bean>
  10.  
  11.  
  12.      property>
  13.   bean>

說(shuō)明:sessionFactory 是自動(dòng)生成的下面bean id.

 
 
 
  1.   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  2.   
  3.    value="classpath:hibernate.cfg.xml">
  4.    property>
  5.   bean>
  6.     
  7.       
  8.          
  9.        tx:attributes>
  10.      tx:advice>
  11.  
  12.    
  13.          
  14.     aop:config>

說(shuō)明:com.service.*.*(..) com包下.service業(yè)務(wù)層包下.所有類(lèi).所有方法(..)

5: 現(xiàn)在該配置DWR了配置文件 dwr.xml。

1)將

文件打開(kāi) 配置為:

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

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

2)

 
 
 
  1.        
  2.            convert>
  3.           
  4.              param>
  5.            create>
  6.         allow>
  7.      dwr>

說(shuō)明:需導(dǎo)入dwr.dtd 文件用于提示用,記得話 不要當(dāng)然沒(méi)問(wèn)題

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

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

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

下面的對(duì)應(yīng)的業(yè)務(wù)層bean 的id 如上id。

第三步:現(xiàn)在就關(guān)系到如何進(jìn)行DWR測(cè)試。在瀏覽器中在工程名下直接/dwr .dwr 是剛才在web.xml

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

測(cè)試成功將會(huì)出現(xiàn)你的自定義 "myjs" 鏈接 。進(jìn)入就可進(jìn)行測(cè)試業(yè)務(wù)層事務(wù)了.

這段總結(jié)是我在一個(gè)上午總結(jié)的總結(jié)的不是很專(zhuān)業(yè)、很全,我也是帶著復(fù)習(xí)的心情邊開(kāi)著電腦對(duì)著源碼思索一步步、一個(gè)個(gè)字

打出來(lái)的!希望對(duì)有需要的人有所幫助,與人同樂(lè)就是我最大的快樂(lè)。

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

編輯推薦】

  1. 使用MyEclipse整合SSH模式:登陸范例
  2. 通過(guò)SSH在位于F5后面的SUSE Linux上配置jdk和tomcat
  3. MyEclipse構(gòu)建SSH框架淺析
  4. 簡(jiǎn)單介紹jBPM與SSH的完整實(shí)例
  5. MyEclipse真的整合了SSH嗎?

網(wǎng)站題目:整合SSH-DWR等技術(shù)過(guò)程分析
地址分享:http://www.5511xx.com/article/djhjicp.html