Java鏍囨敞錛?span style="color: blue;">Annotation錛夋槸Java璇█5.0鐗堟湰寮濮嬫敮鎸佸姞鍏ユ簮浠g爜鐨勭壒孌婅娉?a title="鍏冩暟鎹?>鍏冩暟鎹?/a>銆?/p>
Java璇█涓殑綾匯佹柟娉曘佸彉閲忋佸弬鏁板拰鍖呯瓑閮藉彲浠ヨ鏍囨敞銆侸ava鏍囨敞鍜?a class="new" title="Javadoc錛堝皻鏈挵鍐欙級">Javadoc涓嶅悓錛屾爣娉ㄦ湁鑷弽鎬с傚湪緙栬瘧鍣ㄧ敓鎴愮被鏂囦歡鏃訛紝鏍囨敞鍙互琚祵鍏ュ埌銆?/p>
Java鏍囨敞鍙互鐢ㄤ簬緙栬瘧鏃訛紝涔熷彲浠ョ敤浜庤繍琛屾椂銆備笅闈㈢殑璁ㄨ涓昏闆嗕腑浜庤繍琛屾椂銆?/p>
Annotation鍒嗙被
1錛屽唴寤篈nnotation鈥斺擩ava5.0鐗堝湪java璇硶涓粡甯哥敤鍒扮殑鍐呭緩Annotation錛?/strong>
@Deprecated鐢ㄤ簬淇グ宸茬粡榪囨椂鐨勬柟娉曪紱
@Override鐢ㄤ簬淇グ姝ゆ柟娉曡鐩栦簡鐖剁被鐨勬柟娉曪紙鑰岄潪閲嶈澆錛夛紱
@SuppressWarnings鐢ㄤ簬閫氱煡java緙栬瘧鍣ㄧ姝㈢壒瀹氱殑緙栬瘧璀﹀憡銆?br />
涓嬮潰浠g爜灞曠ず浜嗗唴寤篈nnotation綾誨瀷鐨勭敤娉曪細
2,寮鍙戣呰嚜瀹氫箟Annotation錛氱敱寮鍙戣呰嚜瀹氫箟Annotation綾誨瀷銆?/strong>
涓銆丼ervlet榪囨護鍣ㄧ殑姒傚康錛?/strong>
鈼哠ervlet榪囨護鍣ㄦ槸鍦↗ava Servlet瑙勮寖2.3涓畾涔夌殑錛屽畠鑳藉瀵筍ervlet瀹瑰櫒鐨勮姹傚拰鍝嶅簲瀵硅薄榪涜媯鏌ュ拰淇敼銆傘
鈼哠ervlet榪囨護鍣ㄦ湰韜茍涓嶄駭鐢熻姹傚拰鍝嶅簲瀵硅薄錛屽畠鍙兘鎻愪緵榪囨護浣滅敤銆係ervlet榪囨湡鑳藉鍦⊿ervlet琚皟鐢ㄤ箣鍓嶆鏌equest瀵硅薄錛屼慨鏀筊equest Header鍜孯equest鍐呭錛涘湪Servlet琚皟鐢ㄤ箣鍚庢鏌esponse瀵硅薄錛屼慨鏀筊esponse Header鍜孯esponse鍐呭銆?/p>
Servlet榪囨湡璐熻矗榪囨護鐨刉eb緇勪歡鍙互鏄疭ervlet銆丣SP鎴栬匟TML鏂囦歡銆傘
浜屻丼ervlet榪囨護鍣ㄧ殑鐗圭偣錛?/strong>
鈼哠ervlet榪囨護鍣ㄥ彲浠ユ鏌ュ拰淇敼ServletRequest鍜孲ervletResponse瀵硅薄
鈼哠ervlet榪囨護鍣ㄥ彲浠ヨ鎸囧畾鍜岀壒瀹氱殑URL鍏寵仈錛屽彧鏈夊綋瀹㈡埛璇鋒眰璁塊棶璇RL鏃訛紝鎵嶄細瑙﹀彂榪囨護鍣?/p>
鈼哠ervlet榪囨護鍣ㄥ彲浠ヨ涓茶仈鍦ㄤ竴璧鳳紝褰㈡垚綆¢亾鏁堝簲錛屽崗鍚屼慨鏀硅姹傚拰鍝嶅簲瀵硅薄
涓夈丼ervlet榪囨護鍣ㄧ殑浣滅敤錛?/strong>
鈼嗘煡璇㈣姹傚茍浣滃嚭鐩稿簲鐨勮鍔ㄣ?/p>
鈼嗛樆濉炶姹?鍝嶅簲瀵癸紝浣垮叾涓嶈兘榪涗竴姝ヤ紶閫掋?/p>
鈼嗕慨鏀硅姹傜殑澶撮儴鍜屾暟鎹傜敤鎴峰彲浠ユ彁渚涜嚜瀹氫箟鐨勮姹傘?/p>
鈼嗕慨鏀瑰搷搴旂殑澶撮儴鍜屾暟鎹傜敤鎴峰彲浠ラ氳繃鎻愪緵瀹氬埗鐨勫搷搴旂増鏈疄鐜般?/p>
鈼嗕笌澶栭儴璧勬簮榪涜浜や簰銆?/p>
鍥涖丼ervlet榪囨護鍣ㄧ殑閫傜敤鍦哄悎錛?/strong>
鈼嗚璇佽繃婊?/p>
鈼嗙櫥褰曞拰瀹℃牳榪囨護
鈼嗗浘鍍忚漿鎹㈣繃婊?/p>
鈼嗘暟鎹帇緙╄繃婊?/p>
鈼嗗姞瀵嗚繃婊?/p>
鈼嗕護鐗岃繃婊?/p>
鈼嗚祫婧愯闂Е鍙戜簨浠惰繃婊?/p>
鈼哫SL/T榪囨護
鈼哅ime-type榪囨護
浜斻丼ervlet榪囨護鍣ㄦ帴鍙g殑鏋勬垚錛?/strong>
鎵鏈夌殑Servlet榪囨護鍣ㄧ被閮藉繀欏誨疄鐜癹avax.servlet.Filter鎺ュ彛銆傝繖涓帴鍙e惈鏈?涓繃婊ゅ櫒綾誨繀欏誨疄鐜扮殑鏂規硶錛?/p>
鈼唅nit(FilterConfig)錛?br /> 榪欐槸Servlet榪囨護鍣ㄧ殑鍒濆鍖栨柟娉曪紝Servlet瀹瑰櫒鍒涘緩Servlet榪囨護鍣ㄥ疄渚嬪悗灝嗚皟鐢ㄨ繖涓柟娉曘傚湪榪欎釜鏂規硶涓彲浠ヨ鍙杦eb.xml鏂囦歡涓璖ervlet榪囨護鍣ㄧ殑鍒濆鍖栧弬鏁?/p>
鈼哾oFilter(ServletRequest,ServletResponse,FilterChain)錛?br /> 榪欎釜鏂規硶瀹屾垚瀹為檯鐨勮繃婊ゆ搷浣滐紝褰撳鎴瘋姹傝闂簬榪囨護鍣ㄥ叧鑱旂殑URL鏃訛紝Servlet瀹瑰櫒灝嗗厛璋冪敤榪囨護鍣ㄧ殑doFilter鏂規硶銆侳ilterChain鍙傛暟鐢ㄤ簬璁塊棶鍚庣畫榪囨護鍣?/p>
鈼哾estroy()錛?br /> Servlet瀹瑰櫒鍦ㄩ攢姣佽繃婊ゅ櫒瀹炰緥鍓嶈皟鐢ㄨ鏂規硶錛岃繖涓柟娉曚腑鍙互閲婃斁Servlet榪囨護鍣ㄥ崰鐢ㄧ殑璧勬簮
鍏丼ervlet榪囨護鍣ㄧ殑鍒涘緩姝ラ錛?/strong>
鈼嗗疄鐜癹avax.servlet.Filter鎺ュ彛
鈼嗗疄鐜癷nit鏂規硶錛岃鍙栬繃婊ゅ櫒鐨勫垵濮嬪寲鍑芥暟
鈼嗗疄鐜癲oFilter鏂規硶錛屽畬鎴愬璇鋒眰鎴栬繃婊ょ殑鍝嶅簲
鈼嗚皟鐢‵ilterChain鎺ュ彛瀵硅薄鐨刣oFilter鏂規硶錛屽悜鍚庣畫鐨勮繃婊ゅ櫒浼犻掕姹傛垨鍝嶅簲
鈼嗛攢姣佽繃婊ゅ櫒
涓冦丼ervlet榪囨護鍣ㄥ璇鋒眰鐨勮繃婊わ細
鈼哠ervlet瀹瑰櫒鍒涘緩涓涓繃婊ゅ櫒瀹炰緥
鈼嗚繃婊ゅ櫒瀹炰緥璋冪敤init鏂規硶錛岃鍙栬繃婊ゅ櫒鐨勫垵濮嬪寲鍙傛暟
鈼嗚繃婊ゅ櫒瀹炰緥璋冪敤doFilter鏂規硶錛屾牴鎹垵濮嬪寲鍙傛暟鐨勫煎垽鏂璇鋒眰鏄惁鍚堟硶
鈼嗗鏋滆璇鋒眰涓嶅悎娉曞垯闃誨璇ヨ姹?/p>
鈼嗗鏋滆璇鋒眰鍚堟硶鍒欒皟鐢╟hain.doFilter鏂規硶灝嗚璇鋒眰鍚戝悗緇紶閫?/p>
鍏丼ervlet榪囨護鍣ㄥ鍝嶅簲鐨勮繃婊わ細
鈼嗚繃婊ゅ櫒鎴幏瀹㈡埛绔殑璇鋒眰
鈼嗛噸鏂板皝瑁匰ervletResponse錛屽湪灝佽鍚庣殑ServletResponse涓彁渚涚敤鎴瘋嚜瀹氫箟鐨勮緭鍑烘祦
鈼嗗皢璇鋒眰鍚戝悗緇紶閫?/p>
鈼哤eb緇勪歡浜х敓鍝嶅簲
鈼嗕粠灝佽鍚庣殑ServletResponse涓幏鍙栫敤鎴瘋嚜瀹氫箟鐨勮緭鍑烘祦
鈼嗗皢鍝嶅簲鍐呭閫氳繃鐢ㄦ埛鑷畾涔夌殑杈撳嚭嫻佸啓鍏ュ埌緙撳啿嫻佷腑
鈼嗗湪緙撳啿嫻佷腑淇敼鍝嶅簲鐨勫唴瀹瑰悗娓呯┖緙撳啿嫻侊紝杈撳嚭鍝嶅簲鍐呭
涔濄丼ervlet榪囨護鍣ㄧ殑鍙戝竷錛?/strong>
鈼嗗彂甯僑ervlet榪囨護鍣ㄦ椂錛屽繀欏誨湪web.xml鏂囦歡涓姞鍏ワ工filter錒ュ厓绱犲拰錒ilter-mapping錒ュ厓绱犮?/p>
鈼唂ilter鍏冪礌鐢ㄦ潵瀹氫箟涓涓繃婊ゅ櫒錛?/p>
鈼唂ilter-mapping鍏冪礌鐢ㄤ簬灝嗚繃婊ゅ櫒鍜孶RL鍏寵仈錛?/p>
鍗佷竴銆丼ervlet榪囨護鍣ㄤ嬌鐢ㄧ殑娉ㄦ剰浜嬮」
鈼嗙敱浜嶧ilter銆丗ilterConfig銆丗ilterChain閮芥槸浣嶄簬javax.servlet鍖呬笅錛屽茍闈濰TTP鍖呮墍鐗規湁鐨勶紝鎵浠ュ叾涓墍鐢ㄥ埌鐨勮姹傘佸搷搴斿璞ervletRequest銆丼ervletResponse鍦ㄤ嬌鐢ㄥ墠閮藉繀欏誨厛杞崲鎴怘ttpServletRequest銆丠ttpServletResponse鍐嶈繘琛屼笅涓姝ユ搷浣溿?/p>
鈼嗗湪web.xml涓厤緗甋ervlet鍜孲ervlet榪囨護鍣紝搴旇鍏堝0鏄庤繃婊ゅ櫒鍏冪礌錛屽啀澹版槑Servlet鍏冪礌
鈼嗗鏋滆鍦⊿ervlet涓瀵熻繃婊ゅ櫒鐢熸垚鐨勬棩蹇楋紝搴旇紜繚鍦╯erver.xml鐨刲ocalhost瀵瑰簲鐨勶工host錒ュ厓绱犱腑閰嶇疆濡備笅錒ogger錒ュ厓绱狅細
Servlet榪囨護鍣ㄧ殑鎯呭喌灝卞悜浣犱粙緇嶅埌榪欓噷錛岄偅涔堜綘瀵筍ervlet榪囨護鍣ㄦ槸鍚︽湁浜嗕簡瑙e憿錛?/p>
Sun 鐨勫叧浜?JavaBean 瑙勮寖瑙侊細http://java.sun.com/javase/technologies/desktop/javabeans/docs/spec.html錛屽叾涓彲涓嬭澆鍒?JavaBean 瑙勮寖鐨?nbsp; PDF 鏂囨。銆?br />
瀹為檯涓殑闂
棣?
鍏堬紝褰撶劧榪樻槸瑕佽瀹冪殑灞炴у強 setter/getter 鏂規硶銆傚睘鎬т互灝忓啓瀛楁瘝寮澶達紝椹煎嘲鍛藉悕鏍煎紡錛岀浉搴旂殑 getter/setter 鏂規硶鏄?
get/set 鎺ヤ笂棣栧瓧姣嶅ぇ鍐欑殑灞炴у悕銆傚鏁版儏鍐墊槸瀵圭殑錛屼笖褰撳墠嫻佽鐨?IDE(Eclipse銆丣Builder) 涔熼兘璁よ繖涓鐞嗭紝榪欓噷
NetBean
鍊煎緱琛ㄦ壃涓涓嬨備絾瑕佹槸紕板埌浜涢仐鐣欑殑浠g爜涓睘鎬у悕涓嶈鑼冿紝鎴栬呮湁浜涗漢灝辨槸欏藉浐錛屾垨鐪熸槸瀵瑰睘鎬у懡鍚嶇姽璞笉鍐蟲椂鐨勫啓涓嬬殑浠g爜鏃訛紝閭h繕鏄湁寰椾綘鐮旂┒涓涓嬨?br />
榪欓噷鏉ョ湅鐪?Eclipse 涓哄嚑涓睘鎬х敓鎴愮殑 getter/setter 鏂規硶鍚э細
sName(浠?C 杞繃鏉ョ殑錛屽彈鍖堢墮鍒╃殑褰卞搷錛岃涓?Name 鏄釜瀛楃涓詫紝鎵浠ュ姞涓墠緙 s) getSName()/setSName(String name)
URL (騫蟲椂璁や負鏄緝鐣ヨ/涓撴湁鍚嶈瘝錛岀悊褰撳叏閮ㄥぇ鍐欙紝榪欏湪鎴戜滑瀵瑰緟 ID 鏃剁粡甯稿彂鐢熺殑) getURL()/setURL(String url)
涓?
闈㈢涓涓敱 Eclipse 涓烘垜浠敓鎴愮殑 getSName()/setSName(String name) 鏂規硶錛屽弬鐓?JavaBean
瑙勮寖鏉ヨ錛屽叾瀹炴槸閿欒鐨勩傚鏋滃嚭鐜拌繖鏍風殑鏂規硶錛屾斁鍒版垜浠殑鏍囩(鍍?Struts 鏍囩錛屽 <s:textfield
name="sName"/>)錛屾垨鏄繘琛?Hibernate/iBatis 閭g鏄犲皠鏃訛紝浣犲氨鑳芥敹鍒版姤 鎵句笉鍒?sName 灞炴х浉搴旂殑 getter/setter 鏂規硶 閭f牱鐨勯敊璇備笉鏄槑鏄庢湁 getSName() 鍜?setSName(String name)錛屽彲鏄柟娉曞悕閿欎簡錛屾紜殑鐗堟湰搴旇鏄?getsName() 鍜?setsName(String name)銆?br />
鍓嶉潰棣栧厛瑙i噴浜嗗睘鎬у懡鍚嶄笉瑙勮寖浜х敓闂鐨勫師鍥狅紝鐜板湪灝辨潵鏇翠粩緇嗙殑浜嗚В鍏充簬 JavaBean 灞炴у強鍏?getter/setter 鏂規硶鐨勭害瀹氾紝鏈変簺鏄‖鎬х殑銆?br />
灞炴т笌瀛樺彇璁塊棶鐨勮瀹?/font>
涓?JavaBean 鍒涘緩灞炴ф椂錛屽繀欏葷墷璁幫細緙╃暐璇氬父琚涓轟竴涓嫭绔嬬殑鍗曡瘝錛岃屼笉鏄崟涓瓧姣嶃備緥濡傦紝URL 瀵瑰簲鐨勫睘鎬у悕搴旇鐢?url錛岀浉搴旂殑 getUrl()/setUrl()錛屾墍浠?ID 榪樻槸鐢?id 浣滀負灞炴у惂錛岀浉搴旂殑 getId()/setId()銆?br />
瑙?
鑼冧腑鍙︿竴涓壒鍒殑鍦版柟灝辨槸錛岀浜屼釜瀛楁瘝涓哄ぇ鍐欑殑灞炴у悕瑕佸尯鍒寰呫傚鏋滃睘鎬у悕鐨勭浜屼釜瀛楁瘝鏄ぇ鍐欑殑錛岄偅涔堣灞炴у悕鐩存帴鐢ㄤ綔 getter/setter
鏂規硶涓?get/set 鐨勫悗閮ㄥ垎錛屽氨鏄澶у皬鍐欎笉鍙樸傝繖灝辨槸涓轟粈涔?sName 瀵瑰簲鐨勫瓨鍙栨柟娉曟槸 getsName()/setsName()
鐨勫師鍥狅紝涓嶈兘涓嶈榪欐潯瑙勫垯寰堜護浜鴻垂瑙c傞偅灝辨洿鏈夊繀瑕佺湅鐪嬩笅闈㈣〃鏍肩殑瑙勮寖錛?/p>
灞炴у悕/綾誨瀷 | getter 鏂規硶 | setter 鏂規硶 |
xcoordinate/Double | public Double getXcoordinate() | public void setXcoordinate(Double newValue) |
xCoordinate/Double | public Double getxCoordinate() | public void setxCoordinate(Double newValue) |
XCoordinate/Double | public Double getXCoordinate() | public void setXCoordinate(Double newValue) |
Xcoordinate/Double | 涓嶅厑璁?/td> | 涓嶅厑璁?/td> |
student/Boolean | public Boolean getStudent() | public void setStudent(Boolean newValue) |
student/boolean | public boolean getStudent() public boolean isStudent() |
public void setStudent(boolean newValue) |
Java 浠g爜 | 鐐硅娉?/strong> |
anOrder.getAccount().getUsername() | anOrder.account.username |
anOrder.getOrderItem().get(0).getProductId() | anOrder.orderItem[0].productId |
anObject.getId() | anObject.id |
anObject.getxCoordinate() | anObject.xCoordinate |