亚洲国产成人精品无码区花野真一 ,亚洲AV成人无码网站,亚洲av无码乱码国产精品fc2http://m.tkk7.com/Supershen/category/18134.htmlJava JavaEE Jsp Struts1.x Struts2.x Hibernate Spring2.0 EJB3.0 ASP .NET Php Flex ---- 一個都不能少! <br> 留著,希望幫助到更多需要的人。zh-cnThu, 17 Jan 2008 23:21:03 GMTThu, 17 Jan 2008 23:21:03 GMT60最新學習關鍵字http://m.tkk7.com/Supershen/archive/2008/01/15/175379.htmlSuper·shen BLOG 李祿燊 Super·shen BLOG 李祿燊 Tue, 15 Jan 2008 02:07:00 GMThttp://m.tkk7.com/Supershen/archive/2008/01/15/175379.htmlhttp://m.tkk7.com/Supershen/comments/175379.htmlhttp://m.tkk7.com/Supershen/archive/2008/01/15/175379.html#Feedback0http://m.tkk7.com/Supershen/comments/commentRss/175379.htmlhttp://m.tkk7.com/Supershen/services/trackbacks/175379.html1. dwr  - direct web remote
2. 推技術
3. http 長連接
4. Comet  ----   HTTP長連接的“服務器推”技術
5. Jetty服務器 ----  Jetty 6 Web 服務器針對 AJAX、Comet 應用的特點進行了很多創新的改進,請參考文章“AJAX,Comet and Jetty”(請參見 參考資源)。


http://wiki.javascud.org/display/dwrcn/Home
http://wiki.springside.org.cn/display/springside/DWR

http://blog.csdn.net/octverve/archive/2007/09/26/1801826.aspx

Super·shen BLOG 李祿燊 2008-01-15 10:07 發表評論
]]>
Java 學習視頻集 不停更新http://m.tkk7.com/Supershen/archive/2008/01/08/173545.htmlSuper·shen BLOG 李祿燊 Super·shen BLOG 李祿燊 Tue, 08 Jan 2008 02:05:00 GMThttp://m.tkk7.com/Supershen/archive/2008/01/08/173545.htmlhttp://m.tkk7.com/Supershen/comments/173545.htmlhttp://m.tkk7.com/Supershen/archive/2008/01/08/173545.html#Feedback0http://m.tkk7.com/Supershen/comments/commentRss/173545.htmlhttp://m.tkk7.com/Supershen/services/trackbacks/173545.html學習共進!

MyEclipse 5.5 開發 Struts 1.2 簡單登錄的入門視頻(有聲+源碼)
  2007-09-19 01:50

視頻講解: Netbeans 5.5 配置顯示中文 JavaDoc

入門視頻: 使用 MyEclipse 開發 Swing 應用

河南話講解 MyEclipse + Tomcat Servlet 開發入門視頻

MyEclipse + JPA + Toplink 開發視頻: 開發并運行第一個 JPA 項目

MyEclipse + JBoss 開發視頻: 配置,開發并運行第一個 EJB 3 項目

JDBC 入門視頻: 配置 SQL Explorer 插件, ODBC 數據源, 建表, 用 JDBC 讀取數據庫

Tomcat 入門視頻: 下載, 運行, 第一個 HelloWorld

Eclipse 入門視頻: 下載, 運行, 第一個 HelloWorld

Java 入門視頻: 下載, 安裝 JDK, 配置環境變量, HelloWorld

推薦給初學者的 Java 視頻

Netbeans 6.0 M10 開發 UML 項目的入門視頻

MyEclipse UML 入門視頻2 - 根據代碼反向工程生成 UML

MyEclipse UML 入門視頻

MyEclipse + Tomcat 開發視頻: 下載,安裝,配置,開發并運行Web項目

小電影: 用 MyEclipse 開發 Spring + Struts + Hibernate 的總結與操作視頻(9分鐘)

小電影: 用 MyEclipse 開發 Spring + Struts 的總結與操作視頻(7分鐘)

用MyEclipse 4 分鐘開發Spring整合Hibernate應用的視頻

在 Linux 上配置并運行 Tomcat 服務器(入門整理)(視頻)

Java 初學者入門視頻: 下載 JDK 和 Netbeans

