锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品成人片在线观看精品字幕,亚洲伊人久久大香线蕉综合图片,亚洲大尺度无码专区尤物http://m.tkk7.com/zqc/zh-cnSun, 11 May 2025 03:03:54 GMTSun, 11 May 2025 03:03:54 GMT60嫻嬭瘯錛屾祴璇曪紝嫻嬭瘯錛岀粰鎴憈md鍐欐祴璇曪紒http://m.tkk7.com/zqc/archive/2007/07/17/130925.htmlwhere the amazing happenswhere the amazing happensTue, 17 Jul 2007 13:10:00 GMThttp://m.tkk7.com/zqc/archive/2007/07/17/130925.htmlhttp://m.tkk7.com/zqc/comments/130925.htmlhttp://m.tkk7.com/zqc/archive/2007/07/17/130925.html#Feedback0http://m.tkk7.com/zqc/comments/commentRss/130925.htmlhttp://m.tkk7.com/zqc/services/trackbacks/130925.html灝界寰堟棭寮濮嬪氨涓嶆涓嬈″緱瀵硅嚜宸辮錛屽崟鍏冩祴璇曪紒鍗曞厓嫻嬭瘯錛佸崟鍏冩祴璇曪紒 浣嗘槸渚濈劧澶辨湜寰楀彂鐜扮幇鍦ㄦ墍閬囧埌鎵鏈夌殑鐑︽伡鍑犱箮閮戒笌嫻嬭瘯鏈夊叧銆傛浘緇忚涓涓漢涓夊ぉ鍐呮悶瀹氫竴涓鍧?-鍔熻兘榪樼浉褰撳鏉傦細闄や簡鍩烘湰鐨刢rud鍙戝笘鍥炲笘鎼滅儲浠涔堢殑榪樿鏈夌敤鎴峰垎緇勩佽闂潈闄愩佸瓙璁哄潧錛岀瓑錛岀幇鍦ㄦ兂褰撴椂鏄粈涔堣鎴戝湪鎾戣繃鏉ョ殑錛熸槸閭d竴涓釜綆鍗曢毦鐪嬪急鏅虹殑testcase錛佸湪鎴戠湅鏉ヤ竴涓笉鎳傚緱tdd涓嶇悊瑙f祴璇曞厛琛屼笉娓呮鎬庝箞鍐檛estcase鐨勭▼搴忓憳灝卞嚑涔庡氨涓嶈兘綆楁槸涓悎鏍煎緱紼嬪簭鍛樸傝繖涓嶆槸鎶鏈棶棰橈紝鏄斂娌婚棶棰樸傚挨鍏舵槸鍦ㄤ綘鍙戠幇浣犵殑宸茬粡紱昏亴鐨勫悓浜嬪啓鐨勪竴涓瀬涓哄鏉傜殑鑷畾涔夋帶浠跺湪浣跨敤鐨勬椂鍊欏嚭鐜頒竴澶у爢bug鑰屼綘榪樿鑺變竴鍫嗘椂闂村幓綰犳鏃剁殑緇濇湜銆傛暣涓」鐩粍娌′漢鍐檛estcase?娌¢棶棰橈紝鎴戣嚜宸卞啓灝辮浜?---鏁翠釜杞歡妗嗘灦妯″潡鍙祴璇曟уお浣庯紵娌¢棶棰橈紝鑺辯偣鏃墮棿鎶婇噸瑕佺殑綾昏В鑰﹀嚭鏉?-鏃墮棿鏉ヤ笉鍙婏紵鏇存病闂錛岀(鍒涓嶈鐮嶆煷鍔熴?/p>

鏄庡ぉ鎵撶畻緇欓偅浜涚粍浠舵墍鏈塸ublic鐨勬柟娉曞啓涓婃祴璇曠敤渚?-铏界劧鑺辨椂闂寸粰鍒漢鐨勪唬鐮佸啓嫻嬭瘯鏄瀬涓烘棤鑱婄殑琛屼負錛屼絾鏄幇鍦ㄦ垜涔熻浜嗭紝涓嶈兘鍐嶈繖鏍鋒彁蹇冨悐鑳嗗緱鍐欎唬鐮佸拰鎵嬪伐嫻嬭瘯浜嗭紝瀹佸彲鑺變笂涓涓笂鍗堢敋鑷蟲洿澶氱殑鏃墮棿鏉ュ啓鐢ㄤ緥鎼緩鐜銆俁od Johnson璇村緱瀵規瀬浜?鐗涗粩寮忕湡鏄紪紼嬪姝伙細婊″ぉ椋炵殑宸ュ巶妯″紡銆佸崟渚嬨侀潤鎬佸彉閲忥紝浠涔堟敞閲婇兘娌℃湁鐨勭洃鍚帴鍙?---鏈閲嶈鐨勬槸錛屾病鏈夋祴璇曠敤渚?-涔冭繕綆楃▼搴忓憳鍚楋紵鐭ラ亾鑰佸瓙鑺變簡澶氬皯鏃墮棿鏉ユ嫓璇諱慨鏀歸噸鏋剆tep in,step over鎮ㄧ殑"澶т綔"錛焗oly shit.

