锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 閬囧埌浜嗕竴浜涢棶棰?濡俬ibernate寤惰繜鍔犺澆閿欒錛岃繖閮芥槸鑰佹帀鐗欑殑闂浜嗭紝涓鐪嬪氨鐭ラ亾鍔犱釜lazy=flase灝監K浜嗐傛兂涓嶅埌蹇瀹屾垚浜嗗張閬囧埌浜嗘柊鐨勯棶棰橈紝JSON姝誨驚鐜紝瀹炲湪璁╀漢閮侀椃銆傚紓甯稿涓嬶細 net.sf.json.JSONException: There is a cycle in the hierarchy! 浠旂粏鏌ヤ簡涓涓嬪彂鐜版槸hibernate涓誨閿叧鑱旂殑閿欙紝鍚庢潵灝辨兂涓媕son婧愪唬鐮佷笅鏉ョ湅錛屽彂鐜板ぇ璐瑰懆绔犻兘娌℃悶鍒癹son婧愮爜錛岃繕鏄佸姙娉曞弽緙栬瘧鐬呯瀰錛屽彂鐜癑SONArray鏍規嵁鍒ゆ柇鍙栧緱鐨勪笉鍚岀被鍨嬭皟鐢ㄧ浉搴旂殑鏂規硶錛?br /> if (object instanceof Collection) 鑰屾垜浠巋ibernate閭e緱鍒扮殑鏄痩ist錛屾墍浠ュ幓璋冪敤浜哶fromCollection鏂規硶錛岃岄噷闈㈢殑鏂規硶鍙戠幇涓涓棶棰橈細璇ユ柟娉曚細涓嶆柇鐨勬媶寮瀹炰綋灞炴э紝鐩村埌娌℃湁涓烘錛岃屾垜鐨凜ontactGroup閲屾湁涓や釜灞炴х敤浜庤嚜韜叧鑱?br /> private Set contactGroups = new HashSet(0); public interface PropertyFilter public abstract boolean apply(Object obj, String s, Object obj1); 涔熷氨鏄鎴戝彲浠ラ氳繃榪欎釜鏂規硶榪囨護鎺塋ist閲岀殑鐩稿簲灞炴э紝鍙璁╁畠榪斿洖true灝卞彲榪囨護鎺夛紝……錛屾湁鐐規偓……鎴戜滑閲嶅啓涓涓嬭繖涓柟娉曪細 JsonConfig cfg = new JsonConfig(); 灝唄ibernate浜х敓鐨勫疄浣揵ean涓殑contactGroups鍜宑ontactGroupPersons榪囨護鎺夊氨OK浜嗭紒 鐒跺悗璋冪敤JSONArray.fromObject(mychildren,cfg); mychildren鏄痟ibernate榪斿洖鐨刲ist銆?/p> 鎼炰簡涓涓嬪崍錛屽弬鑰冪綉緇滅殑璧勬枡錛佽В鍐抽棶棰樹簡錛?/p> ------------------------------------- MyEclipse 蹇嵎閿?(ALT+CTRL) Alt+CTRL+↓ 澶嶅埗褰撳墠琛屽埌涓嬩竴琛?澶嶅埗澧炲姞) --------------------------------------------
at net.sf.json.util.CycleDetectionStrategy$StrictCycleDetectionStrategy.
handleRepeatedReferenceAsObject(CycleDetectionStrategy.java:97)
at net.sf.json.JSONObject._fromBean(JSONObject.java:674)
at net.sf.json.JSONObject.fromObject(JSONObject.java:181)
at net.sf.json.JSONArray._processValue(JSONArray.java:2381)
at net.sf.json.JSONArray.processValue(JSONArray.java:2412)
Truncated. see log file for complete stacktrace
>
return _fromCollection((Collection)object, jsonConfig);
private Set contactGroupPersons = new HashSet(0);
涔熷氨鏄涓誨閿嚜韜叧鑱旂殑鏄釜姝誨驚鐜紝閭f庝箞鎵嶈兘涓嶈浠栧嚭鐜拌繖縐嶆儏鍐靛憿錛屽簲璇ユ湁涓厤緗殑鍙傛暟鍚庤呯粓姝㈠驚鐜殑鍦版柟鍚э紝鏌ョ湅鍙?br />鐜幫紝jsonConfig錛屽懙鍛碉紝config搴旇鏄厤緗弬鏁板惂錛屽弬鐪婮sonConfig鐪嬭宸ㄥ鐨勫睘鎬э紝鏈夌偣鏅昉ropertyFilter
錛屼笉鎻愪簡錛岀湅浜嗚佸崐澶╋紝鍙戠幇浜嗕竴涓睘鎬ropertyFilter錛孭ropertyFilter 鏄竴涓猧nterface錛屼唬鐮佸涓嬶細
{
}
cfg.setJsonPropertyFilter(new PropertyFilter()
{
public boolean apply(Object source, String name, Object value) {
if(name.equals("contactGroups")||name.equals("contactGroupPersons")) {
return true;
} else {
return false;
}
}
});List<ShoppingCart> listCarts = sCartServiceImpl
2 .ShoppingCartTable(shoppingCart);
3 // 鍏堣繃婊ゅset闆嗗悎鐨勬媶瑙?/span>
4 JsonConfig config = new JsonConfig();
5 config.setJsonPropertyFilter(new PropertyFilter() {
6 @Override
7 public boolean apply(Object arg0, String arg1, Object arg2) {
8 if (arg1.equals("shoppingCarts")) {
9 return true;
10 } else {
11 return false;
12 }
13 }
14 });
15 // 灝嗘暟鎹漿鎹㈡垚Json鏁版嵁
16 JSONArray jsonObject = JSONArray.fromObject(listCarts, config);
17 System.out.println(jsonObject.toString());
18
MyEclipse
蹇嵎閿?(CTRL)
-------------------------------------
Ctrl+1 蹇熶慨澶?br />Ctrl+D:
鍒犻櫎褰撳墠琛?
Ctrl+Q 瀹氫綅鍒版渶鍚庣紪杈戠殑鍦版柟
Ctrl+L 瀹氫綅鍦ㄦ煇琛?nbsp;
Ctrl+O 蹇熸樉紺?OutLine
Ctrl+T 蹇熸樉紺哄綋鍓嶇被鐨勭戶鎵跨粨鏋?
Ctrl+W 鍏抽棴褰撳墠Editer
Ctrl+K 蹇熷畾浣嶅埌涓嬩竴涓?
Ctrl+E
蹇熸樉紺哄綋鍓岴diter鐨勪笅鎷夊垪琛?br />Ctrl+J
姝e悜澧為噺鏌ユ壘(鎸変笅Ctrl+J鍚?浣犳墍杈撳叆鐨勬瘡涓瓧姣嶇紪杈戝櫒閮芥彁渚涘揩閫熷尮閰嶅畾浣嶅埌鏌愪釜鍗曡瘝,濡傛灉娌℃湁,鍒欏湪stutes line涓樉紺烘病鏈夋壘鍒頒簡,)
Ctrl+Z 榪斿洖鍒頒慨鏀瑰墠鐨勭姸鎬?
Ctrl+Y 涓庝笂闈㈢殑鎿嶄綔鐩稿弽
Ctrl+/ 娉ㄩ噴褰撳墠琛?鍐嶆寜鍒欏彇娑堟敞閲?
Ctrl+D鍒犻櫎褰撳墠琛屻?br />Ctrl+Q璺沖埌鏈鍚庝竴嬈$殑緙栬緫澶?br />Ctrl+M鍒囨崲紿楀彛鐨勫ぇ灝?
Ctrl+I鏍煎紡鍖栨縺媧葷殑鍏冪礌Format
Active
Elements銆?br />Ctrl+F6鍒囨崲鍒頒笅涓涓狤ditor
Ctrl+F7鍒囨崲鍒頒笅涓涓狿erspective
Ctrl+F8鍒囨崲鍒頒笅涓涓猇iew
------------------------------------------
MyEclipse
蹇嵎閿?(CTRL+SHIFT)
------------------------------------------
Ctrl+Shift+E
鏄劇ず綆$悊褰撳墠鎵撳紑鐨勬墍鏈夌殑View鐨勭鐞嗗櫒(鍙互閫夋嫨鍏抽棴,嬋媧葷瓑鎿嶄綔)
Ctrl+Shift+/ 鑷姩娉ㄩ噴浠g爜
Ctrl+Shift+\鑷姩鍙栨秷宸茬粡娉ㄩ噴鐨勪唬鐮?
Ctrl+Shift+O 鑷姩寮曞綾誨寘
Ctrl+Shift+J
鍙嶅悜澧為噺鏌ユ壘(鍜屼笂鏉$浉鍚?鍙笉榪囨槸浠庡悗寰鍓嶆煡)
Ctrl+Shift+F4 鍏抽棴鎵鏈夋墦寮鐨凟diter
Ctrl+Shift+X
鎶婂綋鍓嶉変腑鐨勬枃鏈叏閮ㄥ彉涓哄皬鍐?
Ctrl+Shift+Y 鎶婂綋鍓嶉変腑鐨勬枃鏈叏閮ㄥ彉涓哄皬鍐?
Ctrl+Shift+F
鏍煎紡鍖栧綋鍓嶄唬鐮?br />Ctrl+Shift+M(鍏堟妸鍏夋爣鏀懼湪闇瀵煎叆鍖呯殑綾誨悕涓? 浣滅敤鏄姞Import璇彞
Ctrl+Shift+P
瀹氫綅鍒板浜庣殑鍖歸厤絎?璀{}) (浠庡墠闈㈠畾浣嶅悗闈㈡椂,鍏夋爣瑕佸湪鍖歸厤絎﹂噷闈?鍚庨潰鍒板墠闈?鍒欏弽涔?
Ctrl+Shift+F鏍煎紡鍖栨枃浠禙ormat
Document銆?br />Ctrl+Shift+O浣滅敤鏄己灝戠殑Import璇彞琚姞鍏ワ紝澶氫綑鐨処mport璇彞琚垹闄ゃ?
Ctrl+Shift+S淇濆瓨鎵鏈夋湭淇濆瓨鐨勬枃浠躲?br />Ctrl+Shift+/ 鍦ㄤ唬鐮佺獥鍙d腑鏄繖縐?*~*/娉ㄩ噴錛屽湪JSP鏂囦歡紿楀彛涓槸
<!--~-->銆?
Shift+Ctrl+Enter
鍦ㄥ綋鍓嶈鎻掑叆絀鴻(鍘熺悊鍚屼笂鏉?
-----------------------------------------
MyEclipse
蹇嵎閿?(ALT)
-----------------------------------------
Alt+/ 浠g爜鍔╂墜瀹屾垚涓浜涗唬鐮佺殑鎻掑叆
錛岃嚜鍔ㄦ樉紺烘彁紺轟俊鎭?br />Alt+↓ 褰撳墠琛屽拰涓嬮潰涓琛屼氦浜掍綅緗?鐗瑰埆瀹炵敤,鍙互鐪佸幓鍏堝壀鍒?鍐嶇矘璐翠簡)
Alt+↑ 褰撳墠琛屽拰涓婇潰涓琛屼氦浜掍綅緗?鍚屼笂)
Alt+← 鍓嶄竴涓紪杈戠殑欏甸潰
Alt+→ 涓嬩竴涓紪杈戠殑欏甸潰(褰撶劧鏄拡瀵逛笂闈㈤偅鏉℃潵璇翠簡)
Alt+Enter
鏄劇ず褰撳墠閫夋嫨璧勬簮(宸ョ▼,or 鏂囦歡 or鏂囦歡)鐨勫睘鎬?
Alt+CTRL+↑
澶嶅埗褰撳墠琛屽埌涓婁竴琛?澶嶅埗澧炲姞)
-------------------------------------------
MyEclipse
蹇嵎閿?(ALT+SHIFT)
-------------------------------------------
Alt+Shift+R
閲嶅懡鍚?
Alt+Shift+M 鎶藉彇鏂規硶
Alt+Shift+C 淇敼鍑芥暟緇撴瀯(姣旇緝瀹炵敤,鏈塏涓嚱鏁拌皟鐢ㄤ簡榪欎釜鏂規硶,淇敼涓嬈℃悶瀹?
Alt+Shift+L 鎶藉彇鏈湴鍙橀噺
Alt+Shift+F 鎶奀lass涓殑local鍙橀噺鍙樹負field鍙橀噺
Alt+Shift+I
鍚堝茍鍙橀噺
Alt+Shift+V 縐誨姩鍑芥暟鍜屽彉閲?br />Alt+Shift+Z 閲嶆瀯鐨勫悗鎮旇嵂(Undo) Shift+Enter
鍦ㄥ綋鍓嶈鐨勪笅涓琛屾彃鍏ョ┖琛?榪欐椂榧犳爣鍙互鍦ㄥ綋鍓嶈鐨勪換涓浣嶇疆,涓嶄竴瀹氭槸鏈鍚?
Alt+Shift+O(鎴栫偣鍑誨伐鍏鋒爮涓殑Toggle Mark
Occurrences鎸夐挳) 褰撶偣鍑繪煇涓爣璁版椂鍙嬌鏈〉闈腑鍏朵粬鍦版柟鐨勬鏍囪榛勮壊鍑告樉錛屽茍涓旂獥鍙g殑鍙寵竟妗嗕細鍑虹幇鐧借壊鐨勬柟鍧楋紝鐐瑰嚮姝ゆ柟鍧椾細璺沖埌姝ゆ爣璁板銆?
涓嬮潰鐨勫揩鎹烽敭鏄噸鏋勯噷闈㈠父鐢ㄧ殑,鏈漢灝辮嚜宸卞枩嬈笖甯哥敤鐨勬暣鐞嗕竴涓?娉?涓鑸噸鏋勭殑蹇嵎閿兘鏄疉lt+Shift寮澶寸殑浜?
MyEclipse 蹇嵎閿?6)
--------------------------------------------
F2褰撻紶鏍囨斁鍦ㄤ竴涓爣璁板鍑虹幇Tooltip鏃跺欐寜F2鍒欐妸榧犳爣縐誨紑鏃禩ooltip榪樹細鏄劇ず鍗砈how
Tooltip Description銆?
F3璺沖埌澹版槑鎴栧畾涔夌殑鍦版柟銆?
F5鍗曟璋冭瘯榪涘叆鍑芥暟鍐呴儴銆?
F6鍗曟璋冭瘯涓嶈繘鍏ュ嚱鏁板唴閮紝濡傛灉瑁呬簡閲戝北璇嶉湼2006鍒欒鎶?#8220;鍙栬瘝寮鍏?#8221;鐨勫揩鎹烽敭鏀規垚鍏朵粬鐨勩?
F7鐢卞嚱鏁板唴閮ㄨ繑鍥炲埌璋冪敤澶勩?
F8涓鐩存墽琛屽埌涓嬩竴涓柇鐐廣?
]]>
size鏄痩ist鐨勪釜鏁?img src ="http://www.tkk7.com/peiliangye/aggbug/365370.html" width = "1" height = "1" />
]]>
鍋囪鐜板湪鏈変竴涓埗綾籉ather,瀹冮噷闈㈢殑鍙橀噺闇瑕佸崰鐢?M鍐呭瓨.鏈変竴涓畠鐨勫瓙綾籗on,瀹冮噷闈㈢殑鍙橀噺闇瑕佸崰鐢?.5M鍐呭瓨.
鐜板湪閫氳繃浠g爜鏉ョ湅鐪嬪唴瀛樼殑鍒嗛厤鎯呭喌:
Father f = new Father();//緋葷粺灝嗗垎閰?M鍐呭瓨.
Son s = new Son();//緋葷粺灝嗗垎閰?.5M鍐呭瓨.
鍥犱負瀛愮被涓湁涓涓殣钘忕殑寮曠敤super浼氭寚鍚戠埗綾誨疄渚?鎵浠ュ湪瀹炰緥鍖栧瓙綾諱箣鍓嶄細鍏堝疄渚嬪寲涓涓埗綾?涔熷氨鏄浼氬厛鎵ц鐖剁被鐨勬瀯閫犲嚱鏁?
鐢變簬s涓寘鍚簡鐖剁被鐨勫疄渚?鎵浠鍙互璋冪敤鐖剁被鐨勬柟娉?
Son s1 = s;//s1鎸囧悜閭?.5M鐨勫唴瀛?(鍙互鐞嗚В涓哄氨鏄細瀛愮被寮曠敤鎸囧悜瀛愮被瀵硅薄)
Father f1 = (Father)s;//榪欐椂f1浼氭寚鍚戦偅1.5M鍐呭瓨涓殑1M鍐呭瓨,鍗蟲槸璇?f1鍙槸鎸囧悜浜唖涓疄渚嬬殑鐖剁被瀹炰緥瀵硅薄,鎵浠1鍙兘璋冪敤鐖剁被鐨勬柟娉?瀛樺偍鍦?M鍐呭瓨涓?,鑰屼笉鑳借皟鐢ㄥ瓙綾葷殑鏂規硶(瀛樺偍鍦?.5M鍐呭瓨涓?.
Son s2 = (Son)f;//榪欏彞浠g爜榪愯鏃朵細鎶lassCastException.鍥犱負f涓彧鏈?M鍐呭瓨,鑰屽瓙綾葷殑寮曠敤閮藉繀欏昏鏈?.5M鐨勫唴瀛?鎵浠ユ棤娉曡漿鎹?
Son s3 = (Son)f1;//榪欏彞鍙互閫氳繃榪愯,榪欐椂s3鎸囧悜閭?.5M鐨勫唴瀛?鐢變簬f1鏄敱s杞崲榪囨潵鐨?鎵浠ュ畠鏄湁1.5M鐨勫唴瀛樼殑,鍙槸瀹冩寚鍚戠殑鍙湁1M鍐呭瓨.
紺轟緥錛?br />
class Father{
void print(){};
}
class Son extends Father{
void print(){System.out.println("瀛愮被涓紒");}
void show(){System.out.println("show 涓紒");}
}
class Demo{
public static void main(String args[]){
Father obj=new Son();
obj.print();
obj.show(); //榪欎釜璋冪敤浼氭姤閿欙紒
}
}
1 .濡傛灉浣犳兂瀹炵幇澶氭?閭d箞蹇呴』鏈変笁涓潯浠?鐖剁被寮曠敤,瀛愮被瀵硅薄,鏂規硶瑕嗙洊
浣犺繖閲屽鏋淔athor綾繪湁涓涓猻how()鏂規硶,閭d箞褰㈡垚鏂規硶瑕嗙洊,閭d箞姝ゆ椂灝卞彲浠ヨ繖涔堝啓:obj.show(),姝ゅ埢褰㈡垚浜嗗鎬?
2. 娌℃湁鏂規硶瑕嗙洊,閭d綘榪欓噷鍙兘瑙i噴涓虹埗綾誨紩鐢ㄥ幓璁塊棶涓涓瓙綾葷殑鏂規硶,褰撶劧,鐖剁被寮曠敤娌℃湁榪欎箞澶ц寖鍥寸殑鏉冮檺,褰撶劧浼氭姤閿?
PS:澶氭佸疄闄呬笂鏄竴縐嶆満鍒?鍦ㄧ紪璇戞椂鍒?浼氱敓鎴愪竴寮犺櫄鎷熻〃,鏉ヨ褰曟墍鏈夎鐩栫殑鏂規硶,娌℃湁琚鐩栫殑鏂規硶鏄笉浼氳褰曞埌榪欏紶琛ㄧ殑.
鑻ヤ竴涓埗綾誨紩鐢ㄨ皟鐢ㄤ簡娌℃湁瑕嗙洊鐨勫瓙綾繪柟娉?閭d箞鏄笉絎﹀悎璇ヨ〃鐨?閭d箞緙栬瘧鏃跺埢灝變細鎶ラ敊.
鍦ㄦ墽琛岀▼搴忕殑鏃跺?铏氭嫙鏈轟細鍘昏繖寮犺櫄鎷熻〃涓壘瑕嗙洊鐨勬柟娉?姣斿寮曠敤涓疄闄呬笂瀛樼殑鏄竴涓瓙綾誨璞″紩鐢?閭d箞灝變細鍘繪壘瀛愮被涓殑鐩稿簲鐨勮鐩栫殑鏂規硶鏉ユ墽琛?br />
瀹氫箟涓涓埗綾葷被鍨嬬殑寮曠敤鎸囧悜涓涓瓙綾葷殑瀵硅薄鏃㈠彲浠ヤ嬌鐢ㄥ瓙綾誨己澶х殑鍔熻兘錛屽張鍙互鎶藉彇鐖剁被鐨勫叡鎬с?/p>
鎵浠ワ紝鐖剁被綾誨瀷鐨勫紩鐢ㄥ彲浠ヨ皟鐢ㄧ埗綾諱腑瀹氫箟鐨勬墍鏈夊睘鎬у拰鏂規硶錛岃屽浜庡瓙綾諱腑瀹氫箟鑰岀埗綾諱腑娌℃湁鐨勬柟娉曪紝瀹冩槸鏃犲彲濂堜綍鐨勶紱
鍚屾椂錛岀埗綾諱腑鐨勪竴涓柟娉曞彧鏈夊湪鍦ㄧ埗綾諱腑瀹氫箟鑰屽湪瀛愮被涓病鏈夐噸鍐欑殑鎯呭喌涓嬶紝鎵嶅彲浠ヨ鐖剁被綾誨瀷鐨勫紩鐢ㄨ皟鐢紱
瀵瑰鎬佺殑鐞嗚В錛氬鎬佷綋鐜板湪緇ф壙涓紝鎵浠ラ渶瑕佹湁緇ф壙鍏崇郴錛岀劧鍚庡瓙綾昏閲嶅啓鐖剁被鏂規硶錛屾渶鍚庣埗綾繪寚鍚戝瓙綾伙紙鐖剁被鏈韓鍏鋒湁涓浜涙柟娉曪紝榪欎簺鏂規硶琚瓙綾婚噸鍐欎簡錛屼絾璋冪敤榪欎簺鏂規硶鏃訛紝浼氳嚜鍔ㄨ皟瀛愮被閲嶅啓鐨勯偅浜涳級銆?/p>
澶氭佸叿浣撹〃鐜板湪閲嶅啓鍜岄噸杞斤紝澶氭佸氨鏄被鐨勫縐嶈〃鐜版柟寮忥紝姣斿鍚屽悕涓嶅悓鍙傦紝瀛愮被閲嶅啓鐖剁被銆?br />
鐪嬩笅闈㈣繖孌電▼搴忥細
class Father{
public void func1(){
func2();
}
//榪欐槸鐖剁被涓殑func2()鏂規硶錛屽洜涓轟笅闈㈢殑瀛愮被涓噸鍐欎簡璇ユ柟娉?/p>
//鎵浠ュ湪鐖剁被綾誨瀷鐨勫紩鐢ㄤ腑璋冪敤鏃訛紝榪欎釜鏂規硶灝嗕笉鍐嶆湁鏁?/p>
//鍙栬屼唬涔嬬殑鏄皢璋冪敤瀛愮被涓噸鍐欑殑func2()鏂規硶
public void func2(){
System.out.println("AAA");
}
}
class Child extends Father{
//func1(int i)鏄func1()鏂規硶鐨勪竴涓噸杞?/p>
//鐢變簬鍦ㄧ埗綾諱腑娌℃湁瀹氫箟榪欎釜鏂規硶錛屾墍浠ュ畠涓嶈兘琚埗綾葷被鍨嬬殑寮曠敤璋冪敤
//鎵浠ュ湪涓嬮潰鐨刴ain鏂規硶涓璫hild.func1(68)鏄笉瀵圭殑
public void func1(int i){
System.out.println("BBB");
}
//func2()閲嶅啓浜嗙埗綾籉ather涓殑func2()鏂規硶
//濡傛灉鐖剁被綾誨瀷鐨勫紩鐢ㄤ腑璋冪敤浜唂unc2()鏂規硶錛岄偅涔堝繀鐒舵槸瀛愮被涓噸鍐欑殑榪欎釜鏂規硶
public void func2(){
System.out.println("CCC");
}
}
public class PolymorphismTest {
public static void main(String[] args) {
Father child = new Child();
child.func1();//鎵撳嵃緇撴灉灝嗕細鏄粈涔堬紵
}
}
涓婇潰鐨勭▼搴忔槸涓緢鍏稿瀷鐨勫鎬佺殑渚嬪瓙銆傚瓙綾籆hild緇ф壙浜嗙埗綾籉ather錛屽茍閲嶈澆浜嗙埗綾葷殑func1()鏂規硶錛岄噸鍐欎簡鐖剁被鐨刦unc2()鏂規硶銆傞噸杞藉悗鐨刦unc1(int
i)鍜宖unc1()涓嶅啀鏄悓涓涓柟娉曪紝鐢變簬鐖剁被涓病鏈塮unc1(int i)錛岄偅涔堬紝鐖剁被綾誨瀷鐨勫紩鐢╟hild灝變笉鑳借皟鐢╢unc1(int
i)鏂規硶銆傝屽瓙綾婚噸鍐欎簡func2()鏂規硶錛岄偅涔堢埗綾葷被鍨嬬殑寮曠敤child鍦ㄨ皟鐢ㄨ鏂規硶鏃跺皢浼氳皟鐢ㄥ瓙綾諱腑閲嶅啓鐨刦unc2()銆?/p>
閭d箞璇ョ▼搴忓皢浼氭墦鍗板嚭浠涔堟牱鐨勭粨鏋滃憿錛?/p>
寰堟樉鐒訛紝搴旇鏄?#8220;CCC”銆?/p>
鍙橀噺鏄笉瀛樺湪閲嶅啓瑕嗙洊鐨勶紒
public class A { int a = 1; }
public class B extends A { int a = 2錛?}
嫻嬭瘯綾婚噷璋冪敤浜嗚繖涓柟娉晇oid compare(){
if(super.a == this.a)
System.out.println("not overrided");
else
System.out.println("overrided");}
鎺у埗鍙板嚭鏉ョ殑鏄痮verrided
綾諱腑鐨勫睘鎬ф槸娌℃湁澶氭佹х殑錛屽嵆浣犲湪寮曠敤涓婇潰浣跨敤灞炴ф椂錛岀郴緇熷彧浼氬幓鎵懼紩鐢ㄧ殑闈欐佺被鍨嬩腑鐨勯偅涓睘鎬э紝鑰屼笌瀹冪殑瀹為檯綾誨瀷鏃犲叧銆?/p>
闈欐佹柟娉曚篃鏄病鏈夊鎬佹х殑銆?/p>
1.浠庡鎴跨鐨勫瓧絎︿覆鍒拌嚜瀹氫箟綾誨瀷鐨勮漿鎹€?br />
2.欏甸潰杈撳嚭鏃朵粠鑷畾涔夌被鍨嬪埌瀛楃涓茬殑杞崲銆?/p>
鍦╯truts2涓垎涓ょ杞崲錛屼竴縐嶆槸灞閮ㄨ漿鎹紝鍙︿竴縐嶆槸鍏ㄥ眬綾誨瀷杞崲銆傚叿浣撹漿鎹㈢殑瀹炴柦闇瑕佷竴涓漿鎹㈢被鍜屼竴涓嚜瀹氫箟綾匯傛垜浠厛鏉ョ湅灞閮ㄧ被鍨嬭漿鎹€?br />
灞閮ㄧ被鍨嬭漿鎹?/strong>
瀵逛簬int絳夊熀鏈被鍨嬶紝struts2浼氳嚜鍔ㄥ畬鎴愮被鍨嬭漿鎹紝鍍廰ge騫撮緞錛屽湪杈撳叆欏甸潰鏄疭tring鍨嬬殑錛屽埌Action鍚庝細鑷姩杞崲鎴恑nt鍨嬨傝屽鏋滄槸杞崲鎴愬璞$被鍨嬬殑璇濓紝灝遍渶瑕佽嚜瀹氫箟綾誨瀷杞崲銆傝繖鏍峰氨闇瑕佷竴涓嚜瀹氫箟綾匯傝瀹氫箟涓涓漿鎹㈢被錛岄渶瑕佺戶鎵?span style="color: #0000ff">ognl.DefaultTypeConverter榪欎釜綾?錛岃繖鏄釜綾誨瀷杞崲鐨勭被銆備唬鐮佸涓嬶細
1 public class PointConverter extends DefaultTypeConverter{
2 public Ojbect convertValue(Map context,Object value,Class tyType){//閲嶅啓鏂規硶鏂規硶瀵規暟璇存槑錛?銆丮ap context ——搴旂敤涓婃鏂?/p>
2銆丱bject value ——鏄榪涜綾誨瀷杞崲鐨勫箋傚鏋滄槸浠庡鎴風鍒拌嚜瀹氫箟鐨勭被錛岄偅涔坴alue鏄釜瀛楃涓層傛敞鎰忥細瀹冩槸涓涓瓧絎︿覆鐨勬暟緇勩傚洜涓猴細鍦ㄨ〃鍗曚腑鍙互鏈夊涓枃鏈煙錛岃屾墍鏈夋枃鏈煙鍙互鏄悓涓涓悕瀛楋紝榪欐椂鏄冭檻閫氱敤鎬ц屼綔涓烘暟緇勫鐞嗙殑銆傚鏋滃彧鏈変竴涓枃鏈煙錛屽垯鏁扮粍鍙湁涓涓厓绱狅紝涓嬫爣涓?銆傛敞錛歫sp鐨剆ervlet涓帴鏀跺涓浉鍚屽悕瀛楃殑杈撳叆鍩熺敤request.getParameterValues()鏂規硶銆?/p>
3銆乧lass toType ——鏉ユ寚瀹氬悜鍝?涓縐嶇被鍨嬭漿鎹紝鍗蟲槸鍚戠被杞崲榪樻槸鍚戝鎴風杞崲銆?/p>
4銆丳oint鏄竴涓被錛屽嵆鏄垜浠殑鑷畾涔夌被銆備笉鏄郴緇熷唴緗殑綾誨瀷
鑷畾涔夌被銆佽漿鎹㈢被銆乤ction閮藉垱寤哄ソ涔嬪悗錛岃閫氬憡struts2杞崲綾誨湪浠涔堝湴鏂癸紝騫朵笖鍛婅瘔struts2鏄璋佽繘琛岃漿鎹€傚啓涓涓枃浠訛細action鏂囦歡鍚?conversion.properties,姝ゅ睘鎬ф枃浠惰涓巃ction鍦ㄥ悓涓鍖呬笅錛屾鏂囦歡璇存槑瀵規action涓殑灞炴ц繘琛岃漿鍖栥?br />
鏂囦歡涓殑鍐呭濡備笅錛?/p>
point = 杞崲綾誨悕
鍐呭璇存槑錛?/p>
1銆乸oint鏄疉ction涓殑涓涓睘鎬э紝杞崲綾繪寚鏄庢墍浣跨敤鍝釜杞崲綾誨姝ゅ睘鎬ц繘琛岃漿鎹?
2銆乸roperties鏂囦歡涓殑娉ㄩ噴涓?#8220;#”鍙鳳紝鍓嶉潰鍔?#8220;#”鐨勮鏄娉ㄩ噴鐨?/p>
綾誨瀷杞崲鐨勬祦紼?/span>
1銆佺敤鎴瘋繘琛岃姹傦紝鏍規嵁璇鋒眰鍚嶅湪struts.xml涓鎵続ction
2銆佸湪Action涓紝鏍規嵁璇鋒眰鍩熶腑鐨勫悕瀛楀幓瀵繪壘瀵瑰簲鐨剆et鏂規硶銆傛壘鍒板悗鍦ㄨ祴鍊間箣鍓嶄細媯鏌ヨ繖涓睘鎬ф湁娌℃湁鑷畾涔夌殑綾誨瀷杞崲銆傛病鏈夌殑璇濓紝鎸夌収榛樿榪涜杞崲錛涘鏋滄煇涓睘鎬у凡緇忓畾涔夊ソ浜嗙被鍨嬭漿鎹紝鍒欎細鍘繪鏌ュ湪Action鍚屼竴鐩綍涓嬬殑 action鏂囦歡鍚?conversion.properties 鏂囦歡銆?br />
3銆佷粠鏂囦歡涓壘鍒拌杞崲鐨勫睘鎬у強鍏惰漿鎹㈢被銆?br />
4銆佺劧鍚庤繘鍏ヨ漿鎹㈢被涓紝鍦ㄦ綾諱腑鍒ゆ柇杞崲鐨勬柟鍚戙傛垜浠槸鍏堜粠鐢ㄦ埛璇鋒眰寮濮嬬殑錛屾墍浠ヨ繖鏃跺厛榪涘叆浠庡瓧絎︿覆鍒扮被鐨勮漿鎹€傝繑鍥炶漿鎹㈠悗鐨勫璞°傛祦紼嬭繑鍥濧ction銆?/p>
5銆佸皢榪斿洖鐨勫璞¤祴鍊肩粰Action涓殑灞炴э紝鎵цAction涓殑execute()
6銆佹墽琛屽畬execute()鏂規硶錛屾牴鎹畇truts.xml鐨勯厤緗漿鍚戦〉闈?/p>
7銆佸湪jsp涓樉紺哄唴瀹規椂錛屾牴鎹〉闈腑鐨勫睘鎬у悕鍘昏皟鐢ㄧ浉搴旂殑get鏂規硶錛屼互渚胯緭鍑?br />
8銆佸湪璋冪敤get鏂規硶涔嬪墠錛屼細媯鏌ユ湁娌℃湁姝ゅ睘鎬х殑鑷畾涔夌被鍨嬭漿鎹€傚鏋滄湁錛屽啀嬈¤煩杞埌杞崲綾誨綋涓?/p>
9銆佸湪杞崲綾諱腑鍐嶆鍒ゆ柇杞崲鏂瑰悜錛岃繘鍏ョ敱綾誨埌瀛楃涓茬殑杞崲錛屽畬鎴愯漿鎹㈠悗榪斿洖瀛楃涓層?br />
10銆佸皢榪斿洖鐨勫肩洿鎺ュ甫鍑哄埌瑕佸睍紺虹殑欏甸潰褰撲腑鍘誨睍紺恒?/p>
</tomcat-users>
http://tomcat.apache.org/download-60.cgi
鍏嶅畨瑁呯増
1.鎶妀dk鏀懼湪C:\Program Files鐩綍涓?
1)鍦ㄧ幆澧冨彉閲廝ath鍓嶉潰娣誨姞
C:\Program Files\jdk1.6.0_10\bin;
2錛夋坊鍔犵幆澧冨彉閲廕AVA_HOME
鍊間負 C:\Program Files\jdk1.6.0_10
2.鎶妕omcat瀹夎鍦–:\Program Files鐩綍涓?
1錛夋坊鍔犵幆澧冨彉閲廲lasspath
鍊間負.;C:\Program Files\jdk1.6.0_10\jre\lib;C:\Program Files\jdk1.6.0_10\lib\tools.jar;C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin\bootstrap.jar
2)娣誨姞鐜鍙橀噺TOMCAT_HOME
鍊糃:\Program Files\Apache Software Foundation\Tomcat 6.0
3)娣誨姞鐜鍙橀噺CATALINA_HOME
鍊糃:\Program Files\Apache Software Foundation\Tomcat 6.0
4)娣誨姞鐜鍙橀噺CATALINA_BASE
鍊糃:\Program Files\Apache Software Foundation\Tomcat 6.0
楠岃瘉Tomcat鏄惁瀹夎鎴愬姛錛?/p>
1)鍚姩Tomcat錛?/p>
2)鍦↖e嫻忚鍣ㄤ腑鏁插叆http://localhost:8080/,鍑烘潵Tomcat棣栭〉錛岃鏄嶵omcat瀹夎鎴愬姛錛?/p>
3)鍐欎竴涓猨sp欏甸潰a.jsp,鏀懼埌Tomcat鐨剋ebapps/Root鐩綍涓嬶紝鍦↖e嫻忚鍣ㄤ腑鏁插叆http://localhost:8080/a.jsp,
濡傛灉涓嶆姤閿欙紝璇存槑Tomcat鐨凧DK閰嶇疆姝g‘
瀹夎鐗?
絎竴姝ワ細涓嬭澆jdk鍜宼omcat錛欽DK涓嬭澆 Tomcat涓嬭澆
鏈鏂扮殑jdk涓?.6.10錛宼omcat涓?.0錛屽緩璁甹dk1.4浠ヤ笂錛宼omcat4.0浠ヤ笂
絎簩姝ワ細瀹夎鍜岄厤緗綘鐨刯dk鍜宼omcat錛氭墽琛宩dk鍜宼omcat鐨勫畨瑁呯▼搴忥紝鐒跺悗璁劇疆鎸夌収璺緞榪涜瀹夎鍗沖彲銆?br />1.瀹夎jdk浠ュ悗錛岄渶瑕侀厤緗竴涓嬬幆澧冨彉閲忥紝鍦ㄦ垜鐨勭數鑴?>灞炴?>楂樼駭->鐜鍙橀噺->緋葷粺鍙橀噺涓坊鍔犱互涓嬬幆澧冨彉閲?鍋囧畾浣犵殑jdk瀹夎鍦–:\Program Files\Java錛夛細
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;錛?;涓瀹氫笉鑳藉皯錛屽洜涓哄畠浠h〃褰撳墠璺緞)
path=%JAVA_HOME%\bin 鎺ョ潃鍙互鍐欎竴涓畝鍗曠殑java紼嬪簭鏉ユ祴璇旿DK鏄惁宸插畨瑁呮垚鍔燂細
public class Test{
public static void main(String args[]){
System.out.println("This is a test program.");
}
}
灝嗕笂闈㈢殑榪欐紼嬪簭淇濆瓨涓烘枃浠跺悕涓篢est.java鐨勬枃浠躲?
鐒跺悗鎵撳紑鍛戒護鎻愮ず絎︾獥鍙o紝cd鍒頒綘鐨凾est.java鎵鍦ㄧ洰褰曪紝鐒跺悗閿叆涓嬮潰鐨勫懡浠?
javac Test.java
java Test
姝ゆ椂濡傛灉鐪嬪埌鎵撳嵃鍑烘潵This is a test program.鐨勮瘽璇存槑瀹夎鎴愬姛浜嗭紝濡傛灉娌℃湁鎵撳嵃鍑鴻繖鍙ヨ瘽錛屼綘闇瑕佷粩緇嗘鏌ヤ竴涓嬩綘鐨勯厤緗儏鍐點?
2.瀹夎Tomcat鍚庯紝鍦ㄦ垜鐨勭數鑴?>灞炴?>楂樼駭->鐜鍙橀噺->緋葷粺鍙橀噺涓坊鍔犱互涓嬬幆澧冨彉閲?鍋囧畾浣犵殑tomcat瀹夎鍦╟:\tomcat錛夛細
CATALINA_HOME錛欳:\Program Files\Apache Software Foundation\Tomcat 6.0 CATALINA_BASE錛欳:\Program Files\Apache Software Foundation\Tomcat 6.0
TOMCAT_HOME: C:\Program Files\Apache Software Foundation\Tomcat 6.0
鐒跺悗淇敼鐜鍙橀噺涓殑classpath錛屾妸tomat瀹夎鐩綍涓嬬殑common\lib涓嬬殑servlet.jar榪藉姞鍒癱lasspath涓幓錛屼慨鏀瑰悗鐨刢lasspath濡備笅錛?
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;
銆愭敞鎰忔渶鏂扮増鏈殑Tomcat涓彲鑳芥病鏈塩ommon榪欎釜鏂囦歡澶逛簡銆傛墍浠ervlet-api.jar搴旇鐨勮礬寰勪負
%CATALINA_HOME%\lib\servlet-api.jar;璇鋒牴鎹嚜宸辯殑鎯呭喌鑷繁淇敼錛併?br />鎺ョ潃鍙互鍚姩tomcat錛屽湪IE涓闂甴ttp://localhost:8080錛屽鏋滅湅鍒皌omcat鐨勬榪庨〉闈㈢殑璇濊鏄庡畨瑁呮垚鍔熶簡銆?
絎笁姝ワ細寤虹珛鑷繁鐨刯sp app鐩綍
1.鍒癟omcat鐨勫畨瑁呯洰褰曠殑webapps鐩綍錛屽彲浠ョ湅鍒癛OOT錛宔xamples, tomcat-docs涔嬬被Tomcat鑷甫鐨勭殑鐩綍錛?
2.鍦╳ebapps鐩綍涓嬫柊寤轟竴涓洰褰曪紝璧峰悕鍙玬yapp錛?
3.myapp涓嬫柊寤轟竴涓洰褰昗EB-INF錛屾敞鎰忥紝鐩綍鍚嶇О鏄尯鍒嗗ぇ灝忓啓鐨勶紱
4.WEB-INF涓嬫柊寤轟竴涓枃浠秝eb.xml錛屽唴瀹瑰涓嬶細
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
</web-app>
5.鍦╩yapp涓嬫柊寤轟竴涓祴璇曠殑jsp欏甸潰錛屾枃浠跺悕涓篿ndex.jsp錛屾枃浠跺唴瀹瑰涓嬶細
<html>
<body>
<center>
Now time is: <%=new java.util.Date()%>
</center>
</body>
</html>
6.閲嶅惎Tomcat
7.鎵撳紑嫻忚鍣紝杈撳叆http://localhost:8080/myapp/index.jsp 鐪嬪埌褰撳墠鏃墮棿鐨勮瘽璇存槑灝辨垚鍔熶簡銆?/span>
絳旀琛ュ厖
絎洓姝ワ細寤虹珛鑷繁鐨凷ervlet錛氬啓鍏ヤ綘鐨勭涓涓猄ervlet:鍦ㄤ綘鏂板緩鐨凙pplication myapp/WEB-INF/classes/test鐩綍涓嬫柊寤篐elloWorld.javapackage test;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)th
rows ServletException,IOException
{
response.setContentType("text/html");
絳旀琛ュ厖
PrintWriter out = response.getWriter();
out.println("<html><head><title>");
out.println("This is my first Servlet");
out.println("</title></head><body>");
out.println("<h1>Hello,World!</h1>");
out.println("</body></html>");
}
}
鐒跺悗鐓ф牱鐢╦avac HelloWorld.java鏉ョ紪璇戣繖涓枃浠訛紝濡傛灉鍑虹幇鏃犳硶import javax.servl
et.*
閭d箞灝辨槸搴旇鎶奀:\Tomcat\common\lib閲岄潰鐨剆ervlet-api.jar鏂囦歡鎷瘋礉鍒癈:\JDK\jre\lib\ext涓紝鍐嶆緙栬瘧錛屽氨娌℃湁闂浜嗭紒
瑙e喅鍔炴硶錛氬師鍥犵己灝戜簡dojo鐨凧AR鍖咃紝寮曞叆鍗沖彲:struts2-dojo-plugin-2.1.2.jar
The "head" tag renders required JavaScript code to configure Dojo and is required in order to use any of the tags included in the Dojo plugin.
--------------------
If you are planning to nest tags from the Dojo plugin, make sure you set parseContent="false", otherwise each request made by the inner tags will be performed twice.
2---:Unable to load configuration. -bean -jar:file:/F:/Struts2/Struts2/WebRoot/WEB-INF/lib/struts2-core- 2.1.2.jar!/struts-default.xml:46:178
Caused by: Unable to load bean: type:org.apache.struts2.dispatcher.multipart.MultiPartRequest class:org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest -bean -jar:file:/F:/Struts2/Struts2/WebRoot/WEB-INF/lib/struts2-core-2.1.2.jar!/struts-default.xml:46:178
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/RequestContext
瑙e喅鍔炴硶錛氱己灝慗AR鍖咃紝寮曞叆commons-fileupload-1.2.1.jar錛宑ommons-io-1.3.2.jar鍗沖彲
3---:No tag "datetimepicker" defined in tag library imported with prefix "s"
鍘熷洜鐗堟湰闂錛氱己灝憇truts-dojo-plugin JAR鍖咃紝浠ュ強HTML鐨?<HEAD></HEAD>涓病鏈変嬌鐢?lt;s:head/>鏍囩
If you're using Struts 2.1.x you're probablymissing the>struts-dojo-plugin. Michal's reference below applies to Struts 2.1.xonly. In the lasts versions (since 2.0.9 I guess), all AJAX are in dojo> plugin.
> > So you need toinclude <%@ taglib uri="/struts-dojo-tags" prefix="sx"%>
> > and <sx:head/>
> >( Temp1:
<sx:datetimepicker name="picker" />
Temp2:
<sx:datetimepicker type="time" name="picker" /><br/>
Temp3:
<sx:datetimepicker value="%{'2008-06-08'}" name="picker" />
Temp4:
<sx:datetimepicker value="date" name="picker" />)
> > and call :<sx:datetimepicker .../>
4---:浣跨敤TILES妗嗘灦
If you use the Tiles 2 plugin, check your tiles.xml file(s) to ensure they contain a DOCTYPE.
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"><tiles-definitions>
5---:struts2涓笉鏀寔EL琛ㄨ揪寮?
Struts2.1 tags do not allow evaluation of JSP EL within their attributes.Instead, Struts2 tags evaluate attribute values as OGNL. Allowing bothexpression languages within the same attribute opens major securityvulnerabilities.
6---鏂囦歡涓婁紶榪囩▼涓彇涓嶅埌鏂囦歡鍚嶅拰鏂囦歡綾誨瀷錛屽嵆閮藉彇鍒癗ULL
鍘熷洜錛氬鏋滈〉闈腑file鐨刵ame=“a”鍒欐垜浠珹CTION涓緗甋tring aContentType,String aFileName;(姝や袱涓叾瀹炴棤鎵璋擄紝鍏抽敭鏄疭ET鏂規硶)
setA(File file)(){}; setAContentType(String s){};setAFileName(String name){} 鍗蟲牸寮忓涓嬶細setXContentType() setXFileName().X浠h〃浣犵粰FILE鍙栫殑NAME鍚嶅瓧
蹇呴』鍜屽畠鐩稿悓錛屽浐瀹氭牸寮?br />
7---涓ラ噸: Unable to parse request
org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (8523356) exceeds the configured maximum (2097152)
at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:914)2008-5-27 17:46:51 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
璀﹀憡: Could not find property [struts.valueStack]
2008-5-27 17:46:51 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
涓ラ噸: the request was rejected because its size (8523356) exceeds the configured maximum (2097152)
2008-5-27 17:46:51 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
璀﹀憡: Could not find property [org.apache.catalina.jsp_file]
鍘熷洜錛氫笂浼犳枃浠跺ぇ灝忚秴榪囬瀹氬ぇ灝忥紝鍙互鍦╯truts.properties閰嶇疆鏂囦歡涓緗畇truts.multipart.maxSize=XXX錛圶XX涓烘枃浠跺ぇ灝忥級
8---閰嶇疆浜嗘枃浠剁被鍨嬮檺鍒跺悗錛屽綋浼犻敊璇被鍨嬪彲浠ユ嫤鎴笉璁╃敤鎴蜂笂浼犺鏂囦歡錛屽彲鏄煩杞殑欏甸潰鍗存病鏈夎煩杞埌input閰嶇疆鐨勯敊璇〉闈紝鑰屾槸榪斿洖
鍒頒簡success姝g‘欏甸潰銆?/p>
涓ラ噸: Content-Type not allowed: filedata "upload__5b01657_11a329d4dcf__8000_00000000.tmp" text/plain
銆婃垜鐨勬墦鍗拌緭鍑篋EBUG璇彞鍐呭:File:null FlieName:null type:null銆嬪嵆鎷︽埅綾誨瀷鎴愬姛浜?br />java.lang.NullPointerException
at java.io.FileInputStream.<init>(FileInputStream.java:103)
at com.study.web.util.FileUploadUtil.uploadFile(FileUploadUtil.java:36)
at com.study.web.action.UploadFileAction.execute(UploadFileAction.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)銆傘傘?/p>
2008-5-29 10:59:07 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
璀﹀憡: Could not find property [org.apache.catalina.jsp_file]
2008-5-29 10:59:07 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
璀﹀憡: Could not find property [struts]
2008-5-29 10:59:07 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
淇℃伅: Removing file filedata \tmp\upload__5b01657_11a329d4dcf__8000_00000000.tmp
鍘熷洜鍙婅В鍐沖姙娉曪細鍦ㄨ鏂囦歡涓婁紶Action涓彧閰嶇疆浜咶ileUploadInterceptor鍚庣己灝戦厤緗簡defaultStack鎷︽埅鍣?
鍦ˋCTION涓厤緗帺defaultStack鎷︽埅鍣ㄥ悗鏀歸敊璇秷澶便?br />
9---struts.properties涓叏灞閰嶇疆鏂囦歡澶у皬錛屽啀浣跨敤榛樿FileUploadInterceptor鎷︽埅鍣ㄦ椂鍊欒兘瀹炵幇鎷︽埅鐨勫姛鑳戒絾鏄悗鍙板嚭鐜板紓甯搞?/p>
涓ラ噸: Unable to parse request
org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (380) exceeds the configured maximum (10)
at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:914)
鍘熷洜錛氭湭鐭ャ傚皢鍏ㄥ眬閰嶇疆涓殑闄愬埗澶у皬鍘繪帀錛屽啀閲嶆柊鍦ˋCTION涓鐩栭厤緗瓼ileUploadInterceptor鎷︽埅鍣ㄨ緗ぇ灝忓拰鏂囦歡綾誨瀷闄愬埗錛屽彲娑堥櫎寮傚父銆?br />
10---澶氭枃浠朵笂浼犱腑錛屽叾涓竴涓紶琚檺鍒剁殑鏂囦歡濡傞檺鍒禷plication/msword(鍗?doc)鏂囦歡錛屽厑璁鎬紶鏂囨湰鏂囦歡銆傜劧鑰屽綋澶規潅鍦ㄤ竴璧蜂紶鐨勬椂鍊欙紝鍚庡彴鑳芥埅鑾風被鍨嬮敊璇笉鍙紶淇℃伅錛屼絾鏄?/p>
瀹為檯鍗磋繕鏄笂浼犳垚鍔熴?/p>
涓ラ噸: Content-Type not allowed: filedata "upload_4d958287_11a33e76ab9__8000_00000007.tmp" application/msword
file is :\tmp\upload_4d958287_11a33e76ab9__8000_00000006.tmp fileName:project.txt fileType:text/plain
file is :\tmp\upload_4d958287_11a33e76ab9__8000_00000007.tmp fileName:application base.doc fileType:application/msword
file is :\tmp\upload_4d958287_11a33e76ab9__8000_00000008.tmp fileName:zhongqi-bug.txt fileType:text/plain
鍘熷洜錛氬繕璁頒簡緇ф壙ActionSupport綾匯傜戶鎵垮悗寮傚父娑堝け銆?br />
11--鏂囦歡涓婁紶寮傚父錛屼笉鑳藉垱寤篎ile鏂囦歡
Cannot create type class java.io.File from value C:\Documents and Settings\admin\妗岄潰\OrderReporterServiceImp.java - [unknown location]
鍘熷洜錛氬繕璁頒簡鍦╢orm琛ㄥ崟閲屽皢enctype璁劇疆鎴愭枃浠朵笂浼犳牸寮忥細enctype="multipart/form-data"
12--褰撲嬌鐢ㄩ檺鍒舵枃浠剁被鍨嬪拰澶у皬鐨勬椂鍊欐姏鍑虹┖鎸囬拡寮傚父
java.lang.NullPointerExceptiondemo.struts2.action.ValidatFileUploadAction.execute(ValidatFileUploadAction.java:71)sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)鍘熷洜錛氬湪ACTION涓厤緗簡fileUpload鎷︽埅鍣ㄥ悗蹇樿浜嗛厤緗粯璁ゆ嫤鎴櫒錛歞efautlStack銆傛敞鎰忓綋ACTION涓厤緗嚜宸辯殑鎷︽埅鍣ㄥ悗闇瑕佹樉紺洪厤緗粯璁?/p>
鎷︽埅鍣╠efaultStack
13--鍦ㄥ浗闄呭寲鏃跺欐姏絀烘寚閽堝紓甯革細
16:31:12,812 ERROR [jsp]:253 - Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException at java.text.MessageFormat.applyPattern(MessageFormat.java:414)
at java.text.MessageFormat.<init>(MessageFormat.java:350)
at com.opensymphony.xwork2.DefaultTextProvider.getText(DefaultTextProvider.java:70)
鍘熷洜錛氬繕璁頒簡鍦╯truts.xml涓厤緗浗闄呭寲甯擱噺錛屾垨鑰呭湪struts.properties涓厤緗叏灞鍥介檯鍖栧父閲?struts.custom.i18n.resources=globeMessage
14-- struts action鐨勯厤緗枃浠跺姞杞藉け璐ワ細
Unable to load configuration. - result - file:/D:/Java/apache-tomcat-5.5.20/webapps/mysts/WEB-INF/classes/test.xml:10:26
Caused by: No result type specified for result named 'error', perhaps the parent package does not specify the result type? - result - file:/D:/Java/apache-tomcat-5.5.20/webapps/mysts/WEB-INF/classes/test.xml:10:26
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildResults(XmlConfigurationProvider.java:609)
鍘熷洜錛氬繕璁頒簡緇ф壙鍖卻truts-default
15-- struts action 閰嶇疆鏂囦歡娉ㄦ剰浜嬮」錛?/p>
1. 鍒繕璁頒簡緇ф壙struts-default榛樿閰嶇疆鍖?/p>
2.濡傛灉閰嶇疆鍛藉悕絀洪棿錛屼竴瀹氳浠?/"寮濮嬶紝渚嬪錛歯amespace="/test"
3.姣忎釜妯″潡struts action閰嶇疆鏂囦歡涓兘鍙互閰嶇疆鍏ㄥ眬result錛実lobal-result 緇忔祴璇曚笉浼氬啿紿侊紝STRTUS浼氭櫤鑳藉鎵捐Action璇鋒眰鐨?/p>
妯″潡STRUTS ACTION閰嶇疆鍖?/p>
鍏抽敭瀛? 璀﹀憡: no configuration found for the specified action
璀﹀憡: No configuration found for the specified action: 'ShowMessage' in namespace: ''. Form action defaulting to 'action' attribute's literal value.
瑙e喅鏂規硶錛?/p>
緇忚繃嫻嬭瘯鍙戠幇錛屾槸娌℃湁姝g‘浣跨敤tag鐨勫師鍥狅紝榪欑鎯呭喌涓嬶紝姝g‘鐨勫啓娉曞簲璇ユ槸錛?lt;s:form name="login" method="post" action="login" >
鎮ㄦ槸鍚︽坊鍔犱簡action榪欎釜鍛紵
鎵撳紑Tomcat涓婚〉http://tomcat.apache.org/錛屼笅杞絋omcat鍏嶅畨瑁呯増錛屾垜榪欓噷涓嬭澆鐨勬槸apache-tomcat-7.0.2.tar.gz銆?/p>
浜屻侀厤緗甁ava鐜鍙橀噺
Java鐨勭幆澧冨彉閲忓凡緇忓湪鍓嶅嚑綃囨枃绔犻噷鏈変簡姒傝堪錛岃緇嗚錛?a >http://www.fengwenxuan.com/index.php/red-hat-enterprise-linux/238.html
涓夈佽В鍘婽omcat
灝員omcat瑙e帇緙╁埌/usr/local鐩綍涓?/p>
# tar zxvf apache-tomcat-7.0.2.tar.gz
鍥涖佸惎鍔═omcat
# cd /usr/local/apache-tomcat-7.0.2/bin
# ./startup.sh
濡傛灉鍚姩鎴愬姛錛宻hell緇堢浼氬嚭鐜板涓嬫彁紺猴細
Using CATALINA_BASE: /usr/local/apache-tomcat-7.0.2
Using CATALINA_HOME: /usr/local/apache-tomcat-7.0.2
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.2/temp
Using JRE_HOME: /usr/local/jdk1.6.0_21
濡傛灉緇堢鎶ラ敊錛屽熀鏈笂鍙互鑲畾鏄疛dk鐜鍙橀噺娌℃湁閰嶇疆濂斤紝浠旂粏鍦ㄦ鏌ヤ竴涓婮dk鐜鍙橀噺鐨勯厤緗?/p>
浜斻佹祴璇昑omcat
鎵撳紑鐏嫄嫻忚鍣紝鍦板潃鏍忚緭鍏ttp://localhost:8080錛屽洖杞﹀悗鐪嬪埌Tomcat鐨凩OGO錛岃〃紺轟竴鍒囨甯搞備篃鍙互鏇存敼Tomcat鐩綍涓嬬殑conf鏂囦歡澶癸紝閲岄潰鏈変竴涓猻erver.xml鏂囦歡錛屼慨鏀規垚浣跨敤80绔彛錛岃繖鏍鋒祻瑙堝櫒鍙杈撳叆http://localhost/灝卞彲浠ョ洿鎺ヨ繘鍏ヤ綘鐨勪富欏典簡銆?/p>
鍏佸仠姝omcat
# cd /usr/local/apache-tomcat-7.0.2/bin
# ./shutdown.sh
涓冦佽緗紑鏈鴻嚜鍔ㄥ惎鍔═omcat
鏂規硶涓錛?/p>
鍦?usr/local/apache-tomcat-7.0.2/bin/startup.sh 涓?
JAVA_HOME=/home/fwx/jdk1.6.0_14
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
export CATALINA_HOME=/usr/local/apache-tomcat-7.0.2
/usr/local/tomcat/bin/catalina.sh start
鍦?etc/rc.d/rc.local涓姞鍏?
/usr/local/apache-tomcat-7.0.2/bin/startup.sh
鏂規硶浜岋細
1銆佹妸涓嬮潰鐨勪唬鐮佷繚瀛樹負tomcat鏂囦歡錛屽茍璁╁畠鎴愪負鍙墽琛屾枃浠?chmod 755 tomcat.
#!/bin/bash
#
# fengwx0413@163.com
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
#
# processname: tomcat
# description: tomcat is a j2se server
# chkconfig: 2345 86 16
# description: Start up the Tomcat servlet engine.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
else
echo -e "/atomcat: unable to locate functions lib. Cannot continue."
exit -1
fi
RETVAL=$?
CATALINA_HOME="/usr/local/apache-tomcat-7.0.2"
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
$CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
$CATALINA_HOME/bin/shutdown.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
exit $RETVAL
2銆佸皢tomcat鏂囦歡鎷瘋礉鍒?etc/init.d/涓嬶紝騫惰繍琛岋細chkconfig --add tomcat
3銆佸湪apache-tomcat-7.0.2/bin/catalina.sh鏂囦歡涓姞鍏ヤ互涓嬭鍙ワ細
export JAVA_HOME=/home/fwx/jdk1.6.0_14
export CATALINA_HOME=/usr/local/apache-tomcat-7.0.2
export CATALINA_BASE=/usr/local/apache-tomcat-7.0.2
export CATALINA_TMPDIR=/usr/local/apache-tomcat-7.0.2/temp
鍚姩tomcat錛?service tomcat start
鍋滄tomcat: service tomcat stop銆
<init-param>
<param-name>name</param-name>
<param-value>zhangsan</param-value>
</init-param>
鏉ュ疄鐜扮殑銆傝繖閲岀殑鍙傞噺鍙榪欎釜servlet鍙敤銆?/font>
濡傛灉閫氳繃鍦╳eb.xml涓殑ServletContext涓婁笅鏂囦腑瀹氫箟鍙傞噺錛岄偅涔堟暣涓獁eb搴旂敤紼嬪簭涓殑servlet閮藉彲璋冪敤錛寃eb.xml涓殑鏍煎紡涓猴細
<context-param>
<param-name>test</param-name>
<param-value>Is it me</param-value>
< context -param>
璋冪敤<init-param>涓殑鍙傞噺錛?/font>
涓鑸垜浠啓servlet閮芥槸鐢℉ttpServlet綾繪潵鍐欙紝瀹冩槸瀹炵幇浜咷enericServlet鎺ュ彛錛屾墍浠ュ畠灝辨湁getInitParameter錛堬級鏂規硶銆傝皟鐢ㄦ牸寮忎負錛?/font>
String name = getInitParameter(“name”); 鎴?/font>
String name = getServletConfig().getInitParameter(“name”);
璋冪敤<context-param>涓殑鍙傞噺錛?/font>
璋冪敤鏍煎紡涓猴細
String name =getServletContext(). getInitParameter(“name”); 鎴?/font>
String name = getServletConfig().getServletConfig().getInitParameter(“name”);
娉ㄦ剰錛?lt;context-param>涓畾涔夌殑鍙傛暟鍦↗sp涓篃鑳借皟鐢?/font>