Alpha:閱讀過一些專業書籍,大多數能用Dreamweaver或者FrontPage幫朋友制作一些Web頁面。但在他們熟練掌握HTML代碼以前,你大概不會雇傭他們成為職業的WEB制作人員。
Beta:已經比較擅長整合站點頁面了,在HTML技巧方面也有一定造詣,但還是用Tables來制作頁面,不了解CSS,在面對動態頁面或數據庫連接時還是底氣不足。
Pre Version 1 (0.1):比Beta版的開發者水平要高。熟悉HTML,開始了解CSS是如何運作的,懂一點JavaScript,但還是基于業余水準,逐步開始關心動態站點搭建和數據庫連接的知識。這個版本的WEB開發人員還遠不能成為雇主眼中的香餑餑。
1.0: 能夠基本把控整個站點開發,針對每個問題盡可能的找到最直接的解決辦法。但對可測性,可擴展性以及在不同(層)框架下如何選擇最合適的WEB設計工具尚無概念。這個版本的WEB開發者有良好的技術基礎,需要有進一步的幫助和指導。
2.0:懂面向對象的編程語言,理解分層開發的必要性,關注代碼分離,對問題尋找更完美的解決方法,偶然也會考慮設計模式的問題,但對此仍然概念不清。屬于優秀的初級開發者,能完成較松散的代碼開發(相對大型嚴謹的站點開發而言),在面對較復雜問題尋找解決辦法時需要周邊人的幫助。
3.0:開始較為深入的理解面向對象編程和設計模式,了解他們的用途,當看到好的設計模式時能看透其本質,逐步關注分層的架構解決辦法和可測試性。理解不同的開發語言并能說出他們的異同(例如各自的優勢)。屬于優秀的中級別開發者,雇主也確信他們最終能找到問題的解決辦法,這個版本的人可以給1.0和2.0的開發者以指導。但他們對架構的理解仍然不夠清晰,值得一提的是,只要給予一些指導,他們能很快理解并熟記做出的決定,以及選定方案的優勢所在。
4.0:理解模式,重視用戶的反饋。著手研究方法論,架構設計和軟件開發的最佳入口。頭腦中已經形成了超越開發語言,技術架構的整體方案,可根據需求解構程序。能從理論的角度,不同模式如何融合成最佳形態,將多種X-驅動的模式應用到不同的方案中。是精通多語言的高手,理解不同系統和方法論的細微差別,屬于高級程序員。這個級別的人能夠輕易的輔導2.0和3.0的程序員,將他們推向更高的級別。
5.0:從系統的角度考慮問題。對各種系統結構有深入研究,能對整個代碼架構中的問題進行改進。在團隊粘合性以及代碼安全性方面有杰出貢獻。對1.0到4.0版本的開發人員出現的問題能及時察覺,讓整個團隊保持積極性且保持興奮的狀態創建軟件解決辦法。舉例來說,他們總是對新的技術和信息保持饑渴狀態,試圖用最簡便的方案解決開發任務。在整個IT團隊中獲得信任,屬于高級程序員和架構師。
那么,您屬于哪個版本的程序員呢?
也許,你想到了個補救方法來挽救程序2,就是每次在處理完list后,我把它設置為null,不讓棧幀繼續引用著它,咱編寫對gc友好的代碼,這不就行了,試試:
作用域 |
當前類 | 同一package | 子孫類 |
其他package |
public | √ |
√ |
√ |
√ |
protected |
√ |
√ |
√ |
× |
default | √ |
√ |
× |
× |
private | √ |
× |
× |
× |
A.將mysql的JDBC連接庫mm.mysql-2.0.9-bin.jar放入TOMCAT_HOME/common/lib中
B.配置TOMCAT_HOME/conf/serer.xml文件在<Service>;段中加入一個Context:
<Context path="/DBTest" docBase="DBTest"
debug="5" reloadable="true" crossContext="true">
</Context>
這是DBTest的根路徑,這是為了在DBTest中使用做準備.
C.在上面加入的<Context>;段加入
<Resource name="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/TestDB">
<parameter>
<name>;factory</name>
<value>;org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->
<parameter>
<name>;maxActive</name>
<value>;100</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.
Set to 0 for no limit.
-->
<parameter>
<name>;maxIdle</name>
<value>;30</value>
</parameter>
<!-- Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<parameter>
<name>;maxWait</name>
<value>;10000</value>
</parameter>
<!-- MySQL dB username and password for dB connections -->
<parameter>
<name>;username</name>;
<value>;test</value>
</parameter>
<parameter>
<name>;password</name>
<value>;test</value>
</parameter>
<!-- Class name for mm.mysql JDBC driver -->;
<parameter>;
<name>;driverClassName</name>;
<value>;org.gjt.mm.mysql.Driver</value>
</parameter>
<!-- The JDBC connection url for connecting to your MySQL dB.-->
<parameter>
<name>;url</name>
<value>;jdbc:mysql://localhost:3306/test</value>
</parameter>
</ResourceParams>
這里每一個小段都有英文注解,是Tomcat提供的,我們可以將按照Sample加入,主要修改的是driverClassName,
url,和用戶帳號;需要強調的是"jdbc/TestDB"就是JDNI要查找的Name.
在web.xml中加入
<resource-ref>
<description>;DB Connection</description>
<res-ref-name>;jdbc/TestDB</res-ref-name>
<res-type>;javax.sql.DataSource</res-type>
<res-auth>;Container</res-auth>
</resource-ref>
這里的jdbc/TestDb要和C中Resource段的name匹配
Request
| ActionServlet
| 如果不存在相應的Action則否則返回error,流程結束
| 創建ActionForm
| 進行validatge校驗,如果沒有通過校驗則返回error
| 創建Action
| 執行Action的execute方法,并返回ActionForword對象
| return respose
結束
|
wiki上的文檔翻譯:
Remote DIV 標簽和普通的Html的DIV標簽工作方式是一樣的,但是它可以通過標簽內指定的一個網址來裝載它的內容.
屬性
名稱 | 描述 |
id (必有): | DIV的ID |
href (必有): | 用來獲取內容的網址 |
delay: | 第一次裝載內容需要延遲多長時間 (毫秒) |
updateFreq: | 多長時間重新取一次內容 (毫秒) |
loadingText: | 裝載內容中對用戶顯示的文字 (特別是取內容的時候要花費很長的時間 |
errorText: | 如果取內容時發生了錯誤,向用戶顯示的提示 |
showErrorTransportText: true/false | 當獲取內容有問題的時候,是否把錯誤信息當作內容顯示 |
listenTopics: | 監聽的Topic名稱(多個逗號分割), 將會導致此DIV重新獲取內容 |
afterLoading: | 獲取內容后要執行的Javascript代碼 |