Del.icio.us :



]]>
鎬葷粨鏉傝http://m.tkk7.com/zqc/archive/2007/06/19/125205.htmlwhere the amazing happenswhere the amazing happensTue, 19 Jun 2007 14:34:00 GMThttp://m.tkk7.com/zqc/archive/2007/06/19/125205.htmlhttp://m.tkk7.com/zqc/comments/125205.htmlhttp://m.tkk7.com/zqc/archive/2007/06/19/125205.html#Feedback0http://m.tkk7.com/zqc/comments/commentRss/125205.htmlhttp://m.tkk7.com/zqc/services/trackbacks/125205.html涓婂懆寮濮嬩笂鐝椂錛屽師鏉ヤ互涓轟細鍘誨仛web寮鍙戯紝姣曠珶榪欐柟闈㈡瘮杈冪啛緇冿紝涓嶆枡琚涪鍘繪悶妗岄潰搴旂敤銆傚熀鏈笂鏄竴涓猻pringrcp寮鍙戠殑涓涓猵rototype錛屽墠鍑犲ぉ鍏堢湅鐪嬩唬鐮佸拰tutorials鐔熸倝涓嬬郴緇燂紝鐒跺悗鍐欎簡鍑犱釜鍔熻兘demo銆俿pringrcp鍦╦ava鐨勬闈㈠簲鐢ㄤ腑涓嶇畻涓繪祦錛屾墍浠ヨ祫鏂欐壘璧鋒潵涔熸瘮杈冨洶闅撅紝欏圭洰緇勫叾浠栦袱浜洪兘蹇欏緱灞佽偂鏈濆ぉ錛屽彧鑳借嚜宸辨參鎱㈢悽紓ㄣ傛葷粨涓嬫潵srpc鐨勫嚑澶ч棶棰橈紝鍚姩閫熷害銆佽嚜瀹氫箟鏁版嵁緇戝畾鍜岃緭鍏ユ牎楠屻傚湪璁捐鐞嗗康涓婏紝srcp鏃犵枒閫傚悎鑳栧鎴風鐨勫ぇ鍨嬩紒涓氬簲鐢?Thick Enterprise App)--鏍規嵁backbean鑷姩鐢熸垚ui銆佽嚜鍔ㄧ粦瀹氭暟鎹拰鏍¢獙絳夛紝閫氳繃涓鍫嗭紙娉ㄦ剰錛屼竴鍫嗐傦級spring contex鍜宺esource鏂囦歡緇勮璧鋒潵銆俿rcp鏃犵枒鏄釜闈炲父瀹炲湪鐨勫紑鍙戞鏋訛紝澶疄鍦ㄥ埌浠ヨ嚦浜庝漢浠竴鎻恟cp椹笂灝辨槸eclipsercp錛屽綋鐒訛紝eclipse rcp姣旇搗鏉ワ紝瀹冨彲浠ョ畻鏄凡緇?span style="TEXT-DECORATION: underline">涓嶅啀鏇存柊浜嗭紙浠?騫村墠寮濮嬶級銆?/h5>
銆銆springframework.org璁哄潧閲屾湁鏉¤瘎璁猴紝緲昏瘧榪囨潵澶ф灝辨槸璇達紝srcp紼嬪簭璇村埌搴?灝辨槸鐢ㄥ嚑涓猨ar鍜岄厤緗枃浠舵妸浣犵殑swing搴旂敤緇勭粐璧鋒潵鐨勬湁鐫澶嶆潅鐨勮璁$粨鏋勭殑xx"錛堝ソ鍚ф垜涓嶇悊瑙d貢緲昏瘧錛夛紝璇磋搗swing錛屼負浜嗗吋欏懼悇涓柟闈㈢殑鍥犵礌(涓昏鏄痗oncurrency)錛宻wing鐨勫紑鍙戣呬滑涓嶅緱涓嶈swing鐨勪嬌鐢ㄨ呬滑鍦ㄤ竴涓總鍥炴洸鎶樼殑鐜涓紪鍐欎粬浠殑搴旂敤銆傝繖灝卞ソ鍍忓湪涓搴у簽澶х殑閲戝瓧濉斿唴閮ㄨ瀵熷畠鐨勫緩絳戠粨鏋勪竴鏍鳳紝浣犱細鍙戝嚭闃甸樀鎯婂徆錛涗篃浼氱粔璧風湁澶磋糠鎯戜笉瑙?-寮濮嬬殑鏃跺欏悗鑰呮槸榪滆繙澶氳繃鍓嶈呯殑銆傚洖榪囨潵鐪嬬湅鐜板湪濡傜伀濡傝嵓鐨剋eb寮鍙戯紝鎯蟲兂錛寃eb寮鍙戞槸涓嶆槸鍦ㄨ蛋10鍑?0騫村墠鐨勮佽礬錛屼粈涔堟墠鏄▼搴忕殑鐪熻皼鍛紵
鎺ヤ笅鏉ュ噯澶囧涔犱竴鐐規暟鎹寲鎺樻柟闈㈢殑鐭ヨ瘑錛屽叿浣撶偣鏄涔夊垎鏋愩傚洜涓哄叕鍙稿湪鏁版嵁閲囬泦榪欐柟闈㈣繕鐩稿綋鍘熷鐨剆pider+鎵嬪伐鏀跺壊錛屽拰st璋堝埌榪欎釜鏃朵篃鎻愬埌涓彲閫夌殑鏂規錛屽ぉ鐭ラ亾閭d釜鐪嬩笂鍘諱笉鑹皯騫翠竴鏍風殑瀹朵紮鑴戣閲屽埌搴曡浜嗗灝戜笢瑗褲傚ソ浜嗭紝榪欏懆鎵撶畻鎷栨嫋鎷夋媺鍦版妸鑷姩鏇存柊updater鍐欏畬錛岄『渚跨湅鐪嬫湁娌℃満浼氬紕鎴愪竴涓氱敤鐨剈pdater銆傜涓鏈熺殑涓氬姟閫昏緫涓嶅鏉傦紝鎵浠ヤ篃鏆傛椂娌℃垜浠涔堜簨錛屾濂藉彲浠ヤ竴鍙剼绔欏湪闂ㄥ緇嗗績鐬呯瀰錛屽叾浠栫瓑璇勪及緇撴灉鍑烘潵浜嗗啀璇淬傚垰鎵嶆敹淇℃椂鍊欑湅鍒版湁灝?4鍙風殑offer letter錛屽瘑瀵嗛夯楹葷殑鑻辨枃鎼炲緱foxmail閮芥妸瀹冧涪鍒板瀮鍦劇閲屽幓浜嗐?br/>


]]>
鍏ㄦ帓鍒楀拰鍏朵粬http://m.tkk7.com/zqc/archive/2007/06/05/122137.htmlwhere the amazing happenswhere the amazing happensTue, 05 Jun 2007 06:47:00 GMThttp://m.tkk7.com/zqc/archive/2007/06/05/122137.htmlhttp://m.tkk7.com/zqc/comments/122137.htmlhttp://m.tkk7.com/zqc/archive/2007/06/05/122137.html#Feedback0http://m.tkk7.com/zqc/comments/commentRss/122137.htmlhttp://m.tkk7.com/zqc/services/trackbacks/122137.html鏄ㄥぉ涓婂崍鍘婚潰璇曠殑涓閬撻錛屽綋鍦烘病鎯沖嚭鏉ワ紝鍥炴潵鑺變簡鐐規椂闂磋ˉ瀹屼簡涓嬪彂鍥炲幓.

鍘熼瑕佹眰鐢╦ava錛岀敤python鍙槸涓轟簡鏂逛究銆傜敤鍥炴函娉曞揩錛屼絾鏄繕鏄潥鎸佺敤閬嶅巻媯灄鏉ュ啓錛岃繖涔熸槸闈㈣瘯鏃舵病鎯沖畬鐨勬濊礬錛屽懙鍛碉紝鎴戝氨鏄嚜鎵鵑夯鐑︾殑紜煶澶存ф牸銆?/p>