Eclipse 配置顯示中文 javadoc 的視頻

Hibernate 英文 PPT 及 MyEclipse 操作視頻整理

推薦一點 MyEclipse 的官方Spring,Hibernate入門視頻教程

Netbeans 5.5 + JPA + Hibernate 3 + Tomcat 實例有聲視頻

推薦一些AJAX視頻和文章

夏昕 <<Spring 開發指南入門>>1 分鐘上手教程視頻(不帶解說)

AJAX 入門培訓 PPT 及示例代碼

Java EE 5 入門 PPT 講解有聲視頻 - 第二部分

Java EE 5 入門 PPT 講解有聲視頻 - 第一部分

Java EE 5 入門視頻 - 在 JSF 中使用 JPA

Jigloo 開發 Swing 的入門教程

視頻:使用 Netbeans 5.5可視化開發 JSF 的簡單注冊流程

Java EE 5 入門視頻 - 在 J2SE 中使用 JPA

Navicat管理Mysql 的視頻

Weblogic 9 之旅圖文視頻 2 - Portal 開發環境設置, 簡單的Portal 開發(視頻已貼上)

用 JProfiler4 調優 Weblogic 和 Tomcat 的視頻(原創)

來自 http://m.tkk7.com/beansoft



Super·shen BLOG 李祿燊 2008-01-08 10:05 發表評論
]]>
今天看了一下FreeMarker 才突然領悟到-----周星星說的一句話:天下武功出少林 【進入java半年有感】http://m.tkk7.com/Supershen/archive/2007/09/17/145779.htmlSuper·shen BLOG 李祿燊 Super·shen BLOG 李祿燊 Mon, 17 Sep 2007 03:46:00 GMThttp://m.tkk7.com/Supershen/archive/2007/09/17/145779.htmlhttp://m.tkk7.com/Supershen/comments/145779.htmlhttp://m.tkk7.com/Supershen/archive/2007/09/17/145779.html#Feedback2http://m.tkk7.com/Supershen/comments/commentRss/145779.htmlhttp://m.tkk7.com/Supershen/services/trackbacks/145779.html下邊的所有都是自己對JAVA的理解不知道對不對,有待于以后實踐驗證

用JAVA編程,無論是什么框架,什么庫,什么插件, 他們的也還是來自 最基本java類編程。

比如,我猜想 TOMCAT服務器,也是由一個帶MAIN方法的類來啟動的, 然后開通一個端口服務器,它的原理應該和java socket server編程應該是一個道理。主要是啟動一些類,來接受客戶端的請求(容器的原理應該是這樣吧)


再說 servlet 也是基本的 JAVA類, 他們是受容器的管理,受到的是容器的調用(容器應該也就是帶main的java類),并對客戶端產生相應。

還有像 jsp 的所謂表現層框架,最終也是調用到帶main函數的java類。 它的原理是 jsp編譯生產 servlet ,servlet 最終還是依靠容器。
其實我想,自己也可以開發一個表現層,只要能實時編譯成servlet,就能和jsp一樣的功能了。
不過jsp是sun公司的標準產品,它的庫已經集合在大多數容器上了,得到廣大容器的廣泛支持,出來得也早,用人也多,很少人想到要做新的表現層(如果沒什么好功能,就等于重復發明車輪)。

FreeMarker 的原理也是一樣,簡單說它就是一個庫,你可以把它集合到容器里,得到容器的支持后,用FreeMarker 編寫的表現層就能實時編譯成servlet。  最后得到的和jsp 得到的是一個效果。
FreeMarker 最終的結果還是容器調用。

不過要做一個FreeMarker 可不簡單,要有好的想法,要不就和jsp功能重復了,沒價值。


以上都是個人想出來的 不知道是否正確 有待于個人深入學習。





Super·shen BLOG 李祿燊 2007-09-17 11:46 發表評論
]]>
java 中文亂碼處理。http://m.tkk7.com/Supershen/archive/2007/05/20/118756.htmlSuper·shen BLOG 李祿燊 Super·shen BLOG 李祿燊 Sun, 20 May 2007 14:36:00 GMThttp://m.tkk7.com/Supershen/archive/2007/05/20/118756.htmlhttp://m.tkk7.com/Supershen/comments/118756.htmlhttp://m.tkk7.com/Supershen/archive/2007/05/20/118756.html#Feedback0http://m.tkk7.com/Supershen/comments/commentRss/118756.htmlhttp://m.tkk7.com/Supershen/services/trackbacks/118756.htmljava 中文亂碼處理。

 
參考
http://china.eceel.com/article/study_for_character_encoding_java.htm
http://upurban.com/bbs/viewtopic.php?t=246

