1.先做好銀行這個(gè)通訊接口(貫徹領(lǐng)悟設(shè)計(jì)模式的實(shí)踐,有利于學(xué)習(xí)UML設(shè)計(jì))
2.再看看設(shè)計(jì)模式,主要是j2EE設(shè)計(jì)模式,然后找出j2EE的關(guān)注點(diǎn),徹實(shí)的針對(duì)學(xué)習(xí)(當(dāng)然,最好還是那個(gè)未完成的管理系統(tǒng)來當(dāng)靶子),最重要的是把所有的各種的模式的思想貫徹進(jìn)來,使自己的思想層次上一個(gè)高度。(以Spring為中心展開)(數(shù)據(jù)結(jié)構(gòu))
3.學(xué)習(xí)UML,使用Together進(jìn)行簡(jiǎn)單的分析
4.熟悉WebLogic和Oracle
5.更遠(yuǎn)一點(diǎn)的是MatinFlower的從分析構(gòu)架
...............................................看來要學(xué)的還真多!^_^ +U! 我行!
摘要: 序言:
平靜的湖泊中的小魚總是向往大海,去大海中追逐……!而我就是這樣一條小魚!當(dāng)我從優(yōu)厚待遇的國(guó)企里走出來并過著青黃不接的日子的時(shí)候,我有些朋友驚奇的詢問我,我就這樣回答他們。
這個(gè)世界的游戲規(guī)則沒人完全知道,但每個(gè)人都有自己的人生觀和價(jià)值觀以及做人的原則,我也一樣,生活中積累的人生觀一直牽引著我向前走,并讓我能很坦然的面對(duì)任何事情。想法一直在變,人也在一天天的成長(zhǎng),特把現(xiàn)在的想法記錄于紙上。
————時(shí)刻保持自己對(duì)技術(shù)的狂熱,做好自己本分的事,任何事情只要真正努力了,無怨無悔就好了。這個(gè)世界沒有對(duì)或錯(cuò),只有兩個(gè)字——責(zé)任!
閱讀全文
目錄
Web項(xiàng)目解決方案框架
1 解決方案框架
2 用例文檔
3 設(shè)計(jì)數(shù)據(jù)庫(kù)
4 業(yè)務(wù)邏輯
5 設(shè)計(jì)UI
5.1 UI文檔描述
5.2 確定界面布局(layerout)和風(fēng)格(style)
5.3 頁面復(fù)用技術(shù)
6 設(shè)計(jì)頁面處理組件.
7 設(shè)計(jì)操作流
詳情請(qǐng)進(jìn)>>
這個(gè)文檔資料描述了log4j?API,它的獨(dú)特的特性和設(shè)計(jì)原理。Log4j是由許多作者共同參與的開放源代碼項(xiàng)目。它允許開發(fā)人員以任意的精細(xì)程度控制哪些日志說明被輸出。通過使用外部的配置文件,可以在運(yùn)行時(shí)配置它。最好的是,log4j?開發(fā)包很容易上手。注意,它也可能會(huì)使一些開發(fā)人員著迷.
詳情請(qǐng)進(jìn):
log4j簡(jiǎn)明手冊(cè)另外一篇文章:
作者:廖武鋒
MSN:liaowufeng1111@hotmail.com
1 log4j是什么?
Log4j是一個(gè)開源的日志記錄組件,其產(chǎn)品已經(jīng)相當(dāng)?shù)某墒欤沂褂梅浅5膹V泛。在工程中以易用,方便等代替了 System.out 等打印語句。
Log4j的目標(biāo)是:它允許開發(fā)人員以任意的精細(xì)程度控制哪些日志說明被輸出。通過使用外部的配置文件,可以在運(yùn)行時(shí)配置它。
通過其要實(shí)現(xiàn)的目標(biāo),我們已理解出log4j將是一個(gè)十分好用的組件。
Log4j的具體在 http://logging.apache.org/log4j/找到 它。另外,log4j已經(jīng)被轉(zhuǎn)換成 C, C++, C#, Perl, Python, Ruby, 和 Eiffel 語言。
下面,我就從log4j的配置文件來具體講述,log4j的功能,通過配置文件來學(xué)習(xí)新技術(shù)已是一個(gè)很好的學(xué)習(xí)方法。
Log4j有兩個(gè)重要的概念:一是日志級(jí)別,其日志級(jí)別關(guān)系為
DEBUG>INFO>WARN>ERROR>FATAL 原則,高級(jí)別將顯示低級(jí)別的日志
二是appender(也是輸出目標(biāo)),在這上的還有輸出格式
其支持的輸出目標(biāo)為 文件,控制臺(tái),數(shù)據(jù)庫(kù),且支持一次指定多個(gè)輸出目標(biāo)
Log4j的配置文件除了支持:*.properties 文件名,還支持運(yùn)用十分廣泛的xml文件。
下面的講述中,我只通過*.properties文件來說明。
Log4j的屬性文件的講述
# 定義根日志,日志級(jí)別為DEBUG 輸出目標(biāo)為控制臺(tái),文件
log4j.rootLogger=INFO,A1,R
# 包c(diǎn)om.liaowf日志,日志級(jí)別為DEBUG 輸出目標(biāo)為控制臺(tái),文件(注意,包c(diǎn)om.liaowf下的所有類將自動(dòng)擁有此日志屬性)
log4j.logger.com.liaowf=DEBUG,A1,R
# 名稱為IAMLogInfo日志,日志級(jí)別為INFO,輸出目標(biāo)為數(shù)據(jù)庫(kù)(注意,所有使用IAMLogInfo作為名稱的日志將擁用些日志屬性)
log4j.logger.IAMLogInfo=INFO,DATABASE
# 類com.liaowf.console.connector.Synchro日志,日志級(jí)別為DEBUG,輸出目標(biāo)為控制臺(tái)
log4j.logger.com.liaowf.console.connector.Synchro=DEBUG,A1,userSynR
# 類com.liaowf.console.authorization.dao.UserDao日志,級(jí)別為DEBUG,輸出目標(biāo)為文件
log4j.logger.com.liaowf.console.authorization.dao.UserDao=DEBUG,A1,userTelnet
# 配置TRUE
log4j.addivity.org.apache=true
# 定義控制臺(tái)Appender
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
# 輸出到文件Appender
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=c:/iamSystem.log
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=1
#log4j.appender.R.layout=org.apache.log4j.HTMLLayout
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
# JDBC 輸出到數(shù)據(jù)庫(kù)的Appender
#log4j.appender.DATABASE.Threshold=INFO
#log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
#log4j.appender.DATABASE.BufferSize=10
#log4j.appender.DATABASE.URL=jdbc:microsoft:sqlserver://10.170.88.4:1433;DatabaseName=iamconfig
#log4j.appender.DATABASE.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
#log4j.appender.DATABASE.user=iamconfig
#log4j.appender.DATABASE.password=iamconfig
#log4j.appender.DATABASE.sql=INSERT INTO wap_mail_jws_log??VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m', '')
#log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
# 輸出到文件的appender
log4j.appender.userSynR=org.apache.log4j.RollingFileAppender
log4j.appender.userSynR.File=c:/iamSystem_userSynR.log
log4j.appender.userSynR.MaxFileSize=500KB
log4j.appender.userSynR.MaxBackupIndex=1
#log4j.appender.userSynR.layout=org.apache.log4j.HTMLLayout
log4j.appender.userSynR.layout=org.apache.log4j.PatternLayout
log4j.appender.userSynR.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
# 輸出到文件Appender
log4j.appender.userTelnet=org.apache.log4j.RollingFileAppender
log4j.appender.userTelnet.File=c:/iamTelnet.log
log4j.appender.userTelnet.MaxFileSize=500KB
log4j.appender.userTelnet.MaxBackupIndex=1
#log4j.appender.userTelnet.layout=org.apache.log4j.HTMLLayout
log4j.appender.userTelnet.layout=org.apache.log4j.PatternLayout
log4j.appender.userTelnet.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
log4j倒底能提供我們什么功能,我們來總結(jié)一下:
1 根據(jù)我們?cè)O(shè)置的日志級(jí)別,控制日志的輸出
2 日志的輸出支持自增式文件,控制臺(tái),數(shù)據(jù)庫(kù),還可以擴(kuò)展。
3 日志的屬性,當(dāng)按"."命名有繼承性,我們常使用類名來命名日志
2 通過上面的介始,我們給一個(gè)工程沒有l(wèi)og4j的工程增加log4j功能的。根據(jù)下面幾個(gè)步驟,你將很輕松的完成。
1 下載log4j的jar包(這個(gè)不用多說了)
2 編寫一個(gè)log4j.properties 屬性文件,放到你的源文件的根下,再根據(jù)具體修改
3 在每一個(gè)需要記錄日的類中,增加一個(gè)類成員
????// 初始化日志處理類
??Logger log = Logger.getLogger(類名.class.getName());
4 在你需要打日志信息的代碼中,如下寫出
打info信息
Log4j.infor("");
打debug信息
If(log4j.isDebuged()) {
??Log4j.debug("");
}
打error信息
Log4j.error("");
Tomcat:
1. Tomcat啟動(dòng)分析2.
Tomcat啟動(dòng)腳本catalina.sh 腳本catalina.sh用于啟動(dòng)和關(guān)閉tomcat服務(wù)器,是最關(guān)鍵的腳本
另外的腳本startup.sh和shutdown.sh都是使用不同的參數(shù)調(diào)用了該腳本
3.
Tomcat的類載入器
J道中關(guān)于Struts的一大段討論:
為什么大家對(duì)mvc也沒有感覺特別的好呢?關(guān)鍵是大家設(shè)計(jì)水平不高,mvc怎么分離阿,一個(gè)比較明顯的地方就是MVC接口隔離了沒有,你們的些的程序代碼里還有sql語句沒有。無論你把sql,放在的action,還是自己所以為的模型里。怎么實(shí)現(xiàn)呢?我提醒大家,把控制放在xml里,程序里面是接口,模塊,參數(shù)在運(yùn)作。也不要相信那些美妙的持久層框架的謊言。持久到最后,重用層次還是不高
詳情請(qǐng)進(jìn):使用struts的體會(huì)
在javaEye中一篇關(guān)于接口設(shè)計(jì)的帖子:
Robbin的回復(fù):
我比較習(xí)慣于先定義接口,然后寫一個(gè)抽象類類實(shí)現(xiàn)通用的操作,專用的操作定義為抽象方法,強(qiáng)制繼承類實(shí)現(xiàn)。這樣一般的類就直接繼承該抽象類,然后比較特殊的地方實(shí)現(xiàn)抽象方法。非常特殊的類就直接實(shí)現(xiàn)接口。
詳情請(qǐng)進(jìn):關(guān)于接口的設(shè)計(jì)