自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(0)
  • 资源 (9)
  • 收藏
  • 关注

空空如也

手把手教你如何建立自己的Linux系统 第二版(LFS)

很清楚的PDF版本,修正了书中的很多错误

2011-12-27

UNIX痛恨者手册The UNIX-HATERS Handbook

UNIX 痛恨者手冊可以算是壹本奇書了。壹般的技術書,寫作緣由大多是作者特別喜歡某樣技術,興高采烈地拿出來和讀者分享。而此書的幾個作者,都是因為恨 UNIX 恨到“人生長恨水長東”的境界了,於是乎搞了個郵件組,廣泛收集各種憤怒,最後基於郵件組裏面張貼的各種抱怨,編撰成了痛恨者手冊這樣壹本書,來專門宣泄對 UNIX 的憤怒,也算得上是空前絕後了。盡管這本書視角獨特,以現在的眼光看,作者的抱怨中,真正屬於 UNIX 固有問題的只占 50%,其他如對 sendmail 排山倒海的批評,對 C++ 的盡情嘲弄,實際上都不屬於 UNIX 系統特有的。其他的 50%,則頗有歷史意義,可以看到當年的 UNIX 系統是何其的“原始”。特別是對照現在的 Linux 來看,可以看出 Linux 作為當年 UNIX 的繼承人,在文件系統,安全性,穩定性等等方面的巨大的進步。除去壹些對 UNIX 中具體 BUG 的批評,這本書的背後實際上是三種設計哲學間的交鋒,我把這三種哲學叫做 MIT 哲學,UNIX 哲學和 GUI 系統哲學。“MIT 哲學”這個詞,是借用那篇著名的 Worse is better 文章中的叫法。MIT 哲學的代表是 LISP 機器,即提供壹個 LISP 環境的機器。這個機器提供給用戶的,是優雅的編程環境,如統壹的內存管理,統壹的函數式接口,良好的文檔等等,壹切程序員所需要的,都給準備好了。但這個系統不管是作為個人計算機還是作為工作站都沒有獲得成功。GUI 系統哲學從施樂的 Alto 開始,到90年代中期 Windows 95 出現之前,已經頗有氣象,特別是在個人計算機領域,幾乎所有的個人計算機廠商都在提供自己的圖形界面操作系統。GUI 系統的哲學,是友好的用戶界面和壹致的使用體驗。至於具體的功能,則委托給具體的應用程序實現。而 UNIX 哲學,則像是壹種開放式系統的哲學:除去提供統壹的系統調用和標準工具外(POSIX),不強調系統的壹致性。UNIX 像是壹堆松散的積木堆起來的壹個系統,在遵守 POSIX 標準的前提下(其實是個非常松散的標準)各個廠商都可以自己選擇積木搭建系統。 UNIX 這種開放的,允許自由搭積木的做法,是和信奉MIT哲學的人水火不容的。這些用戶在 UNIX 的因為開放造成的不壹致性上盡情吐槽。比如說,UNIX 壹個飽受詬病的缺憾是其命令行參數不統壹。在命令行下,有的命令加 -h 是顯示幫助,有的卻是顯示隱藏文件,還有的命令壓根不接受 -h 參數。這樣的問題,反映了 UNIX 在演化過程中缺少壹個統壹的規劃。這在演化路徑單壹的其他操作系統上是不可想象的。再比如,UNIX 的計算模型很簡單,即用 C 語言和 shell 對系統調用做壹個膠水包裝,不提供內存管理也不提供異常處理,文件系統也很低級,不支持文件恢復也不支持文件的元信息存儲。而 MIT 的LISP 機器的計算模型和存儲系統看上去都更加高級,統壹的函數式接口,自動內存管理等等。用過 LISP 機器的人自然不習慣 UNIX 這種看上去“低級”的操作系統。結果是,用過 LISP Machine 的用戶除了抱怨 UNIX 外,只能尋求在 UNIX 上構建壹個新的層,來彌補 UNIX 的不足。這事情的壹個結果就是造就了Emacs 這個怪獸,到最後幾乎所有能在 UNIX 裏做的事情,都能在 Emacs 裏完成。這樣,除了操作系統內核外,Emacs 完全取代了 UNIX 環境。Emacs 功能強大到大家都同意 Emacs 是個萬能軟件,而 vi 用戶則開玩笑說 Emacs 是個缺少壹個好編輯器的操作系統。大家都知道,Emacs 的作者正是從 MIT 出來的 Richard Stallman。 痛恨者手冊的作者也是在 MIT 的 AI 實驗室工作多年的技術人員。為了解釋 UNIX 的成功,他借用了 Worse is better 中的說法(Garbriel 斷言 C 語言和 UNIX 是終極計算機病毒),把 UNIX 歸類為世界上第壹個計算機病毒。書中提到,UNIX 和病毒的共同特征為:體積小,可傳染多種宿主(可移植),變異快速等等。書中說, UNIX 的普及並不是因為它在技術比其他操作系統更加優越,只是因為可移植,可傳染和變異快,才占據了很大壹塊用戶份額。 這個解釋我認為是相當精當的。相對於其他操作系統,UNIX 基於C書寫,可移植和早期的免費分發方式,即使技術上不夠好,仍然像流行性感冒壹樣蔓延。壹傳十,十傳百,快速攻城略地。當時 UNIX 的風行程度可以從幾個側面來證明。八十年代初雨後春筍壹般地冒出了很多新的UNIX公司,SUN 和 SGI 就是是借著 UNIX 成長起來的典型例子。他們短短幾年間就靠 UNIX 工作站業務跑上了納斯達克。微軟和蘋果是靠個人電腦業務起家的,各自都有自己的操作系統,卻也跑到UNIX世界下註,都曾經推出過自家的UNIX發行版(分別叫做 Xenix 和 A/UX)。UNIX這個”病毒”在工作站和服務器上的寄生能力極強,直到後來演化能力和傳播能力更強的“病毒” Linux 的出現,加上 .COM 泡沫破裂的壹場大洗牌,才把 UNIX 的市場份額壓了下去。Linux 則徹底繼承了所有的“病毒”特性,除去原有的體積小,可移植外,通過開放內核源代碼,造就了現在從超級計算機服務器到嵌入式系統無處不在的現狀。從設備總量來說,世界上從未有壹個操作系統如 Linux 如此成功。 可惜的是 MIT 哲學派本身沒有成功的操作系統產品用來作為比較(除了Emacs這個運行在UNIX上的程序外),因此在批評 UNIX 上火力就欠缺了壹分。為了寫出壹本厚厚的痛恨者手冊砸向UNIX,就需要來自另外壹派,即信奉GUI哲學的用戶的憤怒。 這些用戶的憤怒,主要集中在易用性上。圖形界面操作系統的出現,本質上就是為了解決計算機的可用性問題。在圖形界面系統出現之前,掌握計算機的使用需要的是閱讀厚厚的手冊。圖形界面出現後,只需要幾分鐘的演示,普通用戶即可操作計算機完成壹些簡單的任務。這種效率的本質提升,正是施樂的 Alto 和蘋果的 Macintosh 的革命性所在。而 UNIX 所擁有的,是壹堆兩個字母的命令,不壹致的命令行參數,和壹個實際上不是為 GUI 系統設計的 X 圖形系統。命令難記,X 又臃腫,即使有了這些仍然沒有構成壹個統壹的桌面系統(所以後來才有KDE 和 Gnome),也難怪用戶吐槽不已了。 在這類來自 GUI 用戶的抱怨中,出乎我意料的壹條是對UNIX管道的抱怨。主要的批評點在於管道作為壹種 IPC 機制本身不夠強大,包括管道不支持雙向數據流(雙向管道的用例也極少),只能把數據作為字節流而不能傳遞結構化數據,和指針等等。從傳統 UNIX 用戶的眼光來看,這些指責是很不公平的。管道的作用是串接程序的輸入輸出,將小工具串成強大的工具鏈。但管道並不是 UNIX 上唯壹的 IPC 機制,UNIX 有其他的 IPC 機制來支持管道之外的功能。換壹個角度看,要求管道支持雙向通信,結構化通信等等,正是從 GUI 哲學出發的對管道的批判。在 GUI 世界,進程間的通信有了兩種新的方式:1、把小程序全部集成到壹個大的多線程窗口程序中來進行線程間通信; 2、通過在不同程序間復制粘貼對象。從這兩個角度考慮,自然會要求 UNIX 管道能像線程間通信壹樣雙向,以及支持有結構的對象而不是單純的字節流。 GUI 程序的這壹套新的進程間通信機制,改變了所在平臺的軟件架構。UNIX 的軟件架構,是圍繞軟件工具(Software Tools) 的概念展開的,歸結起來就是每個工具做壹件事情,且做到最好的哲學。因為 GUI 程序本身的復雜性,把林林總總的功能,放入壹個大程序中讓各模塊直接在壹個進程空間裏互相通信成了壹個通行的做法。比如電子表格軟件中的公式計算,無需代理到 bc 這樣的外部計算器中,直接由內置的模塊完成。在這種哲學的指導下,為了給提供全面的解決方案,各種商業程序都追求大而全,內置各種可能用到的功能,因此體積也越來越大。幾百兆大小的商業軟件不足為奇了。UNIX 痛恨者手冊推崇這種只能算局部最優的程序構建方法,而反過來抱怨管道這個另壹個局部最優不夠好,在我看來是有歷史局限性的。 總的來說,這本書代表了 UNIX哲學以外的其他兩種哲學對 UNIX 尖銳的批評,是值得當成UNIX 發展史的壹部分而壹讀的。