1。什么是utf-8,什么是ISO-8859-1,什么是GB2312,還有什么是unicode

2。java 程序的字符的表示格式

3。jsp 程序中文顯示處理實例

3。1
<%@ page  pageEncoding="ISO-8859-1"%>和<%@ page  pageEncoding="GB2312"%>和<%@ page 

pageEncoding="UTF-8"%>各自的意思是什么,他們是否只對post提交有效!
request.setCharacterEncoding("UTF-8")是什么意思?有什么區別?還有

response.setCharacterEncoding("UTF-8"),優先于下邊
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

setCharacterEncoding()該函數用來設置http請求或者相應的編碼。

對于request,是指提交內容的編碼,指定后可以通過getParameter()則直接獲得正確的字符串,如果不

指定,則默認使用iso8859-1編碼,需要進一步處理。參見下述"表單輸入"。值得注意的是在執行

setCharacterEncoding()之前,不能執行任何getParameter()。java doc上說明:This method must be

called prior to reading request parameters or reading input using getReader()。而且,該指定

只對POST方法有效,對GET方法無效。分析原因,應該是在執行第一個getParameter()的時候,java將會

按照編碼分析所有的提交內容,而后續的getParameter()不再進行分析,所以setCharacterEncoding()無

效。而對于GET方法提交表單是,提交的內容在URL中,一開始就已經按照編碼分析所有的提交內容,

setCharacterEncoding()自然就無效。

對于response,則是指定輸出內容的編碼,同時,該設置會傳遞給瀏覽器,告訴瀏覽器輸出內容所采用的

編碼。
 
3.2. jsp輸出

指定文件輸出到browser是使用的編碼,該設置也應該置于文件的開頭。例如:<%@ page

contentType="text/html; charset= GBK" %>。該設置和response.setCharacterEncoding("GBK")等效。

 

4。java EE程序利用過濾器 處理中文問實例
提交數據的編碼格式
tomcat默認提交格式是ISO-8859-1
可以通過設置過濾器(只針對post提交)或修改server.xml 的URIencoding 編碼格式(只針對get提交)

達到你想要的 數據提交編碼格式。

 

總結

---by mylu 18:26 2007-5-20



Super·shen BLOG 李祿燊 2007-05-20 22:36 發表評論
]]>
hibernate 學習~http://m.tkk7.com/Supershen/archive/2007/02/07/98600.htmlSuper·shen BLOG 李祿燊 Super·shen BLOG 李祿燊 Wed, 07 Feb 2007 06:32:00 GMThttp://m.tkk7.com/Supershen/archive/2007/02/07/98600.htmlhttp://m.tkk7.com/Supershen/comments/98600.htmlhttp://m.tkk7.com/Supershen/archive/2007/02/07/98600.html#Feedback0http://m.tkk7.com/Supershen/comments/commentRss/98600.htmlhttp://m.tkk7.com/Supershen/services/trackbacks/98600.htmlORM
Object Relation Mapping
對象 關系 映射

對象 指實體域對象
關系 關系數據


模型

概念模型(實體-屬性)
關系數據模型(關系數據庫)
域模型(對象)


軟件分層

v - 表述層
c /

??? /業務層
m- 持久層(hibernate 技術實現)
??? \數據層


mvc 對應 各層次


概念實體關系

1對1
1對多
多對多


表與表之間的關系 參照完整性

外鍵
多對多
多對一


域對象之間的 關系

關聯 (一對一 一對多 多對多)
依賴 (一個類需要訪問另外一個類)
聚集 (一個類的對象是另一個類的一部分, 人和手)
一般化 (繼承關系)


域對象
?實體域對象? (實體EJB,POJO)
過程域對象? (會話EJB,消息驅動EJB,POJO)
事件域對象? ()

在hibernate中 一般只關注 實體域對象 和 過程域對象


