锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲高清毛片一区二区,亚洲精品国精品久久99热一,亚洲Av无码国产情品久久http://www.tkk7.com/rickhunter/category/3861.html鍏充簬JAVA鐨勭偣鐐規淮婊?/description>zh-cnTue, 27 Feb 2007 20:24:19 GMTTue, 27 Feb 2007 20:24:19 GMT60[杞創]浣跨敤Struts鐨凾oken鏈哄埗瑙e喅琛ㄥ崟鐨勯噸澶嶆彁浜? 閫夋嫨鑷?chinaewolf 鐨?Blog http://www.tkk7.com/rickhunter/articles/15556.html鍗冨北楦熼緇?/dc:creator>鍗冨北楦熼緇?/author>Fri, 14 Oct 2005 16:24:00 GMThttp://www.tkk7.com/rickhunter/articles/15556.htmlhttp://www.tkk7.com/rickhunter/comments/15556.htmlhttp://www.tkk7.com/rickhunter/articles/15556.html#Feedback0http://www.tkk7.com/rickhunter/comments/commentRss/15556.htmlhttp://www.tkk7.com/rickhunter/services/trackbacks/15556.html

Struts鐨凾oken錛堜護鐗岋級鏈哄埗鑳藉寰堝ソ鐨勮В鍐寵〃鍗曢噸澶嶆彁浜ょ殑闂錛屽熀鏈師鐞嗘槸錛氭湇鍔″櫒绔湪澶勭悊鍒拌揪鐨勮姹備箣鍓嶏紝浼氬皢璇鋒眰涓寘鍚殑浠ょ墝鍊?/i>涓? 淇濆瓨鍦ㄥ綋鍓嶇敤鎴蜂細璇濅腑鐨勪護鐗屽艱繘琛屾瘮杈冿紝鐪嬫槸鍚﹀尮閰嶃傚湪澶勭悊瀹岃璇鋒眰鍚庯紝涓斿湪絳斿鍙戦佺粰瀹㈡埛绔箣鍓嶏紝灝嗕細浜х敓涓涓柊鐨勪護鐗岋紝璇ヤ護鐗岄櫎浼犵粰瀹㈡埛绔互澶栵紝涔熶細 灝嗙敤鎴蜂細璇濅腑淇濆瓨鐨勬棫鐨勪護鐗岃繘琛屾浛鎹€傝繖鏍峰鏋滅敤鎴峰洖閫鍒板垰鎵嶇殑鎻愪氦欏甸潰騫跺啀嬈℃彁浜ょ殑璇濓紝瀹㈡埛绔紶榪囨潵鐨勪護鐗屽氨鍜屾湇鍔″櫒绔殑浠ょ墝涓嶄竴鑷達紝浠庤屾湁鏁堝湴闃叉浜? 閲嶅鎻愪氦鐨勫彂鐢熴?/p>

榪欐椂鍏跺疄涔熷氨鏄袱鐐癸紝絎竴錛氫綘闇瑕佸湪璇鋒眰涓湁榪欎釜浠ょ墝鍊鹼紝璇鋒眰涓殑浠ょ墝鍊煎浣曚繚瀛橈紝鍏跺疄灝卞拰鎴戜滑騫蟲椂鍦ㄩ〉闈腑淇濆瓨涓浜涗俊鎭槸涓鏍風殑錛岄氳繃闅愯棌瀛楁鏉? 淇濆瓨錛屼繚瀛樼殑褰㈠紡濡傦細 銆坕nput type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="6aa35341f25184fd996c4c918255c3ae"銆夛紝榪欎釜value鏄疶okenProcessor綾諱腑鐨? generateToken()鑾峰緱鐨勶紝鏄牴鎹綋鍓嶇敤鎴風殑session id鍜屽綋鍓嶆椂闂寸殑long鍊兼潵璁$畻鐨勩傜浜岋細鍦ㄥ鎴風鎻愪氦鍚庯紝鎴戜滑瑕佹牴鎹垽鏂湪璇鋒眰涓寘鍚殑鍊兼槸鍚﹀拰鏈嶅姟鍣ㄧ殑浠ょ墝涓鑷達紝鍥犱負鏈嶅姟鍣ㄦ瘡嬈℃彁浜ら兘浼氱敓鎴愭柊鐨? Token錛屾墍浠ワ紝濡傛灉鏄噸澶嶆彁浜わ紝瀹㈡埛绔殑Token鍊煎拰鏈嶅姟鍣ㄧ鐨凾oken鍊煎氨浼氫笉涓鑷淬備笅闈㈠氨浠ュ湪鏁版嵁搴撲腑鎻掑叆涓鏉℃暟鎹潵璇存槑濡備綍闃叉閲嶅鎻愪氦銆?/p>