鏈鍏堟兂鍒扮敤鏃犲悜榪為氬浘榪涜娣卞害浼樺厛鎼滅儲錛屼絾鏄病鏈夎冭檻鍒扮粨鏉熸潯浠躲傚浜嶯涓緟鎺掑垪鐨勬暟瀛楋紝姣忎釜鑺傜偣閮芥湁N-1涓嚭鍙e拰鍏ュ彛錛岃岀敤鏍戠姸緇撴瀯姣忎釜鑺傜偣鍙湁涓涓埗鑺傜偣錛屽瓨鍦ㄩ掑綊榪斿洖鐨勬潯浠躲備絾鏄繖涓柟娉曠殑瀹炵敤鎬у彧闄愬埗鍦ㄥ綋鎺掑垪鏁板緢灝戯紙N < 8錛夋椂銆傚綋N>8鏃剁畻娉曟秷鑰楃殑鏃墮棿鏄庢樉澧炲姞(涓鍏?*7*6*5*4*3*2*1=40320縐嶇粍鍚?錛屽綋N>1000鏃?褰撶劧錛岃繖縐嶆儏鍐墊槸涓嶆暍鎯沖儚鐨?灝變細杈懼埌python鐨勯掑綊鏋侀檺銆傛墍浠ョ湡姝e鏋滆騫茬偣浠涔堢殑璇?褰撶劧錛岄珮涓敓閮界煡閬撳叏鎺掑垪鎷?2寮犳墤鍏嬬墝鍑烘潵鎺掍竴涓嬬粨鏋滈泦灝辨槸涓ぉ鏂囨暟瀛?錛岃繖鏄劇劧涓嶆槸涓ソ綆楁硶銆?/p>

#coding=utf-8

# 鏁板瓧鍏ㄦ帓鍒?/span>
#
Chris Zheng 2007-06-05

import sys, os


#寰呮帓鍒楃殑鏁板瓧
NUMS = [1,2,3,4,5,6]

#緇撴灉闆嗗悎
results = []

EXCLUDES
= (
lambda a,b,nums:abs(nums.index(a) - nums.index(b)) == 1, #a,b鏄惁鐩擱偦
lambda a,b,idx_a,idx_b,nums:nums.index(a) == idx_a and nums.index(b) \
== idx_b #a,b鏄惁鍚屾椂絎﹀悎鐗瑰畾浣嶇疆
)

# 3鍜?涓嶈兘鐩擱偦 褰?鍦ㄧ1鏃?涓嶈兘鍦ㄧ7
EXT_PARAMS = (
(
3,4,NUMS),(2,6,1,7,NUMS)
)

#媯鏌ユ帓闄ゆ潯浠?/span>
def __check_conditions(nums):
matchs
= False
for f in EXCLUDES:
for params in EXT_PARAMS:
try:
params[
-1] = nums
matchs
= f(*params)
if matchs: return matchs
except Exception:continue
return matchs

#鏍戣妭鐐?/span>
class node(object):
def __init__(self, n):
self.value
= n
self.parent
= None
self.children
= []
def __eq__(self,other):
return self.value == other.value
def __str__(self):return str(self.value)

#涓繪柟娉?/span>
def get_all(nums):
trees
= []
for n in nums:
trees.append(create_tree(node(n)))
for t in trees:
walk_tree(t)
global results
#榪囨護鏉′歡
return (r for r in results if not __check_conditions(r))

#鐢熸垚緇撴灉鏍?/span>
def create_tree(root):
parent_elements
= __parents(root)
if len(parent_elements) == len(NUMS)+1:return root
nums
= (nums for nums in NUMS if node(nums) not in parent_elements)
for k in nums:
c
= node(k)
c.parent
= root
root.children.append(create_tree(c))
return root

def __parents(node):
parent_elements
= [node]
while node.parent:
parent_elements.append(node.parent)
node
= node.parent
return parent_elements

#閬嶅巻緇撴灉鏍?/span>
def walk_tree(root):
if root.children:
for n in root.children:
walk_tree(n)
else:
k
= [root.value]
p
= root.parent
while p:
k.append(p.value)
p
= p.parent
k.reverse()
results.append(k)

#嫻嬭瘯杈撳嚭
if __name__=='__main__':
rs
= get_all(NUMS)
f
= open('results.txt','w')
for k in rs:
f.write(str(k)
+'\n')
f.close()


.




]]>
綆楁硶3:璁$畻瓚呭ぇ鏁板瓧鏁存暟涔樻硶http://m.tkk7.com/zqc/archive/2006/09/25/71819.htmlwhere the amazing happenswhere the amazing happensMon, 25 Sep 2006 12:40:00 GMThttp://m.tkk7.com/zqc/archive/2006/09/25/71819.htmlhttp://m.tkk7.com/zqc/comments/71819.htmlhttp://m.tkk7.com/zqc/archive/2006/09/25/71819.html#Feedback1http://m.tkk7.com/zqc/comments/commentRss/71819.htmlhttp://m.tkk7.com/zqc/services/trackbacks/71819.html闃呰鍏ㄦ枃

]]>
鍏充簬getParameterNames()http://m.tkk7.com/zqc/archive/2006/06/18/53546.htmlwhere the amazing happenswhere the amazing happensSat, 17 Jun 2006 20:51:00 GMThttp://m.tkk7.com/zqc/archive/2006/06/18/53546.htmlhttp://m.tkk7.com/zqc/comments/53546.htmlhttp://m.tkk7.com/zqc/archive/2006/06/18/53546.html#Feedback0http://m.tkk7.com/zqc/comments/commentRss/53546.htmlhttp://m.tkk7.com/zqc/services/trackbacks/53546.html

]]>
Comments on Mock-Based Testinghttp://m.tkk7.com/zqc/archive/2006/06/04/50308.htmlwhere the amazing happenswhere the amazing happensSun, 04 Jun 2006 10:53:00 GMThttp://m.tkk7.com/zqc/archive/2006/06/04/50308.htmlhttp://m.tkk7.com/zqc/comments/50308.htmlhttp://m.tkk7.com/zqc/archive/2006/06/04/50308.html#Feedback1http://m.tkk7.com/zqc/comments/commentRss/50308.htmlhttp://m.tkk7.com/zqc/services/trackbacks/50308.html寰堝ソ鐨勪竴綃囨枃绔狅紝娣卞叆璇翠簡寰堝鍏充簬嫻嬭瘯鐨勪笢瑗褲?br />
A article from Technoetic
- Posted in
Software Dev., Agile by Steve Bate

I recently read a blog entry with criticisms of mock-based testing. The author raised several 鈥渋ssues鈥?with using mocks to support unit testing. I鈥檓 commenting here since the author has closed comments on the original blog entry.

Issue 1: Poor integration tests, as everything is being tested in isolation

I鈥檝e had good experience with mock-based testing. However, it鈥檚 obvious that mocks will only test classes in isolation. I use both unit tests and integration tests (sometimes called system or acceptance tests) together. The need for integration tests is not an issue for mock-based techniques and is not a good reason to use less mocks. It鈥檚 just a different aspect of testing. A more common issue in my experience is that people in the agile community who are new to testing often don鈥檛 understand these different aspects of testing and seem to believe that mock-based unit testing and integration testing are mutually exclusive options. The lack of common terminology in the community only worsens the problem. For some people, a 鈥渦nit鈥?is a class or small group of tightly coupled classes. For others, it鈥檚 a large portion of the software product. Most agile developers seem to call every test they write a unit test. It鈥檚 become so confusing for some teams that I鈥檝e seen terminology like 鈥渋ntegration unit tests鈥?being used to describe testing strategies.

But, back to the topic. Poor integration testing is simply the result of lack of integration tests. Mocks do not cause a lack of integration tests. A team makes that choice, probably based on a weak understanding of the tradeoffs between isolation (unit) and integration (system) testing.

Issue 2: Mocks add complexity to the software design.

鈥淚鈥檝e seen numerous occasions where the introduction of mocks has added a large amount of complexity to an otherwise simple design. This complexity leads to higher implementation costs, a higher cognitive load on the developers working on the system, and higher maintenance costs (as there鈥檚 more code to maintain). 鈥?/p>

The author appears to focused on the increased use of interfaces when using mock-based testing and expresses the opinion that interfaces should only be used where we鈥檇 want to be able to replace one implementation with another. First, there are other reasons to use interfaces. In general, interfaces are useful for managing dependencies between software components or subsystems. This can be beneficial even if the implementations do not change (see The Dependency Inversion Principle).

A modular software design will generally make it easier to use mock-based testing without altering the design specifically for the mocks. However, there are times when the software must be modified to support testing. Fortunately, the changes needed to support testing often, if done well, support the modularity goal.

In my experience, extra interfaces don鈥檛 add a significant maintenance overhead. Most effort is spent implementing the interface. The time writing the interface itself (or extracting it using an IDE鈥檚 refactoring tools) is negligible.

My Conclusions