域對象的關系

?域對象的關聯關系 是有方向的
體現在類的編碼不一樣的

單向關聯
雙向關聯

?


域對象的持久化
把對象從內存中 保存到持久化設備中去

ORM 與? ORM模式
ORM模式是一種持久化技術,還有其他模式的持久化技術。如主動域模式(BMP),JDO模式,CMP模式。


域模型和數據模型的各個不匹配之處
1,繼承
2,多對多
3,雙向
4。粒度
盡量少連接查詢,很消耗時間的操作

?


創建持久化類


1。持久化類符合javabean的規范,包含一些屬性 以及對應的getxxx 色天下學習方法
2。持久化類有一個id屬性,用來唯一表示類的每一個對象。 也叫OID 對象表示符
3。Hibernate要求持久化類必須提供一個不帶參數的默認構造方法

創建數據庫schema

創建對象-關系映射文件

(一般在eslispe中先創建數據庫 然后再創建持久化類以及映射文件)

hibernate 映射類型


hibernate的初始化

static{

try{
//根據默認位置的hibernate配置文件創建 configuration實例
Configuration config = new Configuration();
config.addClass(Customer.class);
//創建SessionFactory 實例
sessionFactory = config.buildSessinoFactroy();
}catch(Exception e){e.printStackTrace();}
}


SessionFactory 接口

一個SessionFactory 實例是對應一個數據源的,應用從SessionFactory 獲取session實例對象
1線程安全的
2重量級的,不能隨意創建和銷毀她的實例。

Session 接口

1 Session接口是hibernate應用最為廣泛的接口。
2 Session也被稱為持久化管理器,它提供和持久化相關的操作
3 Session有以下特點
?a 不是線程安全的 所以應避免多線程共用一個Session實例
?b Session實例是輕量級的,所謂輕量級是指他的創建和銷毀不需要消耗太多的資源。意味著程序中可以經常創建和銷毀Session實例,保證不多線程使用Session對象。

Session接口的常用方法:
save()
update()
delete()
load()

Session執行事務流程

Session session = factory.openSession();
Transaction tx;
try{
tx = session.beginTranscation();
//執行事務
...
//提交事務
tx.commit();
}
catche(Exception e)
{//如果出現異常,撤消事務
if(tx!=null)tx.rollback();
throw e;
}
finally{
session.close(); //不管事務是否成功,最后都要關閉session對象
}
}

?

?

?

?



Super·shen BLOG 李祿燊 2007-02-07 14:32 發表評論
]]>
復習~JAVA面向對象編程http://m.tkk7.com/Supershen/archive/2007/01/24/95780.htmlSuper·shen BLOG 李祿燊 Super·shen BLOG 李祿燊 Wed, 24 Jan 2007 09:47:00 GMThttp://m.tkk7.com/Supershen/archive/2007/01/24/95780.htmlhttp://m.tkk7.com/Supershen/comments/95780.htmlhttp://m.tkk7.com/Supershen/archive/2007/01/24/95780.html#Feedback0http://m.tkk7.com/Supershen/comments/commentRss/95780.htmlhttp://m.tkk7.com/Supershen/services/trackbacks/95780.html
OOP使各個對象各司其職,分別負擔執行一組相關的任務,如果一個對象要依賴于一個不在其范圍內的方法,它就需要訪問包含該方法的第二個對象,即第一個對象需要第二個對象執行這個方法(或者叫方法調用) 利用OOP術語,叫做一個對象向另外一個對象發送消息。

》對象的生成: 對象是在執行過程中由其所屬的類動態生成的。 一個類可以生成多個不同的對象。


》 消息與方法的概念

對象之間的傳遞通過消息傳遞完成

一個發送消息的對象 發送的消息包含3個方面的內容
1,接受消息的對象
2,接受對象應用的方法。
3,方法所需要的參數。

》面向對象變成的基本特征
1 封裝性 Encapsulation 把數據和操作組織在類內
2?繼承性 Inheritance 通過類的繼承關系
3多態性Polymophism(在運行的時候體現) ??A通過方法重裁 B通過方法重寫,子類覆蓋父類的方法(接口一個種特殊的類哦)