鍦ˋction涓殑add鏂規硶涓紝鎴戜滑闇瑕佸皢Token鍊兼槑紜殑瑕佹眰淇濆瓨鍦ㄩ〉闈腑錛屽彧闇澧炲姞涓鏉¤鍙ワ細saveToken(request);錛屽涓嬫墍紺猴細
public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
//鍓嶉潰鐨勫鐞嗙渷鐣?br>saveToken(request);
return mapping.findForward("add");
}
鍦ˋction鐨刬nsert鏂規硶涓紝鎴戜滑鏍規嵁琛ㄥ崟涓殑Token鍊間笌鏈嶅姟鍣ㄧ鐨凾oken鍊兼瘮杈冿紝濡備笅鎵紺猴細
public ActionForward insert(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
if (isTokenValid(request, true)) {
// 琛ㄥ崟涓嶆槸閲嶅鎻愪氦
//榪欓噷鏄繚瀛樻暟鎹殑浠g爜
} else {
//琛ㄥ崟閲嶅鎻愪氦
saveToken(request);
//鍏跺畠鐨勫鐞嗕唬鐮?br>}
}

鍏跺疄浣跨敤璧鋒潵寰堢畝鍗曪紝涓句釜鏈綆鍗曘佹渶闇瑕佷嬌鐢ㄨ繖涓殑渚嬪瓙錛?br>涓鑸帶鍒墮噸澶嶆彁浜や富瑕佹槸鐢ㄥ湪瀵規暟鎹簱鎿嶄綔鐨勬帶鍒朵笂錛屾瘮濡傛彃鍏ャ佹洿鏂般佸垹闄ょ瓑錛岀敱浜庢洿鏂般佸垹闄や竴鑸兘鏄氳繃id鏉ユ搷浣滐紙渚嬪錛歶pdateXXXById, removeXXXById錛夛紝鎵浠ヨ繖綾繪搷浣滄帶鍒剁殑鎰忎箟涓嶆槸寰堝ぇ錛堜笉鎺掗櫎涓埆鐜拌薄錛夛紝閲嶅鎻愪氦鐨勬帶鍒朵篃灝變富瑕佹槸鍦ㄦ彃鍏ユ椂鐨勬帶鍒朵簡銆?br>
鍏堣涓涓嬶紝鎴戜滑鐩墠鎵鍋氶」鐩殑鎯呭喌錛?br>鐩? 鍓嶇殑欏圭洰鏄敤Struts錛婼pring錛婭batis錛岄〉闈㈢敤jstl錛孲truts澶嶆潅View灞傦紝Spring鍦⊿ervice灞傛彁渚涗簨鍔℃帶鍒訛紝 Ibatis鏄敤鏉ヤ唬鏇縅DBC錛屾墍鏈夐〉闈㈢殑璁塊棶閮戒笉鏄洿鎺ヨ闂甹sp錛岃屾槸璁塊棶Structs鐨凙ction錛屽啀鐢盇ction鏉orward鍒頒竴涓? Jsp錛屾墍鏈夐拡瀵規暟鎹簱鐨勬搷浣滐紝姣斿鍙栨暟鎹垨淇敼鏁版嵁錛岄兘鏄湪Action閲岄潰瀹屾垚錛屾墍鏈夌殑Action涓鑸兘緇ф壙 BaseDispatchAction錛岃繖涓槸鑷繁寤虹珛鐨勭被錛岀洰鐨勬槸涓烘墍鏈夌殑Action鍋氫竴浜涚粺涓鐨勬帶鍒訛紝鍦⊿truts灞傦紝瀵逛簬涓涓姛鑳斤紝鎴戜滑涓鑸垎 涓轟袱涓狝ction錛屼竴涓狝ction閲岀殑鍔熻兘鏄笉闇瑕佽皟鐢⊿truts鐨勯獙璇佸姛鑳界殑錛堝父瑙佺殑鏂規硶鍚嶇О鏈塧dd,edit,remove,view, list錛夛紝鍙︿竴涓槸闇瑕佽皟鐢⊿truts鐨勯獙璇佸姛鑳界殑錛堝父瑙佺殑鏂規硶鍚嶇О鏈塱nsert,update錛夈?br>
灝辨嬁璁哄潧鍙戣創鏉ヨ鍚э紝璁哄潧鍙戣創棣栧厛闇瑕佽煩杞埌涓涓〉闈紝浣犲彲浠ュ~鍐欏笘瀛愮殑涓婚鍜屽唴瀹癸紝濉啓瀹屽悗錛屽崟鍑燴滄彁浜も濓紝璐村瓙灝卞彂琛ㄤ簡錛屾墍浠ヨ繖閲岀粡榪囦袱涓楠わ細
1銆佽漿鍒頒竴涓柊澧炵殑欏甸潰錛屽湪Action閲屾垜浠竴鑸О涓篴dd錛屼緥濡傦細
public ActionForward add(ActionMapping mapping, ActionForm form,
聽聽聽聽聽聽聽聽聽聽聽聽HttpServletRequest request, HttpServletResponse response)
聽聽聽聽聽聽聽聽聽聽聽聽throws Exception {
聽聽聽聽聽聽聽聽//榪欎竴鍙ユ槸杈撳嚭璋冭瘯淇℃伅錛岃〃紺轟唬鐮佹墽琛屽埌榪欎竴孌典簡
聽聽聽聽聽聽聽聽log.debug(":: action - subject add");聽聽聽聽
聽聽聽聽
聽聽聽聽聽聽聽聽//your code here

聽聽聽聽聽聽 //榪欓噷淇濆瓨Token鍊?br>聽聽聽聽聽聽聽聽saveToken(request);
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽 //璺寵漿鍒癮dd欏甸潰錛屽湪Structs-config.xml閲岄潰瀹氫箟錛屼緥濡傦紝璺寵漿鍒皊ubjectAdd.jsp
聽聽聽聽聽聽聽聽return mapping.findForward("add");
聽聽聽聽}

2銆佸湪濉啓鏍囬鍜屽唴瀹瑰悗錛岄夋嫨 鎻愪氦 錛屼細鎻愪氦鍒癷nsert鏂規硶錛屽湪insert鏂規硶閲屽垽鏂紝鏄惁閲嶅鎻愪氦浜嗐?br>public ActionForward insert(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
if (isTokenValid(request, true)) {
// 琛ㄥ崟涓嶆槸閲嶅鎻愪氦
//榪欓噷鏄繚瀛樻暟鎹殑浠g爜
} else {
//琛ㄥ崟閲嶅鎻愪氦
saveToken(request);
//鍏跺畠鐨勫鐞嗕唬鐮?br>}
}

涓嬮潰鏇磋緇嗕竴鐐癸紙娉ㄦ剰錛屼笅闈㈡墍鏈夌殑浠g爜浣跨敤鍏ㄨ鎷彿錛夛細
1銆佷綘鎯沖彂璐存椂錛岀偣鍑燴滄垜瑕佸彂璐粹濋摼鎺ョ殑浠g爜鍙互閲岃繖鏍風殑錛?br>銆坔tml:link action="subject.do?method=add"銆夋垜瑕佸彂璐淬?html:link銆?br>subject.do 鍜?method 榪欎簺鍦╯truct-config.xml濡備綍瀹氫箟鎴戝氨涓嶈浜嗭紝鐐瑰嚮閾炬帴鍚庯紝浼氭墽琛宻ubject.do鐨刟dd鏂規硶錛屼唬鐮佸涓婇潰璇寸殑錛岃煩杞埌subjectAdd.jsp欏甸潰銆傞〉闈㈢殑浠g爜澶ф濡備笅錛?br>銆坔tml:form action="subjectForm.do?method=insert"銆?br>聽聽銆坔tml:text property="title" /銆?br>聽聽銆坔tml:textarea property="content" /銆?br>聽聽銆坔tml:submit property="鍙戣〃" /銆?br>聽聽銆坔tml:reset property="閲嶅~" /銆?br>銆坔tml:form銆?br>濡傛灉浣犲湪add鏂規硶閲屽姞浜嗏渟aveToken(request);鈥濊繖涓鍙ワ紝閭e湪subjectAdd.jsp鐢熸垚鐨勯〉闈笂錛屼細澶氫竴涓殣钘忓瓧孌碉紝綾諱技浜庤繖鏍楓坕nput type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="6aa35341f25184fd996c4c918255c3ae"銆夛紝

2銆佺偣鍑誨彂琛ㄥ悗錛岃〃鍗曟彁浜ゅ埌subjectForm.do閲岀殑insert鏂規硶鍚庯紝浣犲湪insert鏂規硶閲岃灝嗚〃鍗曠殑鏁版嵁鎻掑叆鍒版暟鎹簱涓紝濡傛灉娌℃湁 榪涜閲嶅鎻愪氦鐨勬帶鍒訛紝閭d箞姣忕偣鍑諱竴嬈℃祻瑙堝櫒鐨勫埛鏂版寜閽紝閮戒細鍦ㄦ暟鎹簱涓彃鍏ヤ竴鏉$浉鍚岀殑璁板綍錛屽鍔犱笅闈㈢殑浠g爜錛屼綘灝卞彲浠ユ帶鍒剁敤鎴風殑閲嶅鎻愪氦浜嗐?br>if (isTokenValid(request, true)) {
// 琛ㄥ崟涓嶆槸閲嶅鎻愪氦
//榪欓噷鏄繚瀛樻暟鎹殑浠g爜
} else {
//琛ㄥ崟閲嶅鎻愪氦
saveToken(request);
//鍏跺畠鐨勫鐞嗕唬鐮?br>}
娉ㄦ剰錛屼綘蹇呴』鍦╝dd鏂規硶閲屼嬌鐢ㄤ簡saveToken(request)錛屼綘鎵嶈兘鍦╥nsert閲屽垽鏂紝鍚﹀垯錛屼綘姣忔淇濆瓨鎿嶄綔閮芥槸閲嶅鎻愪氦銆?br>璁? 浣忎竴鐐癸紝Struts鍦ㄤ綘姣忔璁塊棶Action鐨勬椂鍊欙紝閮戒細浜х敓涓涓護鐗岋紝淇濆瓨鍦ㄤ綘鐨凷ession閲岄潰錛屽鏋滀綘鍦ˋction閲岀殑鍑芥暟閲岄潰錛屼嬌鐢ㄤ簡 saveToken(request);錛岄偅涔堣繖涓護鐗屼篃浼氫繚瀛樺湪榪欎釜Action鎵Forward鍒扮殑jsp鎵鐢熸垚鐨勯潤鎬侀〉闈㈤噷銆?br>濡傛灉浣犲湪浣燗ction鐨勬柟娉曢噷浣跨敤浜唅sTokenValid錛岄偅涔圫truts浼氬皢浣犱粠浣犵殑request閲岄潰鍘昏幏鍙栬繖涓護鐗屽鹼紝鐒跺悗鍜孲ession閲岀殑浠ょ墝鍊煎仛姣旇緝錛屽鏋滀袱鑰呯浉絳夛紝灝變笉鏄噸澶嶆彁浜わ紝濡傛灉涓嶇浉絳夛紝灝辨槸閲嶅鎻愪氦浜嗐?br>
鐢? 浜庢垜浠」鐩殑鎵鏈堿ction閮芥槸緇ф壙鑷狟aseDispatchAction榪欎釜綾伙紝鎵浠ユ垜浠熀鏈笂閮芥槸鍦ㄨ繖涓被閲岄潰鍋氫簡琛ㄥ崟閲嶅鎻愪氦鐨勬帶鍒訛紝榛樿鏄帶 鍒禷dd鏂規硶鍜宨nsert鏂規硶錛屽鏋滈渶瑕佹帶鍒跺叾瀹冪殑鏂規硶錛屽氨鑷繁鎵嬪姩鍐欎笂闈㈣繖浜涗唬鐮侊紝鍚﹀垯鏄笉闇瑕佹墜鍐欑殑錛屾帶鍒剁殑浠g爜濡備笅錛?br>public abstract class BaseDispatchAction extends BaseAction {
protected ActionForward perform(ActionMapping mapping, ActionForm form,
聽聽聽聽HttpServletRequest request, HttpServletResponse response)
聽聽聽聽throws Exception {
聽聽聽聽聽聽聽聽String parameter = mapping.getParameter();
聽聽聽聽聽聽聽聽String name = request.getParameter(parameter);
if (null == name) { //濡傛灉娌℃湁鎸囧畾 method 錛屽垯榛樿涓? list
聽聽聽聽聽聽聽聽聽聽聽聽name = "list";
聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽聽聽if ("add".equals(name)) {
聽聽聽聽聽聽聽聽聽聽聽聽if ("add".equals(name)) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽saveToken(request);
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽} else if ("insert".equals(name)) {
聽聽聽聽聽聽聽聽聽聽聽聽if (!isTokenValid(request, true)) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽resetToken(request);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽saveError(request, new ActionMessage("error.repeatSubmit"));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽log.error("閲嶅鎻愪氦錛?);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return mapping.findForward("error");
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽return dispatchMethod2(mapping, form, request, response, name);
聽聽聽聽}
}



]]>
主站蜘蛛池模板: 免费看片在线观看| 亚洲国产理论片在线播放| 噼里啪啦电影在线观看免费高清| 成年免费a级毛片| 国内精品一级毛片免费看| 亚洲综合一区二区国产精品| 嫖丰满老熟妇AAAA片免费看| 爱爱帝国亚洲一区二区三区| 国精无码欧精品亚洲一区| 国产又大又黑又粗免费视频 | 久久国产乱子伦免费精品| 边摸边吃奶边做爽免费视频99| 亚洲乱码无码永久不卡在线 | 亚洲毛片免费观看| 国产亚洲综合成人91精品| 国产免费爽爽视频免费可以看| 国产福利在线免费| 国产精品九九久久免费视频| 亚洲av永久无码精品网址| 亚洲人成电影青青在线播放| 亚洲一区影音先锋色资源| 亚洲产国偷V产偷V自拍色戒| 国产AV无码专区亚洲AWWW| 我要看WWW免费看插插视频| 中文字幕在线视频免费| 在线观看日本亚洲一区| 亚洲国产成人久久| 久久精品国产亚洲AV蜜臀色欲| 亚洲自偷自拍另类图片二区| 亚洲真人日本在线| 成人午夜免费福利| 最近中文字幕mv手机免费高清| 国产成人精品免费视频网页大全| 91青青国产在线观看免费| 99热这里只有精品免费播放| 另类免费视频一区二区在线观看| 麻豆精品不卡国产免费看| 暖暖日本免费中文字幕| 国产成人高清精品免费观看| 国产精品福利片免费看| 手机看片国产免费永久|