In almost every case, I see the 鈥渟implicity鈥?gained by not using mocks overshadowed by complex test setups to initialize large groups of dependent objects. The dark side of integration testing is that it鈥檚 often very slow for large numbers of tests. Some teams are using continuous integration tools like Cruise Control to run their 鈥渦nit tests鈥?(usually they are actually integration tests). This delays the feedback about broken builds but is often necessary because the tests run so slow. I realize there other reasons for using CC, but this is a common one from what I鈥檝e seen and heard.

I鈥檝e worked on teams where we had thousands of tests that ran in less than 15-20 seconds total on a developer workstation. This was a direct result of heavy use of mock-based testing. We also had a slower suite of integration tests that required 4-5 minutes to run. We didn鈥檛 need a continuous integration server because we were able to integrate and run our unit tests before every commit to the source control system. The team integrated 10-20 times/day and broken builds were practically nonexistent over the several years I worked with them. In the very rare cases when the build did break, it was typically fixed in a matter of minutes.

The other benefit of the isolation testing enabled by mocks is the ability to pinpoint problems much more quickly. It鈥檚 a form of the divide and conquer problem solving strategy, only the divide part is already done. The conquering is relatively easy compared to tracking down the cause of test failures when many classes are being exercised in a test.

My experience was that our mock based unit tests caught about 98% of the code problems before the code was ever committed to source control. The integration tests caught about another 1% beyond that (almost always because of a flaw in the mock-based testing) and manual testing caught the other 1%.



]]>
Waterfall framework 寮鍙戞棩蹇?/title><link>http://m.tkk7.com/zqc/archive/2006/05/24/47845.html</link><dc:creator>where the amazing happens</dc:creator><author>where the amazing happens</author><pubDate>Wed, 24 May 2006 08:58:00 GMT</pubDate><guid>http://m.tkk7.com/zqc/archive/2006/05/24/47845.html</guid><wfw:comment>http://m.tkk7.com/zqc/comments/47845.html</wfw:comment><comments>http://m.tkk7.com/zqc/archive/2006/05/24/47845.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.tkk7.com/zqc/comments/commentRss/47845.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/zqc/services/trackbacks/47845.html</trackback:ping><description><![CDATA[ <p>TODO:<br />緇х畫嫻嬭瘯鍜屾敼榪?涓嶆弧鎰忕殑鍦版柟:@ToSession鏍囩<br /><br />鏇存柊鏃ュ織:<br /><br />2006-06-18聽澧炲姞鍜屾敼榪?@ToList 鏍囩,鐢ㄦ潵淇グ涓涓弬鏁頒負java.util.List<T>鐨剆etter鏂規硶聽<br />2006-05-23 澧炲姞 VelocityView鎺ュ彛,鏂逛究velocity瑙嗗浘璋冪敤.<br />2006-05-23 澧炲姞 WebParam鎺ュ彛,灝佽鎺塺equest鍜宺esponse浠ュ強ServletContext</p> <p>2006-05-22 澧炲姞 5.1 鍒濆鍖?velocity <br />2006-05-21 澧炲姞 4.1 - 4.2 HttpSession鎿嶄綔<br /><br /><br />鏇存柊note:<br />1.HttpServletRequest鐨?a href="file:///D:/jakarta-tomcat-4.1.30/servlet%20api/javax/servlet/ServletRequest.html#getParameterNames()"><strong><font face="Courier New">getParameterNames</font></strong></a><font face="Courier New">()</font>聽鏂規硶榪斿洖鐨凟numeration鐩稿浜庨〉闈㈠弬鏁扮殑鐗╃悊欏哄簭鍒氬ソ鏄浉鍙嶇殑,鎵浠ュ疄鐜癅ToList鏍囩鏃跺欓渶瑕佸厛鐢ㄤ竴涓猄tack鏉ュ鎵鏈夊弬鏁拌繘琛屽弽杞?涓嶇煡tomcat鍦ㄨ繖涓猘pi鏂規硶涓婃槸鎬庝箞瀹炵幇鐨?涓轟粈涔堝氨鍊掕繃鏉ャ俢璇█鍑芥暟鍙互鏍規嵁涓嶅悓鐨刢all綾誨瀷鏉ユ寚瀹氫笉鍚岀殑鍘嬫爤鐨勯『搴忥紝鑾潪榪欎釜鎯緥涔熻鐢ㄥ埌servlet閲岄潰鏉ヤ簡錛屾尯鏈夋剰鎬濈殑涓滆タ錛岀湅鏉ラ渶瑕佺暀鎰忎竴涓嬨?br /></p> <p>闂鍜岃В鍐蟲柟寮?<br /><br />1.鍏充簬@ToSession鏍囩.濡傛灉鏄櫥闄嗙殑璇?閭d箞灝辨湁涓垽鏂潯浠跺喅瀹氭煇涓猯ogin token鏄惁搴旇琚姞鍒皊ession涓?榪欐椂鍊欏彲浠ュ湪@ToSession鏍囪鐨刧etter鏂規硶涓姞鍏ラ昏緫鍒ゆ柇,鏉ュ喅瀹氳繑鍥炰竴涓猼oken瀹炰綋鎴栬卬ull(榪欐牱鍋氭湁鐐瑰彜鎬?.).<br /><br />2.璺緞鐨勯棶棰?姣斿涓涓?a href="http://host/logic/bbs/admin/ListUsers.wff">http://host/logic/bbs/admin/ListUsers.wff</a> 鎽哥増鐨勭浉鍏寵祫婧愮洰褰?姣斿,鍥劇墖,css,js絳?灝卞繀欏誨瓨鍦╳ebproject/bbs/admin鍝嶅簲鐨勭洰褰曚笅,鏈夌偣鍍弒truts鐨勫妯″潡.<br /><br />寮濮?<br /><br />Ruby on Rails鏈変釜璁捐鎬濇兂鏄敤緙栫爜瑙勫畾浠f浛綣佺悙鐨勯厤緗枃浠躲俲vm騫沖彴宸茬粡鏈変竴浜涚被浼紃or鐨勫疄鐜幫紝姣斿<br />grails(<a >http://docs.codehaus.org/display/GRAILS/2006/03/29/Groovy+on+Rails+(Grails)+0.1+Released</a>)</p> <p>铏界劧鐢變簬java鑷韓鐨勫眬闄愶紝瀹冨緢闅懼仛鍑哄儚ruby鎴栬単roovy閭f牱鍔ㄦ佽璦閭f牱闅忓績鎵嬈茬殑鍔ㄤ綔錛屼絾鏄埄鐢ㄥ畠鐨勮繍琛屾椂鍙嶅皠銆佸姩鎬佷唬鐞嗙瓑鐗規ф潵灝藉彲鑳藉疄鐜扳滅敤緙栫爜瑙勫畾浠f浛綣佺悙鐨勯厤緗枃浠垛濊繖涓鎬濇兂銆?br />涓嬮潰杞叆姝i銆?/p> <p>ServletAPI瀵笻TTP鍗忚榪涜浜嗗皝瑁?閫氳繃閰嶇疆Web.xml鏉ユ妸涓嶅悓鐨勮姹傝漿鍙戠粰涓嶅悓鐨剆ervlet鏉ュ鐞嗐俉eb妗嗘灦鍒欑敤涓涓狝ctionServlet錛屾牴鎹嚜宸辯殑瀵笰ction鐨勫畾涔夋潵杞彂璇鋒眰銆?br />鎶涘紑閭d簺綣佺悙鐨勯厤緗枃浠訛紝璁炬兂涓涓嬭繖鏍蜂竴縐嶆柟娉?</p> <p>1.Web鍔ㄤ綔鐨勫鐞嗗拰鍝嶅簲</p> <p>鍋囪榪欐牱涓涓狿OST璇鋒眰:</p> <p>聽 <form action="logic/group/NewTopic.wff" method="post"></p> <p>Web鍔ㄤ綔瀹炵幇Bean:<br />聽聽 org.qqsns.web.logic.group.NewTopic聽聽 <br />娉ㄦ剰鍚庨潰鐨刲ogic/group/NewTopic鍜宭ogic.group.NewTopic, 鍔ㄤ綔綾誨拰Web鍔ㄤ綔鏄氳繃璇鋒眰璺緞鍜屽寘鍚嶇浉浜掑叧鑱斻?br />榪欐牱錛屽Web鍔ㄤ綔鐨勫搷搴斿氨渚濊禆浜庣紪璇戞湡鐨勪唬鐮佺殑緇勭粐緇撴瀯鑰屼笉鏄墽琛屾湡鐨勯厤緗枃浠躲傝繖鏍風殑濂藉鏄伩鍏嶄簡緇存姢綣佺悙鐨勯厤緗枃浠?鐗瑰埆鏄湪娌℃湁IDE鏀寔鐨勬儏鍐典笅銆?/p> <p>org.qqsns.web.logic.group.NewTopic綾繪槸涓涓疄鐜皀et.wff.servlet.WebAction鎺ュ彛鐨凱OJO錛屼笅闈㈡槸NewTopic涓璭xecute鐨勬柟娉曠墖孌?聽聽 <br />聽<br />聽//Only method must be implemented for interface net.wff.servlet.WebAction<br />聽public String execute(WebParam param,聽VelocityView view)<br />聽throws ServletException, IOException{<br />聽聽...<br />聽聽//return "redirect /success.html";聽 //璇鋒眰閲嶅畾鍚?br />聽聽return "/success.jsp";聽聽聽聽聽聽聽聽聽聽聽聽聽 //璇鋒眰杞彂<br />}<br />execute鏂規硶鐨勮繑鍥炲兼墜鍔ㄦ寚瀹氫簡涓涓漿鍙戞垨閲嶅畾鍚戠殑璺緞銆?/p> <p>2.杈撳叆楠岃瘉</p> <p>鏅氱殑Web妗嗘灦閮藉甫鏁版嵁杈撳叆楠岃瘉鍔熻兘,涓鑸鏉傜▼搴﹀拰鍔熻兘寮哄ぇ涓庡惁鎴愭姣斻?br />榪欓噷綆鍗曞湴瑕佹眰浠巗etter鏂規硶閲屾姏鍑轟竴涓寘鍚獙璇佷俊鎭殑寮傚父錛屼互姝ゆ潵瀹炵幇杈撳叆寮傚父澶勭悊銆?br />聽聽聽聽聽聽 <br />鏅歴etter鏂規硶<br />public void setName(String name){聽<br />聽聽this.name = name;<br />}</p> <p>娣誨姞杈撳叆楠岃瘉鍚庣殑setter鏂規硶</p> <p>public void setName(String name) throws InputException{聽聽聽 <br />聽if(name.length()<3)<br />聽聽聽 throw new InputException("Topic name must has a length greater than 3");聽<br />聽聽this.name = name;<br />}</p> <p>鍦╓aterFallServlet濡備綍涓鐞嗛獙璇佷俊鎭?</p> <p>聽聽聽 WebAction wa = <br />聽聽聽 (WebAction)Class.forName(classPath).newInstance();<br />聽聽聽聽聽聽聽聽聽 //procces forwarding<br />聽聽聽聽聽聽聽聽聽 try {<br />聽聽聽聽ActionHelper.setProperties(request,wa);<br />聽聽聽} catch (InputException e) {<br />聽聽聽聽//return to input view<br />聽聽聽聽//header:referer<br />聽聽聽聽String rtn = request.getHeader("referer");<br />聽聽聽聽//clear old errors<br />聽聽聽聽if(rtn.indexOf("?")!=1){<br />聽聽聽聽聽rtn = rtn.substring(0,rtn.indexOf("?"));<br />聽聽聽聽}<br />聽聽聽聽rtn=rtn+"?error="+URLEncoder.encode(e.getMessage(),"UTF-8");<br />聽聽聽聽response.sendRedirect(rtn);<br />聽聽聽聽return;<br />聽聽聽}</p> <p>榪欐牱楠岃瘉淇℃伅閫氳繃璇鋒眰鍙傛暟浼犲洖鍒拌緭鍏ラ〉闈?</p> <p>3.鏁版嵁緇戝畾</p> <p>鍋囪鏈夎繖鏍風殑html杈撳叆:</p> <p>聽聽聽 <input type="text" name="name"/><br />聽聽聽 <input type="text" name="number"/><br />聽聽聽 <input type="text" name="price"/><br />聽聽聽 <br />聽涓嬮潰鏄疦ewTopic涓璭xecute鐨勬柟娉曞叏閮?聽聽 <br />聽<br />聽public String execute(WebParam param, VelocityView view)<br />聽throws ServletException, IOException{<br />聽聽System.out.println(getName());<br />聽聽System.out.println(getNumber());<br />聽聽System.out.println(getPrice());<br />聽聽System.out.println(getLength());<br />聽聽return "/success.html";<br />}<br />聽聽聽 <br />鑷姩浠巖equest娉ㄥ叆parameter,榪欎篃鏄疭truts DynamicActionForm鐨勫ソ澶勪箣涓銆?br />涓嶈繃榪欓噷瀹炵幇鏇寸被浼煎浜嗙被鍨嬭漿鎹㈢殑<jsp:setProperty name="bean" property="*"/><br />鍥犱負Name鐨勭被鍨嬫槸String,Number鐨勭被鍨嬫槸Integer,Price鐨勭被鍨嬫槸float,length鐨勭被鍨嬫槸double.鑷充簬鍏朵粬澶嶆潅鐨勭被鍨?涔熻jsf鐨勮漿鎹㈠櫒鏄釜鏇村ソ鐨勪富鎰忋?br />榪欐牱灝卞垵姝ヨВ鍐充簡鏁版嵁鐨勮緭鍏ョ粦瀹氬拰楠岃瘉銆備綑涓嬬殑灝辨槸涓氬姟閫昏緫鐨勯棶棰樸?/p> <p>4.濡備綍鎿嶄綔Session涓殑淇℃伅<br />聽<br />聽鑾峰彇session涓殑淇℃伅:</p> <p>聽 @FromSession(<br />聽聽聽聽 sessionKey=User.key<br />聽聽聽聽 )<br />聽public void setCurrentUser(String currentUser) {<br />聽聽this.currentUser = currentUser;<br />聽}</p> <p>聽淇℃伅淇濆瓨鍒皊ession涓?聽</p> <p>聽 @ToSession(<br />聽聽聽聽聽 sessionKey = User.key聽聽<br />聽聽聽 )<br />聽public String getName() {<br />聽聽if(login())return name;<br />聽聽else return null;<br />聽}</p> <p>聽榪?涓柟娉曞畾涔夊湪WebAction鐨勫疄鐜扮被涓?br />聽妗嗘灦鍦╡xecute()涔嬪墠鎵ц@FromSession鍔ㄤ綔錛屽湪execute()涔嬪悗鎵ц@ToSession鍔ㄤ綔銆?br />聽榪欓噷浣跨敤浜哸nnotation,鎵浠ヨ姹傚繀欏繪槸jdk5.0浠ヤ笂鐗堟湰.<br />聽<br />聽5.1 Velocity<br />聽 waterfall鍚姩鏃跺欒嚜鍔ㄥ湪WEB-INF鐩綍涓嬪鎵懼茍鍒濆鍖朧elocity.properties鏂囦歡<br />聽鎿嶄綔:<br />聽public String execute(WebParam param,聽VelocityView view)<br />聽throws ServletException, IOException{<br />聽聽view.addElement("msg","Hello");<br />聽 view.go("index.vm");<br />聽聽return null;<br />}<br /><br /></p> <img src ="http://m.tkk7.com/zqc/aggbug/47845.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/zqc/" target="_blank">where the amazing happens</a> 2006-05-24 16:58 <a href="http://m.tkk7.com/zqc/archive/2006/05/24/47845.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Hibernate3.0涓璈QL涓枃涓嶈兘鐨勮В鍐沖姙娉?/title><link>http://m.tkk7.com/zqc/archive/2006/05/23/47564.html</link><dc:creator>where the amazing happens</dc:creator><author>where the amazing happens</author><pubDate>Mon, 22 May 2006 19:06:00 GMT</pubDate><guid>http://m.tkk7.com/zqc/archive/2006/05/23/47564.html</guid><wfw:comment>http://m.tkk7.com/zqc/comments/47564.html</wfw:comment><comments>http://m.tkk7.com/zqc/archive/2006/05/23/47564.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.tkk7.com/zqc/comments/commentRss/47564.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/zqc/services/trackbacks/47564.html</trackback:ping><description><![CDATA[蹇欎箮浜嗕竴鏅氫笂,榪樹粠MYSQL鎹㈠埌浜咹SQL鏁版嵁搴?鏈鍚庡彂鐜版槸Hibernate3.0鑷繁鐨勯棶棰?榪樻病鍏蜂綋鎼炴竻妤氬叿浣撴槸鎬庝箞鍥炰簨,涓嶈繃鏁戞ユ槸澶熺敤浜?<br /><br /><property 聽 name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property><img src ="http://m.tkk7.com/zqc/aggbug/47564.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/zqc/" target="_blank">where the amazing happens</a> 2006-05-23 03:06 <a href="http://m.tkk7.com/zqc/archive/2006/05/23/47564.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>涓涓猈EB妗嗘灦鍔熻兘鐨勫垎鏋?鐢ㄧ紪鐮佽瀹氫唬鏇塊厤緗枃浠?/title><link>http://m.tkk7.com/zqc/archive/2006/05/17/waterfallframeworkintro.html</link><dc:creator>where the amazing happens</dc:creator><author>where the amazing happens</author><pubDate>Wed, 17 May 2006 05:12:00 GMT</pubDate><guid>http://m.tkk7.com/zqc/archive/2006/05/17/waterfallframeworkintro.html</guid><wfw:comment>http://m.tkk7.com/zqc/comments/46608.html</wfw:comment><comments>http://m.tkk7.com/zqc/archive/2006/05/17/waterfallframeworkintro.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/zqc/comments/commentRss/46608.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/zqc/services/trackbacks/46608.html</trackback:ping><description><![CDATA[ <p> <strong>R</strong>uby on Rails鏈変釜璁捐鎬濇兂鏄?<strong>鐢ㄧ紪鐮佽瀹氫唬鏇跨箒鐞愮殑閰嶇疆鏂囦歡</strong>銆俲vm騫沖彴宸茬粡鏈変竴浜涚被浼紃or鐨勫疄鐜幫紝姣斿<br />grails:<a >http://docs.codehaus.org/display/GRAILS/2006/03/29/Groovy+on+Rails+(Grails)+0.1+Released</a><br /><br />铏界劧鐢變簬java鑷韓鐨勫眬闄愶紝瀹冨緢闅懼仛鍑哄儚ruby鎴栬単roovy閭f牱鍔ㄦ佽璦閭f牱闅忓績鎵嬈茬殑鍔ㄤ綔錛屼絾鏄埄鐢ㄥ畠鐨勮繍琛屾椂鍙嶅皠銆佸姩鎬佷唬鐞嗙瓑鐗規ф潵灝藉彲鑳戒綋鐜扳滅敤緙栫爜瑙勫畾浠f浛綣佺悙鐨勯厤緗枃浠垛濊繖涓鎬濇兂銆備笅闈㈠氨杞叆姝i銆?/p> <p>ServletAPI瀵笻TTP鍗忚榪涜浜嗗皝瑁?閫氳繃閰嶇疆Web.xml鏉ユ妸涓嶅悓鐨勮姹傝漿鍙戠粰涓嶅悓鐨剆ervlet鏉ュ鐞嗐俉eb妗嗘灦鍒欑敤涓涓狝ctionServlet錛屾牴鎹嚜宸辯殑瀵笰ction鐨勫畾涔夋潵杞彂璇鋒眰銆?br />鎶涘紑閭d簺綣佺悙鐨勯厤緗枃浠訛紝璁炬兂涓涓嬭繖鏍蜂竴縐嶆柟娉?</p> <p> <strong>1.Web鍔ㄤ綔鐨勫鐞嗗拰鍝嶅簲</strong> </p> <p>鍋囪榪欐牱涓涓狿OST璇鋒眰:</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">form聽</span> <span style="COLOR: #ff0000">action</span> <span style="COLOR: #0000ff">="logic/group/NewTopic"</span> <span style="COLOR: #ff0000">聽method</span> <span style="COLOR: #0000ff">="post"</span> <span style="COLOR: #0000ff">></span> </div> <p>Web鍔ㄤ綔瀹炵幇Bean:</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">org.qqsns.web.logic.group.NewTopic</span> </div> <p>娉ㄦ剰鍚庨潰鐨?em>logic/group/NewTopic</em>鍜?em>logic.group.NewTopic</em>, 鍔ㄤ綔綾誨拰Web鍔ㄤ綔鏄氳繃璇鋒眰璺緞鍜屽寘鍚嶇浉浜掑叧鑱斻?br />榪欐牱錛屽Web鍔ㄤ綔鐨勫搷搴斿氨渚濊禆浜?strong>緙栬瘧鏈熺殑浠g爜鐨勭粍緇囩粨鏋?/strong>鑰屼笉鏄?strong>鎵ц鏈熺殑閰嶇疆鏂囦歡</strong>銆傝繖鏍風殑濂藉鏄伩鍏嶄簡緇存姢綣佺悙鐨勯厤緗枃浠?鐗瑰埆鏄湪娌℃湁IDE鏀寔鐨勬儏鍐典笅銆?/p> <p>org.qqsns.web.logic.group.NewTopic綾繪槸涓涓疄鐜皀et.wff.servlet.WebAction鎺ュ彛鐨凱OJO錛屼笅闈㈡槸NewTopic涓璭xecute鐨勬柟娉曠墖孌?聽聽聽</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">Only聽method聽must聽be聽implemented聽for聽interface聽net.wff.servlet.WebAction</span> <span style="COLOR: #008000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">聽String聽execute(HttpServletRequest聽request,聽HttpServletResponse聽response)<br /><img id="Codehighlighter1_192_291_Open_Image" onclick="this.style.display='none'; Codehighlighter1_192_291_Open_Text.style.display='none'; Codehighlighter1_192_291_Closed_Image.style.display='inline'; Codehighlighter1_192_291_Closed_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_192_291_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_192_291_Closed_Text.style.display='none'; Codehighlighter1_192_291_Open_Image.style.display='inline'; Codehighlighter1_192_291_Open_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />聽</span> <span style="COLOR: #0000ff">throws</span> <span style="COLOR: #000000">聽ServletException,聽IOException</span> <span id="Codehighlighter1_192_291_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://m.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_192_291_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽<img src="http://m.tkk7.com/images/dot.gif" /><br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">return聽"redirect聽/success.html";聽聽</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">璇鋒眰閲嶅畾鍚?/span> <span style="COLOR: #008000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span> <span style="COLOR: #000000">聽聽</span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">/success.jsp</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">;聽聽聽聽聽聽聽聽聽聽聽聽聽聽</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">璇鋒眰杞彂</span> <span style="COLOR: #008000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /> </span> <span style="COLOR: #000000">}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <p>聽execute鏂規硶鐨勮繑鍥炲兼墜鍔ㄦ寚瀹氫簡涓涓漿鍙戞垨閲嶅畾鍚戠殑璺緞銆?/p> <p> <strong>2.杈撳叆楠岃瘉</strong> </p> <p>鏅氱殑Web妗嗘灦閮藉甫鏁版嵁杈撳叆楠岃瘉鍔熻兘,涓鑸鏉傜▼搴﹀拰鍔熻兘寮哄ぇ涓庡惁鎴愭姣斻?br />榪欓噷綆鍗曞湴瑕佹眰浠巗etter鏂規硶閲屾姏鍑轟竴涓寘鍚獙璇佷俊鎭殑寮傚父錛屼互姝ゆ潵瀹炵幇杈撳叆寮傚父澶勭悊銆?br />聽聽聽聽聽聽 <br />鏅歴etter鏂規硶</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img id="Codehighlighter1_32_55_Open_Image" onclick="this.style.display='none'; Codehighlighter1_32_55_Open_Text.style.display='none'; Codehighlighter1_32_55_Closed_Image.style.display='inline'; Codehighlighter1_32_55_Closed_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /> <img id="Codehighlighter1_32_55_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_32_55_Closed_Text.style.display='none'; Codehighlighter1_32_55_Open_Image.style.display='inline'; Codehighlighter1_32_55_Open_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #0000ff">void</span> <span style="COLOR: #000000">聽setName(String聽name)</span> <span id="Codehighlighter1_32_55_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://m.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_32_55_Open_Text"> <span style="COLOR: #000000">{聽<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽</span> <span style="COLOR: #0000ff">this</span> <span style="COLOR: #000000">.name聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽name;<br /><img src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <p>娣誨姞杈撳叆楠岃瘉鍚庣殑setter鏂規硶</p> <p> </p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img id="Codehighlighter1_54_179_Open_Image" onclick="this.style.display='none'; Codehighlighter1_54_179_Open_Text.style.display='none'; Codehighlighter1_54_179_Closed_Image.style.display='inline'; Codehighlighter1_54_179_Closed_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /> <img id="Codehighlighter1_54_179_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_54_179_Closed_Text.style.display='none'; Codehighlighter1_54_179_Open_Image.style.display='inline'; Codehighlighter1_54_179_Open_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #0000ff">void</span> <span style="COLOR: #000000">聽setName(String聽name)聽</span> <span style="COLOR: #0000ff">throws</span> <span style="COLOR: #000000">聽InputException</span> <span id="Codehighlighter1_54_179_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://m.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_54_179_Open_Text"> <span style="COLOR: #000000">{聽聽聽聽<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽</span> <span style="COLOR: #0000ff">if</span> <span style="COLOR: #000000">(name.length()</span> <span style="COLOR: #000000"><</span> <span style="COLOR: #000000">3</span> <span style="COLOR: #000000">)<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span> <span style="COLOR: #0000ff">throw</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #0000ff">new</span> <span style="COLOR: #000000">聽InputException(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">Topic聽name聽must聽has聽a聽length聽greater聽than聽3</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);聽<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽</span> <span style="COLOR: #0000ff">this</span> <span style="COLOR: #000000">.name聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽name;<br /><img src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <p>WaterFallServlet鏄浣曞鐞嗛獙璇佷俊鎭殑:</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">WebAction聽wa聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽(WebAction)Class.forName(classPath).newInstance();<br /><img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">procces聽forwarding</span> <span style="COLOR: #008000"> <br /> <img id="Codehighlighter1_116_165_Open_Image" onclick="this.style.display='none'; Codehighlighter1_116_165_Open_Text.style.display='none'; Codehighlighter1_116_165_Closed_Image.style.display='inline'; Codehighlighter1_116_165_Closed_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /> <img id="Codehighlighter1_116_165_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_116_165_Closed_Text.style.display='none'; Codehighlighter1_116_165_Open_Image.style.display='inline'; Codehighlighter1_116_165_Open_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /> </span> <span style="COLOR: #000000">聽聽聽聽聽聽聽聽聽聽</span> <span style="COLOR: #0000ff">try</span> <span style="COLOR: #000000">聽</span> <span id="Codehighlighter1_116_165_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://m.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_116_165_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽ActionHelper.setProperties(request,wa);<br /><img id="Codehighlighter1_192_505_Open_Image" onclick="this.style.display='none'; Codehighlighter1_192_505_Open_Text.style.display='none'; Codehighlighter1_192_505_Closed_Image.style.display='inline'; Codehighlighter1_192_505_Closed_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_192_505_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_192_505_Closed_Text.style.display='none'; Codehighlighter1_192_505_Open_Image.style.display='inline'; Codehighlighter1_192_505_Open_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />聽聽聽}</span> </span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #0000ff">catch</span> <span style="COLOR: #000000">聽(InputException聽e)聽</span> <span id="Codehighlighter1_192_505_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://m.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_192_505_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">return聽to聽input聽view<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">header:referer</span> <span style="COLOR: #008000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span> <span style="COLOR: #000000">聽聽聽聽String聽rtn聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽request.getHeader(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">referer</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">clear聽old聽errors</span> <span style="COLOR: #008000"> <br /> <img id="Codehighlighter1_339_391_Open_Image" onclick="this.style.display='none'; Codehighlighter1_339_391_Open_Text.style.display='none'; Codehighlighter1_339_391_Closed_Image.style.display='inline'; Codehighlighter1_339_391_Closed_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /> <img id="Codehighlighter1_339_391_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_339_391_Closed_Text.style.display='none'; Codehighlighter1_339_391_Open_Image.style.display='inline'; Codehighlighter1_339_391_Open_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> </span> <span style="COLOR: #000000">聽聽聽聽</span> <span style="COLOR: #0000ff">if</span> <span style="COLOR: #000000">(rtn.indexOf(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">?</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">)</span> <span style="COLOR: #000000">!=</span> <span style="COLOR: #000000">1</span> <span style="COLOR: #000000">)</span> <span id="Codehighlighter1_339_391_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://m.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_339_391_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽聽rtn聽</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">聽rtn.substring(</span> <span style="COLOR: #000000">0</span> <span style="COLOR: #000000">,rtn.indexOf(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">?</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">));<br /><img src="http://m.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />聽聽聽聽}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽rtn</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">rtn</span> <span style="COLOR: #000000">+</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">?error=</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">+</span> <span style="COLOR: #000000">URLEncoder.encode(e.getMessage(),</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">UTF-8</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">);<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽response.sendRedirect(rtn);<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽聽聽</span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000">;<br /><img src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />聽聽聽}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <p>榪欐牱楠岃瘉淇℃伅閫氳繃璇鋒眰鍙傛暟浼犲洖鍒拌緭鍏ラ〉闈?</p> <p> <strong>3.鏁版嵁緇戝畾</strong> </p> <p>鍋囪鏈夎繖鏍風殑html杈撳叆:聽</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">input聽</span> <span style="COLOR: #ff0000">type</span> <span style="COLOR: #0000ff">="text"</span> <span style="COLOR: #ff0000">聽name</span> <span style="COLOR: #0000ff">="name"</span> <span style="COLOR: #0000ff">/></span> <span style="COLOR: #000000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">input聽</span> <span style="COLOR: #ff0000">type</span> <span style="COLOR: #0000ff">="text"</span> <span style="COLOR: #ff0000">聽name</span> <span style="COLOR: #0000ff">="number"</span> <span style="COLOR: #0000ff">/></span> <span style="COLOR: #000000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">input聽</span> <span style="COLOR: #ff0000">type</span> <span style="COLOR: #0000ff">="text"</span> <span style="COLOR: #ff0000">聽name</span> <span style="COLOR: #0000ff">="price"</span> <span style="COLOR: #0000ff">/></span> <span style="COLOR: #000000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <p>聽涓嬮潰鏄疦ewTopic涓璭xecute鐨勬柟娉曞叏閮?聽聽聽</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #0000ff">public</span> <span style="COLOR: #000000">聽String聽execute(HttpServletRequest聽request,聽HttpServletResponse聽response)<br /><img id="Codehighlighter1_117_282_Open_Image" onclick="this.style.display='none'; Codehighlighter1_117_282_Open_Text.style.display='none'; Codehighlighter1_117_282_Closed_Image.style.display='inline'; Codehighlighter1_117_282_Closed_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_117_282_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_117_282_Closed_Text.style.display='none'; Codehighlighter1_117_282_Open_Image.style.display='inline'; Codehighlighter1_117_282_Open_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />聽</span> <span style="COLOR: #0000ff">throws</span> <span style="COLOR: #000000">聽ServletException,聽IOException</span> <span id="Codehighlighter1_117_282_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://m.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_117_282_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽System.out.println(getName());<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽System.out.println(getNumber());<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽System.out.println(getPrice());<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽System.out.println(getLength());<br /><img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" />聽聽</span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000">聽</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">/success.html</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">;<br /><img src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <p>鑷姩浠巖equest娉ㄥ叆parameter,榪欎篃璁告槸寰堝浜哄枩嬈truts DynamicActionForm鐨勫師鍥犱箣涓銆?br />涓嶈繃榪欓噷瀹炵幇鏇寸被浼煎浜嗙被鍨嬭漿鎹㈢殑<jsp:setProperty name="bean" property="*"/><br />鍥犱負Name鐨勭被鍨嬫槸String,Number鐨勭被鍨嬫槸Integer,Price鐨勭被鍨嬫槸float,length鐨勭被鍨嬫槸double.鑷充簬鍏朵粬澶嶆潅鐨勭被鍨?涔熻jsf鐨勮漿鎹㈠櫒鏄釜鏇村ソ鐨勪富鎰忋?br />榪欐牱灝卞垵姝ヨВ鍐充簡鏁版嵁鐨勮緭鍏ョ粦瀹氬拰楠岃瘉銆備綑涓嬬殑灝辨槸涓氬姟閫昏緫鐨勯棶棰樸俉aterfallWebFramework婧愪唬鐮?<br /><a href="/Files/zqc/WaterfallWebFramework.rar">http://m.tkk7.com/Files/zqc/WaterfallWebFramework.rar</a>聽(<strong>鍙湁涓涓厤緗枃浠?鍏朵腑鍙湁1琛岄厤緗俊鎭?</strong>)</p> <p>浠ヤ笂灝辨槸妗嗘灦鐨勪富瑕佸姛鑳姐?strong>鐢ㄧ紪鐮佽瀹氫唬鏇塊厤緗枃浠?/strong>錛屼篃璁歌繖浼氭槸涓縐嶆洿鍔犻珮鏁堢巼鐨勫紑鍙戞柟寮忋?br /></p> <img src ="http://m.tkk7.com/zqc/aggbug/46608.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/zqc/" target="_blank">where the amazing happens</a> 2006-05-17 13:12 <a href="http://m.tkk7.com/zqc/archive/2006/05/17/waterfallframeworkintro.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浠婂ぉ緇檍ails鍔犱簡浠跺濂?鐢╯wt鍐欑殑.鎰熻榪樹笉閿橿_^http://m.tkk7.com/zqc/archive/2006/05/06/44701.htmlwhere the amazing happenswhere the amazing happensFri, 05 May 2006 16:27:00 GMThttp://m.tkk7.com/zqc/archive/2006/05/06/44701.htmlhttp://m.tkk7.com/zqc/comments/44701.htmlhttp://m.tkk7.com/zqc/archive/2006/05/06/44701.html#Feedback1http://m.tkk7.com/zqc/comments/commentRss/44701.htmlhttp://m.tkk7.com/zqc/services/trackbacks/44701.html,鐢╯wt鍐欑殑.鎰熻榪樹笉閿橿_^
涓嬭澆(闄勫甫eclipse鐨勫伐紼嬫枃浠? 聽http://zqc53.512j.com/others/JailsReleaseWithEclipse.rar



]]>
主站蜘蛛池模板: 欧亚一级毛片免费看| 91免费在线播放| 亚洲人成在线播放网站岛国| 99re这里有免费视频精品| 亚洲av无码专区在线电影天堂| 中文字幕人成人乱码亚洲电影| 99久久国产免费中文无字幕| 亚洲日本一线产区和二线| 中文字幕亚洲图片| 在线永久免费的视频草莓| 视频一区二区三区免费观看| 亚洲一区二区三区夜色| 国产成人免费网站在线观看| 亚洲国产精品免费视频| MM1313亚洲国产精品| 亚洲第一成年男人的天堂| 国产精品视频免费一区二区三区| 国产好大好硬好爽免费不卡| 亚洲AV无码一区二区大桥未久| 久久综合图区亚洲综合图区| 国产v片免费播放| 久久福利资源网站免费看| 三级黄色免费观看| 另类图片亚洲校园小说区| 亚洲最新在线视频| 亚洲成AV人片在线观看无| 国产小视频在线观看免费| 四虎免费影院ww4164h| 国产免费黄色无码视频| 亚洲精品动漫免费二区| 亚洲第一香蕉视频| 亚洲精品无码AV人在线播放| 免费国产一级特黄久久| 在线永久看片免费的视频| 免费成人在线视频观看| www永久免费视频| 风间由美在线亚洲一区| 久久亚洲最大成人网4438| 337p日本欧洲亚洲大胆精品555588| 亚洲色精品88色婷婷七月丁香| 亚洲M码 欧洲S码SSS222|