Super·shen BLOG 李祿燊 2007-01-24 17:47 發表評論
]]>
struts學習總結(1)http://m.tkk7.com/Supershen/archive/2006/12/27/90346.htmlSuper·shen BLOG 李祿燊 Super·shen BLOG 李祿燊 Wed, 27 Dec 2006 09:14:00 GMThttp://m.tkk7.com/Supershen/archive/2006/12/27/90346.htmlhttp://m.tkk7.com/Supershen/comments/90346.htmlhttp://m.tkk7.com/Supershen/archive/2006/12/27/90346.html#Feedback0http://m.tkk7.com/Supershen/comments/commentRss/90346.htmlhttp://m.tkk7.com/Supershen/services/trackbacks/90346.html
一個J2EE 工程中涉及的對象

  • 數據傳輸對象DTO
  • 業務對象BO (實體業務對象 過程業務對象 事件業務對象)
  • 數據訪問對象DAO

?


概念

持久化框架、ORM框架、DAO設計模式

他們的關系是:ORM框架是一種持久化框架,DAO是用于實現持久化框架的一種設計模式。



Super·shen BLOG 李祿燊 2006-12-27 17:14 發表評論
]]>
關于ActionErrors add函數用法http://m.tkk7.com/Supershen/archive/2006/12/20/89091.htmlSuper·shen BLOG 李祿燊 Super·shen BLOG 李祿燊 Wed, 20 Dec 2006 10:03:00 GMThttp://m.tkk7.com/Supershen/archive/2006/12/20/89091.htmlhttp://m.tkk7.com/Supershen/comments/89091.htmlhttp://m.tkk7.com/Supershen/archive/2006/12/20/89091.html#Feedback1http://m.tkk7.com/Supershen/comments/commentRss/89091.htmlhttp://m.tkk7.com/Supershen/services/trackbacks/89091.html? errors ? = ? new ? ActionErrors(); ? ?
? errors.add("isExist", ? new ? ActionError("error.isExist"));???
// errors.add("isExist", ? new ? ActionError("error.isExist"));???等效于errors.add("isExist", ? new ? ActionMessage("error.isExist"));????

? saveErrors(request, ? errors); ?
? return ? (mapping.findForward("failure"));???


failure頁面里也定義了<html:errors?? name="isExist"/> ?
? ApplicationResources.properties里面也定義了error.isExist=user ? have ? already ? exist!!!???
? 運行結果 跳轉到failure頁面,顯示“user ? have ? already ? exist!!!???”




ActionErrors.GLOBAL_ERROR
怎么理解
它和我們使用普通的字符有什么區別啊

部分代碼如下:
err.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.logon"));
err.add("errinfo", new ActionError("error.logon"));

以上兩名有什么區別啊


沒什么區別
ActionErrors.GLOBAL_ERROR也是一個字符串。
最好寫做ActionErrors.GLOBAL_ERROR
不然的話可能會報錯。




Super·shen BLOG 李祿燊 2006-12-20 18:03 發表評論
]]>
struts學習筆記(3)http://m.tkk7.com/Supershen/archive/2006/12/14/87638.htmlSuper·shen BLOG 李祿燊 Super·shen BLOG 李祿燊 Thu, 14 Dec 2006 02:32:00 GMThttp://m.tkk7.com/Supershen/archive/2006/12/14/87638.htmlhttp://m.tkk7.com/Supershen/comments/87638.htmlhttp://m.tkk7.com/Supershen/archive/2006/12/14/87638.html#Feedback0http://m.tkk7.com/Supershen/comments/commentRss/87638.htmlhttp://m.tkk7.com/Supershen/services/trackbacks/87638.html 和女主角Action 對象共舞

什么是Action?
和常規的web 應用相比,Struts Action 類工作起來就象一個小型的servlet。在大多數Java
應用中,諸如訪問業務層的任務、錯誤處理等任務均是由servlet 承擔的。在一個 Struts 應
用中,servlet 扮演著一個分派器的角色。而Action 對象則干實際的工作。象 servlets 一樣,
Action 對象是多線程的。每個應用只需要一個Action 類的實例。

Action做些什么?

一個典型的Action 的職責通常是:

?? ■校驗前提條件或者聲明
?? ■調用需要的業務邏輯方法
?? ■檢測其它處理錯誤
?? ■將控制路由到相關視圖


