您的位置:寻梦网首页编程乐园Java天地小龙亭之JSP实践之旅
闂傚倷娴囬褏鎹㈤幇顔藉床闁归偊鍠楀畷鍙変繆椤栨艾鎮戞い鎰矙閺屟嗙疀閿濆懍绨藉銈傛櫅瀵爼濡甸崟顖氱閻庨潧鎽滈悾鐓庮渻閵堝棙灏甸柣锔炬敱P闂傚倷娴囬褎顨ョ粙鍖¤€块梺顒€绉寸壕濠氭煟濡寧鐝ù婧垮€濋弻锟犲礃閿濆懍澹曠紓鍌欑椤戝懘鏁冮敃鍌氱劦妞ゆ帒锕︾粔鐢告煕鐎n亝鍤囬柛鈺傜洴閺佹捇鏁撻敓锟�
濠电姷鏁搁崑鐐哄垂閸洖绠伴柟闂磋閳ь剨绠撻幃婊堟寠婢光斂鍎甸弻銊╂偆閸屾稑顏�闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘闂傚倸鍊烽懗鑸电仚缂備浇顕ч悧鎾崇暦閺囥垺顥堟繛纾嬫珪閻╊垶寮幘缁樻櫢闁跨噦鎷�闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘EJB闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘J2EE闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘婵犲痉鏉库偓妤佹叏閻戣棄纾绘繛鎴欏灩閻ゎ噣鏌ら幇浣哥仜濞存粌缍婇弻銊╂偆閸屾稑顏�闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘JSP缂傚倸鍊搁崐鎼佸磹閹间礁纾圭憸鐗堝笚閸嬪绻濇繝鍌滃闁绘挻绻堥弻銊╂偆閸屾稑顏�闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘闂傚倷娴囧畷鍨叏閺夋嚚娲晝閸屾艾鐎梺鍓插亝濞叉牠宕欓悩缁樼叆闁绘洖鍊圭€氾拷闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘闂備浇顕у锕傦綖婢舵劕绠栭柛顐f礀绾惧潡姊洪鈧粔鎾儗濡ゅ懏鐓ラ柣鏇炲€圭€氾拷闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘Java闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘AppServer闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘Web闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘闂傚倸鍊峰ù鍥ь浖閵娾晜鍤勯柤绋跨仛濞呯姵淇婇妶鍌氫壕闂佷紮绲介悘姘跺箯閸涱垱鍠嗛柛鏇ㄥ亜婵℃娊姊绘担鑺ョ《闁革綇绠撻獮蹇涙晸閿燂拷闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘XML闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘闂傚倸鍊风粈浣虹礊婵犲倴缂氱憸鏃堛€侀弽顓為唶闁靛鍠楅弲鈺呮⒑鐠恒劌娅愰柟鍑ゆ嫹闂傚倸鍊烽悞锔锯偓绗涘洤绀冨┑鐘宠壘缁狀垶鏌ㄩ悤鍌涘闂傚倷娴囬褏鎹㈤幇顔藉床闁归偊鍠楀畷鏌ユ倵閿濆簼绨存俊鎻掔墦閺屻劑鎮ら崒娑橆伓