2011-10-15

23个设计模式C#代码

简单代码,直观理解设计模式 容易学习,建议收藏

2011-01-07

Python核心编程第二版PDF

本书是经典的Python指导书,在第一版的基础上进行了全面升级。全书分为两个部分:第1部分占据了大约三分之二的篇幅,阐释这门语言的“核心”内容,包括基本的概念和语句、语法和风格、Python对象、数字类型、序列类型、映射和集合类型、条件和循环、文件和输入/输出、错误和异常、函数和函数式编程、模块、面向对象编程、执行环境等内容:第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式、网络编程、网络客户端编程、多线程编程、图形用户界面编程、Web编程、数据库编程、扩展Python 和一些其他材料。

2010-11-22

Maven权威指南中文版PDF

本书是关于Maven最权威最全面的材料,它清晰的解释了Maven这个工具如何给你的软件开发项目带来方便。作者都是拥有丰富经验的专家,其中包括Maven的创始人Jason Van Zyl。 由于Maven在不断发展,本书也只是一个开始,你应该把它看成是第1版。本书的主要目的还是给Maven开发者提供支持。 本书一开始介绍了Maven是什么,以及在各个环境下安装运行Maven。之后的内容分为两个部分:第一部分为Maven实战,沿用了Maven:A Developer's Notebook(该书覆盖的是Maven1的内容,目前绝大多数用户都在使用Maven2)的风格,通过一个个生动实际的例子,循序渐进的阐释了 Maven的用法和核心概念,这些例子从最简单的命令行程序,到Web应用,到多模块项目,直至多模块企业级项目。第二部分为Maven参考,当你渐渐熟悉Maven,并且遇到问题需要解决的时候,这些参考就是最权威和详细的材料了,通过它们,你能了解Maven的高级特性,更深刻的理解Maven系统如何工作。参考覆盖的内容包括项目对象模型,构建生命周期,Profile,站点生成,编写插件等等。值得一提的是,该部分还详细介绍了m2eclipse 和Nexus,m2eclipse是强大的在Eclipse中集成Maven的插件,Nexus是一个功能丰富的仓库管理器,能让你更方便的管理项目构件。 本书英文版在线浏览: http://www.sonatype.com/book 。可以下载到样例源代码。 本书中文版在线浏览: http://www.sonatype.com/book/reference_zh/public-book.html 。 作者介绍: 本书是由Sonatype,Inc 公司的成员集体编写的。Sonatype,Inc公司是Java开发基础设置的领导者。 Tim O'Brien (Sonatype, Inc.) 专业的作家,程序员,歌手,居住并工作于美国芝加哥。最早在一台TRS-80上开始了解编程,之后去弗吉尼亚大学学习电子工程。Tim积极参与开源项目,活动于Jakatra Commons。在此之前他著有Harnessing Hibernate, Maven: A Developer's Notebook 以及 Jakarta Commons Cookbook 。 Jason Van Zyl (Sonatype, Inc.) Jason拥有多于10年的开源及私人企业软件开发经验。在Sonatype之前,Jason是Periapt, Inc.的创始人,这是一个为财富500强公司如丰田,美国银行,和可口可乐提供软件基础设置开发服务的公司。作为一个开源热衷者,Jason是 Apache Maven项目的创始人之一,以及Plexus Ioc框架的创始人,Apache Velocity项目的创始人。Jason目前主持Apache Maven项目管理委员会。它已经参与Apache软件基金会达7年之久,帮助建立了Codehaus,一个备受尊重的开源社区项目孵化设置。 译者介绍: Juven Xu 南京大学软件学院毕业,兴趣方向为Java,敏捷开发。有较丰富的使用Maven管理项目的经验。同时维护了一个Maven中文博客,更新本书之翻译进程,提供Maven相关新闻,以及编写Maven相关技术文章: http://juvenshun.javaeye.com/ 。 目录: 前言 序 1. 介绍Apache Maven 2. 安装和运行Maven I. Maven实战 3. 一个简单的Maven项目 4. 定制一个Maven项目 5. 一个简单的Web应用 6. 一个多模块项目 7. 多模块企业级项目 8. 优化和重构POM II. Maven参考 9. 项目对象模型 10. 构建生命周期 11. 构建Profile 12. Maven装配器 13. 属性和资源过滤 14. Maven和Eclipse: m2eclipse 15. 站点生成 16. 仓库管理器 17. 编写插件 18. 使用其它语言编写插件 附录A. Settings细节 服务B. Sun规格说明非可选实现