檢驗輸入: Action 需要做的就是確認ActionForm 是否是需要的類型。

調用邏輯業務:

Action 類是HTTP 與應用系統中其它部分之間的適配器。最重要的是要避免將業務邏輯放入
Action 之中。Action 類應該只是簡單地收集業務方法需要的數據并傳遞它到具體的業務對
象。如果你同時在編寫業務類和Action 類,可能會受到要將它們編寫在一起的誘惑。一定
要抵擋這種誘惑,并且將業務方法放入Action 可調用的單獨的類之中。Java 虛擬機(JVM)
針對這種方法調用作了優化;性能損失可以忽略不計。
同時你也得到了一些設計上的優勢

Action檢測錯誤:
Struts具有一個設計良好的錯誤處理系統,允許你可以:
??■ 同時截獲幾個錯誤
??■ 在請求中傳遞錯誤數據包
??■ 顯示本地化信息

這個處理流程涉及到兩個對象 (ActionErrors 和 ActionError) 和一個注冊錯誤的工
具方法(saveErrors) 。其它兩個對象 (MessageResources 和 一個定制標簽)則用來顯
示錯誤信息

注冊錯誤
總體流程歸結為:
??1 創建一個空的ActionErrors 實例
??2 在錯誤發生時,為錯誤信息添加關鍵字;
??3 檢查是否添加了某些信息
??4 保存ActionErrors 集合對象到請求中
??5 ?轉發控制到錯誤頁面以顯示信息
??6? 否則,正常繼續

例如
ActionErrors?errors?=?new?ActionErrors();
try?{
//?*?調用業務對象?*
}

catch?(ModelException?e)?{
errors.add(ActionErrors.GLOBAL_ERROR,
new?ActionError("error.detail",e.getMessage()));
}

if?(!errors.empty())?{
saveErrors(Request,?errors);
return?(mapping.findForward("error"));
}

//?*?正常繼續?*



Super·shen BLOG 李祿燊 2006-12-14 10:32 發表評論
]]>
STRUTS學習筆記(2) http://m.tkk7.com/Supershen/archive/2006/12/06/85906.htmlSuper·shen BLOG 李祿燊 Super·shen BLOG 李祿燊 Wed, 06 Dec 2006 09:50:00 GMThttp://m.tkk7.com/Supershen/archive/2006/12/06/85906.htmlhttp://m.tkk7.com/Supershen/comments/85906.htmlhttp://m.tkk7.com/Supershen/archive/2006/12/06/85906.html#Feedback0http://m.tkk7.com/Supershen/comments/commentRss/85906.htmlhttp://m.tkk7.com/Supershen/services/trackbacks/85906.html
要使用Struts 開發web 應用,開發人員將需要的超鏈接定義為ActionForward,HTML 表
單定義為ActionForm,定制的服務器端動作定義為Action 類。
需要訪問JDBC 和EJB 的開發人員也可通過Action 對象進行他們的工作。這樣,表現層不
需要和Model 層打交道。Struts Action 對象將收集View 需要的數據,然后將它們轉發到
表現頁面。Struts 提供 JSP 標記庫,它們將和JSP 頁面一起使用,簡化 HTML 表單和訪
問Action 要轉發的其它數據。其它表現機制,比如Velocity templates, 也可用來訪問
Struts 框架,以創建動態的web 頁面。這種處理流程入下圖:{D99B93EF-D27B-42BA-A010-CB465E53C7BD}.BMP



{A1ABCBA2-B893-4911-8786-5CF86A796AFB}.JPG

Super·shen BLOG 李祿燊 2006-12-06 17:50 發表評論
]]>
STRUTS學習筆記(1)http://m.tkk7.com/Supershen/archive/2006/12/06/85874.htmlSuper·shen BLOG 李祿燊 Super·shen BLOG 李祿燊 Wed, 06 Dec 2006 08:25:00 GMThttp://m.tkk7.com/Supershen/archive/2006/12/06/85874.htmlhttp://m.tkk7.com/Supershen/comments/85874.htmlhttp://m.tkk7.com/Supershen/archive/2006/12/06/85874.html#Feedback0http://m.tkk7.com/Supershen/comments/commentRss/85874.htmlhttp://m.tkk7.com/Supershen/services/trackbacks/85874.html
用來訪問業務邏輯類。當 ActionServlet 從容器接收到一個請求,它使用URI (或者路徑
“path”) 來決定那個Action 將用來處理請求。一個 Action 可以校驗輸入,并且訪問業務
層以從數據庫或其他數據服務中檢索信息。