缂傚倸鍊搁崐鎼佹偋婵犲伣锝夊箳濡や礁鍓ㄩ悷婊勬煥椤繘宕稿Δ鈧獮銏$箾閹寸偟鎳勬繛鍫熺矋缁绘盯骞嬮悙瀵稿弳濡炪倖鍨甸幊鎰版嚍闁稁鏁囬柣妯哄暱濞堟粓姊洪柅鐐茬У鐎氾拷
闂傚倷娴囧銊╂嚄閼稿灚娅犳俊銈傚亾闁伙絽鐏氶幏鍛喆閸曨偄濡抽梻浣筋潐閸庡啿锕㈡潏鈺冧笉濡わ絽鍟悡娆撴煙椤撶喎绗掗柛鏂诲€栫换娑㈠醇閻旈浼岄悗瑙勬磸閸庨潧鐣烽悢纰辨晣鐟滃海绱為幒妤佲拺闁告繂瀚埀顒€顭烽獮濠囧箻閼告娼熼梺璺ㄥ櫐閹凤拷
JSP闂傚倷鐒﹀鍧楁偂婢舵劕绠柨鐕傛嫹2缂傚倸鍊风粈渚€藝椤栨粎鐭撻柛鎾茬閸ㄦ繈鏌曟繛鐐珔闁告垹濞€閺屻劑鎮ら崒娑橆伓-Model1闂傚倷绀侀幉锛勫垝瀹€鍕垫晢闁绘牕鐛沞l2
ASP+婵犵數鍋為崹鍫曞箰閸涘﹦鈻旀繛锝囧瑏婵犵數鍋為崹鍫曞蓟閵娾晩鏁勫璺好″☉銏犻敜婵°倓绀侀崜顓㈡⒑閸涘﹥澶勯柛鎾寸懃閺侇噣姊绘担鐑樺殌闁搞倖鐗犻獮蹇涙晸閿燂拷
JSP婵犵數鍋為崹鍫曞箹閳哄懎鍌ㄩ柟顖嗏偓閺嬫棃鏌熸潏楣冩闁诡垳鍋為幈銊ヮ潨閸℃绠归梺缁樼箥閸ㄥ爼骞冪憴鍕懝妞ゆ牗姘ㄦ禒鈺冪磽娴g瓔鍟囬柟鍑ゆ嫹
JSP闂備浇宕垫慨鏉懨洪埡鍜佹晪鐟滄垿濡甸幇鏉块棷闁瑰墎顫熼梻鍌欑閹碱偊宕愮粙妫垫椽鏁愰崨顏呯€婚梺璺ㄥ櫐閹凤拷
new:ASPer闂傚倷鐒﹀鎸庣濠婂牜鏁勯柛顐犲灪瀹曟煡鏌涢幇闈涙灈缂佺嫏鍥ㄧ叆闁绘洖鍊圭€氾拷
JSP闂傚倷鐒﹂惇褰掑礉瀹€鈧埀顒佸嚬閸犳牠顢欒箛娑欑劶鐎广儱妫岄幐鍐⒑鐠恒劌娅愰柟鍑ゆ嫹
JSP闂傚倷鐒﹀鍧楁偂婢舵劕绠柨鐕傛嫹5婵犵數鍋為崹鍫曞箹閳哄倻顩叉繛鍡樺灩缁犳柨顭跨捄鐑樻拱闁诡垬鍎甸弻銊╂偆閸屾稑顏�
JSP婵犵數鍋為崹鍫曞箰閸濄儳鐭撻柣鎴f缁€鍌涗繆椤栨繂鍚规い鈺冨厴閺屻劌鈹戦崱姗嗘!缂備礁鍊搁鐜vlet
Resin婵犵數鍋為崹鍫曞箹閳哄懎鍌ㄩ柟顖嗏偓閺嬫棃鏌熸潏銊b偓妗洪梻鍌欐祰閸嬫劙宕㈣瀹曨垶鍩¢崘鈺婂仺闂佽法鍣﹂幏锟�
JSP闂傚倷绀侀幉锟犳偡閿曞倸鍨傞柛褎顨呴悞鍨亜閹达絾纭剁紒鎰閺屾稓鈧綆鍋嗘晶顒傜磼閸屾稑娴柡浣规崌閺佹捇鏁撻敓锟�
jsp婵犵數濮烽。浠嬪焵椤掆偓閸熷潡鍩€椤掑嫷妫戠紒杈╁仜椤撳ジ宕卞▎灞剧亙闁诲骸婀辨灙婵炶偐鍤遍梻鍌氬€风欢锟犲磻閸涘瓨鍎楁い鏃傛櫕閳瑰秹鏌ㄩ悤鍌涘
JSP闂傚倷绀侀幉锛勫垝瀹€鍕垫晢闁绘粠鎽硋let闂傚倷鐒﹂惇褰掑礉瀹€鈧埀顒佺煯閸楁娊宕洪埀顒併亜閹哄秵顦峰ù婧垮灪閵囧嫰寮幘鏉戭伓
JSP闂傚倷绀侀幉锛勫垝瀹€鍕仱闁规彃鍩et闂傚倷鐒﹂惇褰掑礉瀹€鈧埀顒佺煯閸楁娊宕洪埀顒併亜閹哄秵顦峰ù婧垮灪閵囧嫰寮幘鏉戭伓
JSP闂傚倷绀侀幉锟犲礉閺嶎厽鍋橀柨鏇熺闂傚倷绀侀幖顐﹀磹缁嬫5娲晲閸涱亝鐎婚梺璺ㄥ櫐閹凤拷
闂傚倷绀侀幉锟犳偡閿曞倹鍋嬮柡鍥╁У椤愪粙寮堕崼姘澒闁稿鎹囬悰顕€宕归鍙ョ棯闂備胶纭堕弲婊呯矙閹达附绠掗梻濠庡亜濞诧箓宕欓悷鎼細闁哄啫鐗婇悡鏇㈡煥濠靛棗鏆欏┑陇鍋愰埀顒侇問閸n噣宕滈悢濂夊殨妞ゆ劧闄勯弲鎼佹煥閻曞倹瀚�
JSP闂傚倷绀侀幖顐﹀磹缁嬫5娲晲閸涱亝鐎婚梺闈涚箞閸ㄨ崵澹曟禒瀣厸鐎广儱楠告晶鐗堜繆瀹割喖鐏﹂柡宀嬬秮婵℃悂濡烽妷顔绘偅闂佹眹鍩勯崹濂稿磻婵犲洤绠栭柛顐f礃閺呮悂鏌ㄩ悤鍌涘

Servlet和JSP的通信

 

Blueski编辑/翻译


以下的代码片段演示了一个servlet,它例示(instantiates)一个bean并且用由浏览器发送的Form数据将它初始化。此后bean被加入request,而这一要求被送到JSP页面(Bean1.jsp),JSP通过request取得并做进一步处理。

public void doPost (HttpServletRequest request,
HttpServletResponse response) {

try {
govi.FormBean f = new govi.FormBean();
String id = request.getParameter("id");
f.setName(request.getParameter("name"));
f.setAddr(request.getParameter("addr"));
f.setAge(request.getParameter("age"));
//use the id to compute 
//additional bean properties like info 
//maybe perform a db query, etc.
// . . .
f.setPersonalizationInfo(info);
request.setAttribute("fBean",f);
getServletConfig().getServletContext().getRequestDispatcher
("/jsp/Bean1.jsp").forward(request, response);
} catch (Exception ex) {
. . .
}
}

在将它从通过useBean操作中的缺省的请求范围,即scope首次执行后,即可在JSP文件的Bean1.jsp处理fBean。 

<jsp:useBean id="fBean" class="govi.FormBean" scope="request"/>
<jsp:getProperty name="fBean" property="name" />
<jsp:getProperty name="fBean" property="addr" />
<jsp:getProperty name="fBean" property="age" />
<jsp:getProperty name="fBean" property="personalizationInfo" />