2010-11-18

struts in action 英文影印版

Index Numerics 1.0 vs 1.1 448, 464, 477, 483, 544, 546 404 error 203 A absolute path 358 abstract 223, 242 Accessors 13 Action 14?15, 34, 544 base 241 Base View Actions 239 BaseHelper 243 Bridge 219 Action.MAPPING_KEY 221 action-based security 199 ActionErrors 77, 100, 421 ActionErrors.GLOBAL_ERROR 81 ActionForm 15, 19, 72, 150?151, 153, 160, 249, 297, 399, 452, 470 generate 76 reset 76 validate 76 validate method 154 ActionForward 15, 32, 102, 185, 190, 253 ActionMapping 15, 35, 121, 187, 195, 239?240 Roll Your Own 204 ActionMapping properties 196 attribute 202 className 199 forward 198 include 198 input 200 name 199 parameter 201 path 197 roles 199 scope 199 suffix 202 type 199 unknown 203 validate 200 <action-mappings> 121 ActionMessage 421 ActionServlet 36, 72, 107, 110, 194, 256, 258 configure 109 extension points 258 initialization parameters 107 subclass 263 Active Server Pages 11, 42, 270 Adalon 118 adaptor 38, 158, 178, 482 add 403 Ant 4, 27, 91, 106, 130, 133?134, 430 Artimus 539 install 91 Apache 80 Apache Software Foundation 4 API 139, 362 API contract definition 362 application context 482 application resources Struts 1.1 553 application.properties 100, 124, 133, 376 architecture 194, 273 Artimus 27, 136?137, 238, 348, 401, 476?477, 538 Ant 539 application properties 482 build 479 business API 444 business requirements 444 configuration settings 483 data services 444 features 477 global-forwards 489 install 539 introduction 477 Lucene 459 runtime 488 Servlet 484 ASF 83, 92, 464, 477 assertion 212 attribute 238, 289, 343, 360 <auth-constraint> 551 authentication 61, 242, 438 strategy 484 autopopulation 156, 158?159, 166, 179, 181, 202, 446 B BaseAction 229 baseline 90, 94, 538, 544 baseStyle 501 basic validators 543 byte 383 creditCard 384 date 383 double 383 email 384 float 383 integer 383 mask 380 maxLength 382 minLength 383 range 381 required 380 short 383 bCancel 390, 395 bean message 424 size 303 write 424 bean tag 282 BeanUtils 171?172, 448, 534 enhancements 535 best-practices application 476 binary file 153 blackbox 257 Blank application 90, 137, 336 blank.war 90, 94 body wrap 329 bridge 75, 219 browser 87, 297, 299 location bar 102 browser?s cache 72 buffer 75, 151, 153?154 build.xml 91?92, 101, 106, 130?131, 133 bulk constructor 168 bulk populator 445 bulk setter 168?169, 445, 448 Business Delegate pattern 442, 469 business layer 75, 158, 165, 175?176, 209, 212, 216, 240, 440?441 design consequences 443 business logic 157?158, 189, 194?195, 211?212, 240, 247, 494 characteristics 442 business objects 441 creating 441 C Cancel button 395 Cascading Style Sheets 287, 321?322, 491 Castor 455 CGI 249, 283 chained exceptions 243 ChainedException 495 checkbox 153, 163, 297 chrome 61 definition 347 classname 204, 262 CLASSPATH 109 client-side validators 521 coarse-grained 155, 406 Artimus 494 Cocoon 220 cohesion 368 ColdFusion 270 Collection 496, 534 Common Gateway Interface 8?9 Commons BeanUtils 175, 534 conf 542 connection pool 124?125, 482 Jakarta Commons DataBase Connection 125 Constants class 98 container 38, 49, 66 content syndication 464 content tile 329 context application 46 request 51, 77, 186, 246 session 46, 82, 84?85 ContinueAction 231 Controller 31, 88, 239 Struts 31 <controller> 123 ControllerConfig 123 nocache 123 null 123 ConvertUtils 534 cookies 7, 66, 306 Core J2EE Patterns 39, 442 couple 442 couplets 74 coupling 439 definition 368 CRUD 224 CSS See Cascading Style Sheets CVS 479 D data conversion definition 370 data services 438?440, 482 data transformation definition 370 database 69, 100, 125, 155, 164?165, 176, 240, 438 <data-sources> 125 dbForms 39 debug 82, 85, 109, 344, 399 decouple 43, 236 default error page 216, 282 default resource bundle 419 defining requirements 86 Denial of Service exploit 156 depends attribute 378 deprecated 35, 110, 125, 184, 196, 201, 210 descriptor 82, 85, 106?107 design principle 116, 160, 562 detect errors 213 development environment 6 install 134 Digester 110, 116, 126, 258, 464, 534, 542 dispatch 180, 185, 221, 224?225, 227, 253, 497 dotted syntax 158, 167, 172 Dreamweaver 270, 565 duplicate parameters 303 DynaActionForm 34, 76, 119?120, 162, 538, 549 DynaBean 34, 54, 162 dynamic binding 40 dynamic construction 217 dynamic forwards 189 dynamic selection 217 E e-mail 384, 557 encapsulation 116, 220, 236, 338, 411, 442 Enterprise JavaBeans 30, 36, 164, 442, 468 error messages 71 errors replacement parameters 214 exception SQL 442 exception handling 21, 35, 78, 118, 210, 216, 258, 262 ExceptionHandler 258, 262 exceptions best practices 443 chained 442 ExceptionHandler 118 global 118 type 119 execute method 78 extension point 40, 238, 258, 361 F Facade pattern 469 factory 111, 125, 170, 451 findForward 34 fine-grained 155 firewall 151, 156 flexible point 40 Form DynaActionForm 150 formatKey 424 <form-beans> 119 formset 377?378, 392, 403 framework 5?6, 37, 66, 69, 72, 74, 134, 136, 368, 431, 438, 476, 556 Servlet frameworks 39 full-text search 459 G getter 160, 162, 176 Global ActionForwards 187 <global-exceptions> 118 <global-forwards> 120 global-forwards Artimus 489 Go4 39 H Hashtable 201 hidden field 224, 519 hotspot 223, 237, 275 ResourceServlet 486 HTML 37, 72, 286?287, 297, 347 generate 269 html errors 77, 388, 425 form 71, 73 image 425 img 425 link 142, 561 messages 425 multibox 434 option 427, 434 password 71?72 reset 71 submit 71 text 71?72 HTML base tag 68 html tag 285 HTTP 7?8, 37, 75, 153, 289 HTTP request 186 HttpUtils 201 hyperlinks 32 I ImageButtonBean 300 immutable 155, 228, 414 transfer object 447 value object 168, 170 import 67 IncludeAction 221 inheritance 40 <init-params> 123 integration layer 438?439 interface 163 internationalization 412 definition 410 introspection definition 114 IOException 216, 243 ISO 412, 420 ISO-Latin 153 iterate 290 J J2EE Blueprints 212, 443 JAAS 260 Jakarta Commons Logging Component 83 Jakarta Commons Validator 368 Jakarta Taglibs 279 JAR 539 Jasper 47, 49 Java install 133 Java 1.4 244, 448 Java Development Kit 16 install 16 Java HotSpot compiler 448 Java Mail 11 Java Message Service 11 Java Naming and Directory Interface 11 Java Servlet container install 133 java.text.MessageFormat 416 java.text.SimpleDateFormat 383 java.util.Locale 129, 383, 412 java.util.Map 171 java.util.ResourceBundle 129 JavaBean 12, 14, 163, 442 definition 12 Specification 442 Tutorial 442 JavaDocs 116 JavaScript 71, 75, 87, 154, 225?226, 253, 305, 366, 368, 376, 521 generate from tags 306 JavaServer Faces 4, 279 JavaServer Pages 10, 66, 88, 118, 140, 148, 161, 194, 220, 268, 271, 320, 332, 493, 556, 565 custom tags 274 include 320 install custom tags 276 JDBC 11, 30, 36, 125, 245, 438, 445, 482, 496 driver 438 jEdit 27, 134 install 91 Jetspeed 477 JNDI 100, 483, 497 jsessionid definition 66 JSP 1.2 272 JSP See JavaServer Pages JSP tag library 36 JSP tags 11?12, 249, 271 localize 422 JSTL 12, 268, 271 expression language 272 Struts 271 JUnit 443 JVM 173, 244, 413?414 L LabelValueBean 297, 548 layered architecture 60 Layers pattern 43, 45, 438?439 LDAP See Lightweight Directory Access Protocol Lightweight Directory Access Protocol 438 load-on-startup 109 local ActionForward 187 local exception 204 local forward 203 locale 128, 179?180, 214, 383, 412 change 430 definition 129 resetLocale method 180 locale-sensitive definition 413 localization 36, 82, 85, 124, 176, 213, 225, 283, 368, 392 Collections 433 definition 411 images 426 JSP tags 422 labels 299 options 299 resource files 130 special characters 420 localizing collections 299 logging 54, 56, 82?83, 239 logic tag 68, 287 Control flow tag 289 Evaluation tag 287 logon application 60?61, 556 Velocity 566 LogonAction 34, 77 loosely bound 89 Lucene 6, 458, 460, 487?488 Artimus 461 classes 460 Create index 461 factory 462 initialize index 487 introduction 460 M Macromedia HomeBase 278 UltraDev 278 magic token 98 maintainability 439 maintenance 114, 116, 155, 162, 169, 224, 247, 288, 355, 372, 556 Map 160, 163, 171?172, 181, 499 mapped properties 160 markup 66, 77, 288 definition 347 mask 396 mask validator 396 McClanahan, Craig 4, 417, 534 message formatting 419 message key 56, 140, 226, 376, 378 Message Tool 420 MessageFormat 416 MessageResources 213, 418 message-resources 118, 123, 489 ResourceBundle 128?130, 384 definition 129 ListResourceBundle 415 PropertyResourceBundle 415 <message-resources> 123 messaging protocol definition 157 modal definition 366 Model 31, 77, 89, 194, 239 Model 2 77, 194, 516 Model/View/Controller architecture 239 modular application 139 module 113 msg element 378 multibox 297 multipage validation 395 multipart MIME 159 MultipartRequest 49 multithreaded 103 mutable 430 ActionForm 155 definition 155 value objects 167 mutator 13 MVC 46, 77, 247, 273, 444, 515?516, 556 MVC 2 14, 41 MySQL 125, 245 N native data types 166 native2ascii 420 nomenclature 56 Tiles 346 nonmodal 366 normalization 120 notify/subscribe 41 O ObjectAssembler 118 ObjectRelationalBridge 455 object-to-relational mapping 445 ObjectVenture 118 Objectwave 286 ObjectWorks 31 Observer notification pattern 43 onsubmit 390, 521 P parameter property 103, 201, 221, 224, 231, 236, 248, 493 password 72 clear 294 path 74, 121, 510 pattern Front Controller 194 Hollywood Principle 257 Inversion of Control 257, 495 Layers 438 View Helper 51 pattern-based validation 368 performance 9, 52?53, 139, 164, 173, 194, 213, 334, 495, 516 performant 52 definition 52 reflection 448 persistence layer 455 PHP 270 pluggable 40, 127, 258, 374, 390, 393 definition 392 pluggable validator 392 Create 392 <plug-in> 124 plug-in 263 PlugIn Action 258, 540 Poolman 483 POST 152 PostScript 557 prepared statements, using 441 presentation layer 44, 82, 88, 115, 158, 179, 268, 320, 430, 556 ProcessBean 446 API contract 499 definition 445 performant 448 populate 448 processRoles 260 properties 99 Properties file 99, 106, 128, 132, 201?202, 387, 451, 482 logon application 63 Velocity 568 Protected Variation 115 definition 116 protocol 151, 157, 160, 438 proxy 178 Q query string 159, 185?186, 201, 253, 444, 493 queuing messages 215 R radio button 293 redirect 51, 88, 122, 185?186, 229, 490 refactor 219, 329, 348, 351, 355, 358 definition 330 extract method 344 Tiles 348 reflection 50, 52, 114, 157, 173, 176, 224, 248, 448 definition 114 performant 448 transfer by 173 Register application 18, 99 regular expression definition 369 Jakarta RegExp package 381 reload 70, 96, 138, 358 remote 165 replacement parameter 214, 372, 376, 378, 403 request 151?152, 159, 195, 202, 211, 213, 283, 289, 297 request context 186 request methods 7 request parameters 156, 186 RequestDispatcher 186, 198, 219 RequestProcessor 258?259 reset 228 Resin 49, 138, 272, 483 resource 245, 368, 382, 420, 423, 450 resource bundle 410 definition 414 resource layer 438?439 restricted character 185 ResultList 496 Rich Site Summary 438, 464, 477, 488 channel 465 ChannelBean 466 item 465 Syndication 466 Roles 50 RSS See Rich Site Summary runtime 90, 114, 128, 159, 216?217, 321, 325, 410, 416 Velocity 559 S Scaffold 6, 179, 181, 187, 201, 219, 223?224, 229?230, 236?237, 244, 248, 252, 358, 401, 434, 478, 482 ResultList 449 Scaffold BaseForm 401 Scaffold Forward-only FindForwardAction 234 ParameterAction 233 RelayAction 231 SuccessAction 230 Scaffold helper Actions 237 AttributeExistsAction 238 BaseHelperAction 236 RemoveAttributeAction 239 Scioworks 118 scriptlet 10, 271, 278, 283 search boolean 459 date range 459 full-text 459 search utilities 488 security 82, 125, 164, 199, 217, 238, 242, 260?261, 288, 483 action-based 538, 550 authorization 484 declarative 480 expired password 262 proprietary 261 protect URLs 483 realm 100 security role 199, 217, 342, 513 semaphore 444 serialized 155 server-side validation 519 servlet 9, 566 ActionServlet 14, 49 ActionServlet parameters 110 requests 109 VelocityViewServlet 559 Servlet API 153, 201 2.3 201 servlet container 68 servlet context 280 Servlet specification 66, 186, 221 ServletExceptions 216 ServletRequest.getLocale() 418 Servlets 2.3 API 272 session 66, 83, 242, 430 session context 186, 211 Session Facade pattern 469 setter 160, 162, 176 Simper 455 singleton 256 Smalltalk 31 source tree 90, 130 SQL 38, 125, 243, 438, 445, 486, 557 fetch 486 standard base actions BaseAction 222 DispatchAction 224 LookupDispatchAction 225 standard bridge actions ForwardAction 220 Include Action 221 static definition 8 stringTokenizer 201 Struts strengths 56?57 weaknesses 54, 56 Struts 1.0 vs 1.1 76, 78, 107, 184, 220, 224, 256, 374, 538, 542 Struts 1.1 76?78, 80, 83, 96, 100, 109?110, 113, 117, 123, 125, 140, 150, 160, 163, 171?173, 181, 184, 196, 204, 210, 212, 214?216, 224, 256, 258, 344, 399, 424, 489, 503?504, 516 application resources 553 features 535 migration 534 ReloadAction 544 Tiles 540 Validator 543 Struts configuration file 15, 21, 45, 69, 92, 106, 113, 133, 195, 249, 538 DTD 118 elements 117 RequestProcessor 259 struts-config Velocity 569 struts-config objects subclassing 126 Validator PlugIn element 543 Velocity 561 Struts files install 134 Struts JAR share 142 Struts message resources file 77 Struts resource page 69 Struts Taglib Developer Guide 274 Struts tags converters 286 features 280 localize 284 Struts tip 155, 176, 179, 217, 223?224, 226, 232, 236, 241, 244, 297, 303, 306, 507 Struts Validator 136, 371, 374, 399 struts-bean.tld 46 struts-config.xml See Struts configuration file struts-html.tld 46 Struts-Layout taglib 279 struts-logic.tld 46 style sheets 67, 305 suffix 202 Swing 31, 75?76, 482 synchronizer token 242, 295 T tag library 109 Tag Library Descriptor 12, 109, 276, 541 taglib 148, 279, 323 thread 210 thread-safe 239, 495 definition 210 tier 158 Tiles 6, 136, 221, 538 ActionForwards 335, 338 Artimus 499 attributes add 343 importAttribute 340 put 341 useAttribute 340 checklist 135 configure 134 conventions 361 create configuration 336 declare Definitions 331 Definition 327, 540 Definition factory 335 Definition naming convention 500 Definition reuse 334 deploy 328 deploy Definition 333 extend Definition 336 extraction practices 353 get 325 getAsString 325 ignore property 334 inheritance 337 insert 325 JSP declaration 332 localize 433 migration 343 migration to Struts 1.1 534 migration to Tiles 1.1 540 MVC 330 overloading 333, 337 parameters 327 region 326 Struts 1.1 540 useAttribute 501 web.xml 336 timestamp 175 TLD See Tag LIbrary Descriptor Tokens 187 Tomcat 4, 16, 49, 96, 133, 138?139, 143, 271 install 17 test 17 toString() 325 transaction 445 transfer object 151, 155, 165, 470, 497, 507 definition 155 ProcessBean 447 transformer 151, 155 Turbine 39 U Unicode definition 420 Uniform Resource Identifier 35, 109, 120, 152, 184?185, 209 definition 70 Universal Modeling Language 115 upload 153 URI See Uniform Resource Identifier URL encoding 152 definition 152 URL rewriting 66 URL-pattern 260 V validation 33, 72, 87, 149, 212 client-side 368 enable server-side 373 hallmarks 367 interrelated fields 397 spoof 368 Web-tier 367 validation.xml 124 Validator 6, 388, 503, 519 configuration files 387 custom messages 396 declare validator element 394 invoke 404 JavaScript 521 JSP tags 388 localize 432 logon example 374 migration 399 migration to Struts 1,1 534 setup 399 Struts 1.1 543 taglib 379 techniques 394 Validate method 379 validator.xml 377 ValidatorActionForm 391 ValidatorForm 391 validator-rules.xml 374 Validator messages custom messages 386 default validator messages 385 replacement parameters 386 ValidatorForm 76 super class 404 validator-rules.xml 136 value object 53, 155, 167, 169, 238, 273 mutable 167 Velocity 4, 30, 36, 39, 46, 66, 69, 107, 239, 270, 555?557 compare to custom tags 560 context 559 context attributes 560 deploy 567 HTML editors 557 install VelocityViewServlet 566 logon application 563 references 559 servlet resources 559 setting up VelocityViewServlet 566 statements 559 Struts 561 Template Language 557 toolbox configuration 568 toolbox parameter 567 toolkit 562 View 31, 88 W WAR 18, 62, 90, 133, 137, 478 web server 152 web.xml 12, 49, 82, 85, 92, 106?107, 133, 277, 344, 480 WebLogic 49 welcome file 109 welcome page 93 whitebox 257 wizard 76, 238?239, 390 X XDoclet 470 XML 69, 331, 488?489, 519, 538

2010-11-15

鲁棒的数据库持久层设计.pdf

鲁棒的数据库持久层设计.pdf 经验之谈,转载前人成果

2009-05-05

定时关机程序 无需注册 绿色

不用注册、绿色、支持多种模式,包括远程关机

2009-05-05

UML参考手册 基本概念

UML参考手册 基本概念,初学者最实用,建议收藏备查

2009-05-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除