ActionForm類

為校驗輸入或者使用輸入來更新數據庫, Action 需要知道什么值被提交上來。它并不是強
制每個Action 都要從請求中抓取這些值,而是由 ActionServlet 將輸入綁定到JavaBean中。
輸入 bean 就是Struts ActionForm 類的子類。ActionServlet 通過查找請求的路徑可以決定使
用哪個ActionForm , Action 也是通過同樣的方法選取的。ActionForm 擴展了
org.apache.struts.action.ActionForm 類

每個請求都必須以HTTP 響應進行應答。 通常,Struts Action 并不自行渲染響應信息,
而是將請求轉發到其他資源,比如JSP 頁面。Struts 提供一個ActionForward 類,用來將
一個頁面的路徑保存為邏輯名稱。當完成業務邏輯后,Action 選擇并向Servlet 返回一個
ActionForward。Servlet 然后使用保存在ActionForward 對象中的路徑來調用頁面完成響
應。

Struts 將這些細節都綁定在一個ActionMapping 對象中。每個ActionMapping 相對于一個
特定的路徑。當某個路徑被請求時,Servlet 就查詢ActionMapping 對象。ActionMapping
對象告訴servlet,哪些個Action,ActionForm,和 ActionForward 將要被本次請求使用。
所有這些細節,關于Action, ActionForm, ActionForward, ActionMapping,以及其
它一些東西,都在struts-config.xml 文件中定義。 ActionServlet 在啟動時讀取這個配置文
件,并創建一個配置對象數據庫



舉個例子來說,
頁面上如果有以下語句:
<html:form?action="/hello.do">
當submit此form時,控制器從配置文件中找<action-mappings>下path="/hello"?的<action>元素
然后根據此action元素的type屬性找要執行的action類文件
比如

<action-mappings>
????<action?path="hello"
????????????type="cn.com.mylu.Hello"
????????????name="Hellofrom"
????????????……
????</action>

其中 cn.com.mylu.Hellofrom?為ActionForm類javabean
???????????cn.com.mylu.Hello 為Action類

??? <form-bean name="Hellofrom" type="cn.com.mylu.Hellofrom">
??? </form-bean>


頁面hello.do----->?action元素的path屬性?------>?action元素的type屬性----->Hello.java---->Hello.java中的execute方法

Super·shen BLOG 李祿燊 2006-12-06 16:25 發表評論
]]>
主站蜘蛛池模板: 亚洲免费福利在线视频| 国产日韩AV免费无码一区二区三区 | 亚洲成人免费电影| 三年片在线观看免费观看大全一 | 少妇无码一区二区三区免费| 国产亚洲一区二区精品| 国产免费人成视频尤勿视频| 国产偷国产偷亚洲高清日韩| 国产黄片不卡免费| 精品亚洲国产成人av| 最新仑乱免费视频| 亚洲欧美第一成人网站7777| 免费看大黄高清网站视频在线| 亚洲一区二区三区成人网站| a在线视频免费观看在线视频三区| 亚洲精品黄色视频在线观看免费资源| 色多多www视频在线观看免费| 亚洲午夜成人精品电影在线观看| 高清永久免费观看| 亚洲激情中文字幕| 51在线视频免费观看视频| 亚洲毛片基地4455ww| 尤物永久免费AV无码网站| 七次郎成人免费线路视频| 国产成在线观看免费视频| 亚洲一区二区三区成人网站| 亚洲成A人片在线观看无码3D| 中国一级全黄的免费观看| 亚洲视频国产视频| 日韩免费无码一区二区视频| 一级毛片无遮挡免费全部| 久久国产亚洲观看| 麻豆国产人免费人成免费视频| 免费播放美女一级毛片| 亚洲精品高清无码视频| 无码av免费毛片一区二区| 免费无码午夜福利片| 老汉色老汉首页a亚洲| 国产嫩草影院精品免费网址| 精品亚洲永久免费精品| 中文日韩亚洲欧美制服|