锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 聽 聽 聽1.閫氳繃閰嶇疆web.xml(tomcat\conf)錛屽疄鐜板湪JSP鎵撳紑EXCEL鏂囦歡鐨勫姛鑳? 聽 鍦╓EB.xml(tomcat\conf)涓姞鍏ュ涓嬩唬鐮? 聽 <mime-mapping> <extension>xls</extension> <mime-type>application/msexcel</mime-type> </mime-mapping> 聽 聽 2.濡傛灉闇瑕佹枃浠朵互EXCEL褰㈠紡鎵撳紑錛屽垯鍦↗SP鏂囦歡澶撮儴澧炲姞濡備笅閰嶇疆 聽 聽 <%@ page contentType="application/vnd.ms-excel" %> Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1293331
<mime-type>: 闄や簡璇ョ被鍨嬫枃浠剁殑鍙墽琛屾枃浠?鍚學INDOW娉ㄥ唽琛ㄤ腑鐨?
/HKEY_CLASSES_ROOT涓嬭綾繪枃浠剁殑Content Type 鐨勫間竴鏍?
濡傝兘鍦↖E涓嚜鍔ㄦ墦寮DOC錛孹LS錛孭DF鏂囦歡闇鍦╳eb.xml鏂囦歡涓鍔犲涓嬮厤緗?
<mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xls</extension>
<mime-type>application/msexcel</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>
鍦↗SP鎵撳紑EXCEL鏂囦歡
]]>
]]>
log4j錛屽彲浠ユ湁濡備笅鐨刢ream錛?
1. 鍔ㄦ佺殑鏀瑰彉璁板綍綰у埆鍜岀瓥鐣ワ紝涓嶉渶瑕侀噸鍚疻eb搴旂敤錛屽銆奅ffective Enterprise Java銆嬫墍璇淬?
2. 鎶妉og鏂囦歡瀹氬湪 /WEB-INF/logs/ 鑰屼笉闇瑕佸啓緇濆璺緞銆?
3. 鍙互鎶妉og4j.properties鍜屽叾浠杙roperties涓璧鋒斁鍦?WEB-INF/ 錛岃屼笉鏄疌lass-Path銆?
鍦╳eb.xml 娣誨姞
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
鍦ㄤ笂鏂囩殑閰嶇疆閲?
Log4jConfigListener浼氬幓WEB-INF/log4j.propeties 璇誨彇閰嶇疆鏂囦歡;
寮涓鏉atchdog綰跨▼姣?0縐掓壂鎻忎竴涓嬮厤緗枃浠剁殑鍙樺寲;
騫舵妸web鐩綍鐨勮礬寰勫帇鍏ヤ竴涓彨webapp.root鐨勭郴緇熷彉閲忋?
鐒跺悗錛屽湪log4j.properties 閲屽氨鍙互榪欐牱瀹氫箟logfile浣嶇疆
log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log
濡傛灉鏈夊涓獁eb搴旂敤錛屾晈ebapp.root鍙橀噺閲嶅錛屽彲浠ュ湪context-param閲屽畾涔墂ebAppRootKey銆?
鍦╦boss涓惎鍔ㄦ椂鍑洪敊錛?
2006-03-22 00:58:38,983 INFO [STDOUT] log4j:ERROR A "org.jboss.logging.util.OnlyOnceErrorHandler" object is not assignable to a "org.apache.log4j.spi.ErrorHandler" variable.
2006-03-22 00:58:38,983 INFO [STDOUT] log4j:ERROR The class "org.apache.log4j.spi.ErrorHandler" was loaded by
2006-03-22 00:58:38,983 INFO [STDOUT] log4j:ERROR [WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
java.net.FactoryURLClassLoader@40f7a8
] whereas object of type
2006-03-22 00:58:38,983 INFO [STDOUT] log4j:ERROR "org.jboss.logging.util.OnlyOnceErrorHandler" was loaded by [org.jboss.system.server.NoAnnotationURLClassLoader@120a47e].
2006-03-22 00:58:39,133 INFO [STDOUT] log4j:ERROR Could not create an Appender. Reported error follows.
2006-03-22 00:58:39,133 INFO [STDOUT] java.lang.ClassCastException
鎴憀og4j.properties濡備笅錛?
log4j.rootLogger=DEBUG,stdout,R
#log4j.rootLogger=DEBUG,R
#--------------------stdout--------------------------------
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %c - %m%n
#--------------------R--------------------------------
#log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
#this log file will be stored in web server's /bin directory,modify to your path which want to store.
log4j.appender.R.File=${webapp.root}/WEB-INF/logs/MeetPortal.log
#log4j.appender.R.datePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.R.datePattern='.'yyyy-MM-dd
log4j.appender.R.append=true
## Keep one backup file
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %c - %m%n
#[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
鎸夊悇浣嶉珮鎵嬪府鎴戠湅鍝堬紝璋㈣阿璋?!!!!!!!!!!!!!!!!!!!!!!!111
===============================================
The error above is caused by jboss problem, see
http://jira.atlassian.com/browse/JRA-6823.
"
One way to solve the classloader issue is by reverting the JBoss configuration
to the old classloading model.
Edit the file
<jboss>/server/default/jbossweb-tomcat55.sar/META-INF/jboss-service.xml
Change the following lines:
<attribute name="Java2ClassLoadingCompliance">true</attribute>
<attribute name="UseJBossWebLoader">true</attribute>
(both are default set to false in jboss-4.0.2).
]]>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>EMAIL媯楠?lt;/title>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
<!--
function check()
{
聽if(document.register.email.value.length!=0)
聽 {
聽聽聽 if (document.register.email.value.charAt(0)=="." ||聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽 document.register.email.value.charAt(0)=="@"||聽聽聽聽聽聽
聽聽聽聽聽聽聽聽 document.register.email.value.indexOf('@', 0) == -1 ||
聽聽聽聽聽聽聽聽 document.register.email.value.indexOf('.', 0) == -1 ||
聽聽聽聽聽聽聽聽 document.register.email.value.lastIndexOf("@")==document.register.email.value.length-1 ||
聽聽聽聽聽聽聽聽 document.register.email.value.lastIndexOf(".")==document.register.email.value.length-1)
聽聽聽聽 {
聽聽聽聽聽 alert("Email鐨勬牸寮忎笉姝g‘錛?);
聽聽聽聽聽 document.register.email.focus();
聽聽聽聽聽 return false;
聽聽聽聽聽 }
聽聽 }
聽else
聽 {
聽聽 alert("Email鐨勪笉鑳戒負絀猴紒");
聽聽 document.register.email.focus();
聽聽 return false;
聽聽 }
聽return false;
}
//-->
</SCRIPT>
<form name="register" method="POST" action onSubmit="return聽 check();">
<p align="center">
聽 Email:<input type="text" name="email" size="20">
聽 <input type="submit" value="鎻愪氦" name="B1">
聽 <input type="reset" value="閲嶅~" name="B2">
</p>
</form>
</body>
</html>
]]>
Ctrl+1 蹇熶慨澶?鏈緇忓吀鐨勫揩鎹烽敭,灝變笉鐢ㄥ璇翠簡)
Ctrl+D: 鍒犻櫎褰撳墠琛?
Ctrl+Alt+鈫?澶嶅埗褰撳墠琛屽埌涓嬩竴琛?澶嶅埗澧炲姞)
Ctrl+Alt+鈫?澶嶅埗褰撳墠琛屽埌涓婁竴琛?澶嶅埗澧炲姞)
Alt+鈫?褰撳墠琛屽拰涓嬮潰涓琛屼氦浜掍綅緗?鐗瑰埆瀹炵敤,鍙互鐪佸幓鍏堝壀鍒?鍐嶇矘璐翠簡)
Alt+鈫?褰撳墠琛屽拰涓婇潰涓琛屼氦浜掍綅緗?鍚屼笂)
Alt+鈫?鍓嶄竴涓紪杈戠殑欏甸潰
Alt+鈫?涓嬩竴涓紪杈戠殑欏甸潰(褰撶劧鏄拡瀵逛笂闈㈤偅鏉℃潵璇翠簡)
Alt+Enter 鏄劇ず褰撳墠閫夋嫨璧勬簮(宸ョ▼,or 鏂囦歡 or鏂囦歡)鐨勫睘鎬?br />Shift+Enter 鍦ㄥ綋鍓嶈鐨勪笅涓琛屾彃鍏ョ┖琛?榪欐椂榧犳爣鍙互鍦ㄥ綋鍓嶈鐨勪換涓浣嶇疆,涓嶄竴瀹氭槸鏈鍚?
Shift+Ctrl+Enter 鍦ㄥ綋鍓嶈鎻掑叆絀鴻(鍘熺悊鍚屼笂鏉?
Ctrl+Q 瀹氫綅鍒版渶鍚庣紪杈戠殑鍦版柟
Ctrl+L 瀹氫綅鍦ㄦ煇琛?(瀵逛簬紼嬪簭瓚呰繃100鐨勪漢灝辨湁紱忛煶浜?
Ctrl+M 鏈澶у寲褰撳墠鐨凟dit鎴朧iew (鍐嶆寜鍒欏弽涔?
Ctrl+/ 娉ㄩ噴褰撳墠琛?鍐嶆寜鍒欏彇娑堟敞閲?br />Ctrl+O 蹇熸樉紺?OutLine
Ctrl+T 蹇熸樉紺哄綋鍓嶇被鐨勭戶鎵跨粨鏋?br />Ctrl+W 鍏抽棴褰撳墠Editer
Ctrl+K 鍙傜収閫変腑鐨刉ord蹇熷畾浣嶅埌涓嬩竴涓?br />Ctrl+E 蹇熸樉紺哄綋鍓岴diter鐨勪笅鎷夊垪琛?濡傛灉褰撳墠欏甸潰娌℃湁鏄劇ず鐨勭敤榛戜綋琛ㄧず)
Ctrl+/(灝忛敭鐩? 鎶樺彔褰撳墠綾諱腑鐨勬墍鏈変唬鐮?br />Ctrl+脳(灝忛敭鐩? 灞曞紑褰撳墠綾諱腑鐨勬墍鏈変唬鐮?br />Ctrl+Space 浠g爜鍔╂墜瀹屾垚涓浜涗唬鐮佺殑鎻掑叆(浣嗕竴鑸拰杈撳叆娉曟湁鍐茬獊,鍙互淇敼杈撳叆娉曠殑鐑敭,涔熷彲浠ユ殏鐢ˋlt+/鏉ヤ唬鏇?
Ctrl+Shift+E 鏄劇ず綆$悊褰撳墠鎵撳紑鐨勬墍鏈夌殑View鐨勭鐞嗗櫒(鍙互閫夋嫨鍏抽棴,嬋媧葷瓑鎿嶄綔)
Ctrl+J 姝e悜澧為噺鏌ユ壘(鎸変笅Ctrl+J鍚?浣犳墍杈撳叆鐨勬瘡涓瓧姣嶇紪杈戝櫒閮芥彁渚涘揩閫熷尮閰嶅畾浣嶅埌鏌愪釜鍗曡瘝,濡傛灉娌℃湁,鍒欏湪stutes line涓樉紺烘病鏈夋壘鍒頒簡,鏌ヤ竴涓崟璇嶆椂,鐗瑰埆瀹炵敤,榪欎釜鍔熻兘Idea涓ゅ勾鍓嶅氨鏈変簡)
Ctrl+Shift+J 鍙嶅悜澧為噺鏌ユ壘(鍜屼笂鏉$浉鍚?鍙笉榪囨槸浠庡悗寰鍓嶆煡)
Ctrl+Shift+F4 鍏抽棴鎵鏈夋墦寮鐨凟diter
Ctrl+Shift+X 鎶婂綋鍓嶉変腑鐨勬枃鏈叏閮ㄥ彉鍛沖皬鍐?br />Ctrl+Shift+Y 鎶婂綋鍓嶉変腑鐨勬枃鏈叏閮ㄥ彉涓哄皬鍐?br />Ctrl+Shift+F 鏍煎紡鍖栧綋鍓嶄唬鐮?br />Ctrl+Shift+P 瀹氫綅鍒板浜庣殑鍖歸厤絎?璀{}) (浠庡墠闈㈠畾浣嶅悗闈㈡椂,鍏夋爣瑕佸湪鍖歸厤絎﹂噷闈?鍚庨潰鍒板墠闈?鍒欏弽涔?
涓嬮潰鐨勫揩鎹烽敭鏄噸鏋勯噷闈㈠父鐢ㄧ殑,鏈漢灝辮嚜宸卞枩嬈笖甯哥敤鐨勬暣鐞嗕竴涓?娉?涓鑸噸鏋勭殑蹇嵎閿兘鏄疉lt+Shift寮澶寸殑浜?
Alt+Shift+R 閲嶅懡鍚?(鏄垜鑷繁鏈鐖辯敤鐨勪竴涓簡,灝ゅ叾鏄彉閲忓拰綾葷殑Rename,姣旀墜宸ユ柟娉曡兘鑺傜渷寰堝鍔沖姩鍔?
Alt+Shift+M 鎶藉彇鏂規硶 (榪欐槸閲嶆瀯閲岄潰鏈甯哥敤鐨勬柟娉曚箣涓浜?灝ゅ叾鏄涓澶у爢娉ュ洟浠g爜鏈夌敤)
Alt+Shift+C 淇敼鍑芥暟緇撴瀯(姣旇緝瀹炵敤,鏈塏涓嚱鏁拌皟鐢ㄤ簡榪欎釜鏂規硶,淇敼涓嬈℃悶瀹?
Alt+Shift+L 鎶藉彇鏈湴鍙橀噺( 鍙互鐩存帴鎶婁竴浜涢瓟娉曟暟瀛楀拰瀛楃涓叉娊鍙栨垚涓涓彉閲?灝ゅ叾鏄澶勮皟鐢ㄧ殑鏃跺?
Alt+Shift+F 鎶奀lass涓殑local鍙橀噺鍙樹負field鍙橀噺 (姣旇緝瀹炵敤鐨勫姛鑳?
Alt+Shift+I 鍚堝茍鍙橀噺(鍙兘榪欐牱璇存湁鐐逛笉濡nline)
Alt+Shift+V 縐誨姩鍑芥暟鍜屽彉閲?涓嶆庝箞甯哥敤)
Alt+Shift+Z 閲嶆瀯鐨勫悗鎮旇嵂(Undo)
緙栬緫
浣滅敤鍩?鍔熻兘 蹇嵎閿?
鍏ㄥ眬 鏌ユ壘騫舵浛鎹?Ctrl+F
鏂囨湰緙栬緫鍣?鏌ユ壘涓婁竴涓?Ctrl+Shift+K
鏂囨湰緙栬緫鍣?鏌ユ壘涓嬩竴涓?Ctrl+K
鍏ㄥ眬 鎾ら攢 Ctrl+Z
鍏ㄥ眬 澶嶅埗 Ctrl+C
鍏ㄥ眬 鎭㈠涓婁竴涓夋嫨 Alt+Shift+鈫?
鍏ㄥ眬 鍓垏 Ctrl+X
鍏ㄥ眬 蹇熶慨姝?Ctrl1+1
鍏ㄥ眬 鍐呭杈呭姪 Alt+/
鍏ㄥ眬 鍏ㄩ儴閫変腑 Ctrl+A
鍏ㄥ眬 鍒犻櫎 Delete
鍏ㄥ眬 涓婁笅鏂囦俊鎭?Alt+錛?br />Alt+Shift+?
Ctrl+Shift+Space
Java緙栬緫鍣?鏄劇ず宸ュ叿鎻愮ず鎻忚堪 F2
Java緙栬緫鍣?閫夋嫨灝佽鍏冪礌 Alt+Shift+鈫?
Java緙栬緫鍣?閫夋嫨涓婁竴涓厓绱?Alt+Shift+鈫?
Java緙栬緫鍣?閫夋嫨涓嬩竴涓厓绱?Alt+Shift+鈫?
鏂囨湰緙栬緫鍣?澧為噺鏌ユ壘 Ctrl+J
鏂囨湰緙栬緫鍣?澧為噺閫嗗悜鏌ユ壘 Ctrl+Shift+J
鍏ㄥ眬 綺樿創 Ctrl+V
鍏ㄥ眬 閲嶅仛 Ctrl+Y
聽
鏌ョ湅
浣滅敤鍩?鍔熻兘 蹇嵎閿?
鍏ㄥ眬 鏀懼ぇ Ctrl+=
鍏ㄥ眬 緙╁皬 Ctrl+-
聽
紿楀彛
浣滅敤鍩?鍔熻兘 蹇嵎閿?
鍏ㄥ眬 嬋媧葷紪杈戝櫒 F12
鍏ㄥ眬 鍒囨崲緙栬緫鍣?Ctrl+Shift+W
鍏ㄥ眬 涓婁竴涓紪杈戝櫒 Ctrl+Shift+F6
鍏ㄥ眬 涓婁竴涓鍥?Ctrl+Shift+F7
鍏ㄥ眬 涓婁竴涓忚鍥?Ctrl+Shift+F8
鍏ㄥ眬 涓嬩竴涓紪杈戝櫒 Ctrl+F6
鍏ㄥ眬 涓嬩竴涓鍥?Ctrl+F7
鍏ㄥ眬 涓嬩竴涓忚鍥?Ctrl+F8
鏂囨湰緙栬緫鍣?鏄劇ず鏍囧昂涓婁笅鏂囪彍鍗?Ctrl+W
鍏ㄥ眬 鏄劇ず瑙嗗浘鑿滃崟 Ctrl+F10
鍏ㄥ眬 鏄劇ず緋葷粺鑿滃崟 Alt+-
聽
瀵艱埅
浣滅敤鍩?鍔熻兘 蹇嵎閿?
Java緙栬緫鍣?鎵撳紑緇撴瀯 Ctrl+F3
鍏ㄥ眬 鎵撳紑綾誨瀷 Ctrl+Shift+T
鍏ㄥ眬 鎵撳紑綾誨瀷灞傛緇撴瀯 F4
鍏ㄥ眬 鎵撳紑澹版槑 F3
鍏ㄥ眬 鎵撳紑澶栭儴javadoc Shift+F2
鍏ㄥ眬 鎵撳紑璧勬簮 Ctrl+Shift+R
鍏ㄥ眬 鍚庨鍘嗗彶璁板綍 Alt+鈫?
鍏ㄥ眬 鍓嶈繘鍘嗗彶璁板綍 Alt+鈫?
鍏ㄥ眬 涓婁竴涓?Ctrl+,
鍏ㄥ眬 涓嬩竴涓?Ctrl+.
Java緙栬緫鍣?鏄劇ず澶х翰 Ctrl+O
鍏ㄥ眬 鍦ㄥ眰嬈$粨鏋勪腑鎵撳紑綾誨瀷 Ctrl+Shift+H
鍏ㄥ眬 杞嚦鍖歸厤鐨勬嫭鍙?Ctrl+Shift+P
鍏ㄥ眬 杞嚦涓婁竴涓紪杈戜綅緗?Ctrl+Q
Java緙栬緫鍣?杞嚦涓婁竴涓垚鍛?Ctrl+Shift+鈫?
Java緙栬緫鍣?杞嚦涓嬩竴涓垚鍛?Ctrl+Shift+鈫?
鏂囨湰緙栬緫鍣?杞嚦琛?Ctrl+L
聽
鎼滅儲
浣滅敤鍩?鍔熻兘 蹇嵎閿?
鍏ㄥ眬 鍑虹幇鍦ㄦ枃浠朵腑 Ctrl+Shift+U
鍏ㄥ眬 鎵撳紑鎼滅儲瀵硅瘽妗?Ctrl+H
鍏ㄥ眬 宸ヤ綔鍖轟腑鐨勫0鏄?Ctrl+G
鍏ㄥ眬 宸ヤ綔鍖轟腑鐨勫紩鐢?Ctrl+Shift+G
鏂囨湰緙栬緫
浣滅敤鍩?鍔熻兘 蹇嵎閿?
鏂囨湰緙栬緫鍣?鏀瑰啓鍒囨崲 Insert
鏂囨湰緙栬緫鍣?涓婃粴琛?Ctrl+鈫?
鏂囨湰緙栬緫鍣?涓嬫粴琛?Ctrl+鈫?
聽
鏂囦歡
浣滅敤鍩?鍔熻兘 蹇嵎閿?
鍏ㄥ眬 淇濆瓨 Ctrl+X
Ctrl+S
鍏ㄥ眬 鎵撳嵃 Ctrl+P
鍏ㄥ眬 鍏抽棴 Ctrl+F4
鍏ㄥ眬 鍏ㄩ儴淇濆瓨 Ctrl+Shift+S
鍏ㄥ眬 鍏ㄩ儴鍏抽棴 Ctrl+Shift+F4
鍏ㄥ眬 灞炴?Alt+Enter
鍏ㄥ眬 鏂板緩 Ctrl+N
聽
欏圭洰
浣滅敤鍩?鍔熻兘 蹇嵎閿?
鍏ㄥ眬 鍏ㄩ儴鏋勫緩 Ctrl+B
聽
婧愪唬鐮?br />浣滅敤鍩?鍔熻兘 蹇嵎閿?
Java緙栬緫鍣?鏍煎紡鍖?Ctrl+Shift+F
Java緙栬緫鍣?鍙栨秷娉ㄩ噴 Ctrl+\
Java緙栬緫鍣?娉ㄩ噴 Ctrl+/
Java緙栬緫鍣?娣誨姞瀵煎叆 Ctrl+Shift+M
Java緙栬緫鍣?緇勭粐瀵煎叆 Ctrl+Shift+O
Java緙栬緫鍣?浣跨敤try/catch鍧楁潵鍖呭洿 鏈緗紝澶父鐢ㄤ簡錛屾墍浠ュ湪榪欓噷鍒楀嚭,寤鴻鑷繁璁劇疆銆?br />涔熷彲浠ヤ嬌鐢–trl+1鑷姩淇銆?
聽
榪愯
浣滅敤鍩?鍔熻兘 蹇嵎閿?
鍏ㄥ眬 鍗曟榪斿洖 F7
鍏ㄥ眬 鍗曟璺寵繃 F6
鍏ㄥ眬 鍗曟璺沖叆 F5
鍏ㄥ眬 鍗曟璺沖叆閫夋嫨 Ctrl+F5
鍏ㄥ眬 璋冭瘯涓婃鍚姩 F11
鍏ㄥ眬 緇х畫 F8
鍏ㄥ眬 浣跨敤榪囨護鍣ㄥ崟姝ユ墽琛?Shift+F5
鍏ㄥ眬 娣誨姞/鍘婚櫎鏂偣 Ctrl+Shift+B
鍏ㄥ眬 鏄劇ず Ctrl+D
鍏ㄥ眬 榪愯涓婃鍚姩 Ctrl+F11
鍏ㄥ眬 榪愯鑷寵 Ctrl+R
鍏ㄥ眬 鎵ц Ctrl+U
聽
閲嶆瀯
浣滅敤鍩?鍔熻兘 蹇嵎閿?
鍏ㄥ眬 鎾ら攢閲嶆瀯 Alt+Shift+Z
鍏ㄥ眬 鎶藉彇鏂規硶 Alt+Shift+M
鍏ㄥ眬 鎶藉彇灞閮ㄥ彉閲?Alt+Shift+L
鍏ㄥ眬 鍐呰仈 Alt+Shift+I
鍏ㄥ眬 縐誨姩 Alt+Shift+V
鍏ㄥ眬 閲嶅懡鍚?Alt+Shift+R
鍏ㄥ眬 閲嶅仛 Alt+Shift+Y
Struts2涓嶴truts1鐨勫姣?/b>
鏉ユ簮錛歴truts2寮鍙戠粍 緲昏瘧錛歵ianxinet錛堣儢鐚達級
Action 綾?
鈥?Struts1瑕佹眰Action綾葷戶鎵夸竴涓娊璞″熀綾匯係truts1鐨勪竴涓櫘閬嶉棶棰樻槸浣跨敤鎶借薄綾葷紪紼嬭屼笉鏄帴鍙c?
鈥?Struts 2 Action綾誨彲浠ュ疄鐜頒竴涓狝ction鎺ュ彛錛屼篃鍙疄鐜板叾浠栨帴鍙o紝浣垮彲閫夊拰瀹氬埗鐨勬湇鍔℃垚涓哄彲鑳姐係truts2鎻愪緵涓涓狝ctionSupport鍩虹被鍘誨疄鐜?甯哥敤鐨勬帴鍙c侫ction鎺ュ彛涓嶆槸蹇呴』鐨勶紝浠諱綍鏈塭xecute鏍囪瘑鐨凱OJO瀵硅薄閮藉彲浠ョ敤浣淪truts2鐨凙ction瀵硅薄銆?
綰跨▼妯″紡:
鈥?Struts1 Action鏄崟渚嬫ā寮忓茍涓斿繀欏繪槸綰跨▼瀹夊叏鐨勶紝鍥犱負浠呮湁Action鐨勪竴涓疄渚嬫潵澶勭悊鎵鏈夌殑璇鋒眰銆傚崟渚嬬瓥鐣ラ檺鍒朵簡Struts1 Action鑳戒綔鐨勪簨錛屽茍涓旇鍦ㄥ紑鍙戞椂鐗瑰埆灝忓績銆侫ction璧勬簮蹇呴』鏄嚎紼嬪畨鍏ㄧ殑鎴栧悓姝ョ殑銆?
鈥?Struts2 Action瀵硅薄涓烘瘡涓涓姹備駭鐢熶竴涓疄渚嬶紝鍥犳娌℃湁綰跨▼瀹夊叏闂銆傦紙瀹為檯涓婏紝servlet瀹瑰櫒緇欐瘡涓姹備駭鐢熻澶氬彲涓㈠純鐨勫璞★紝騫朵笖涓嶄細瀵艱嚧鎬ц兘鍜屽瀮鍦懼洖鏀墮棶棰橈級
Servlet 渚濊禆:
鈥?Struts1 Action 渚濊禆浜嶴ervlet API ,鍥犱負褰撲竴涓狝ction琚皟鐢ㄦ椂HttpServletRequest 鍜?HttpServletResponse 琚紶閫掔粰execute鏂規硶銆?
鈥?Struts 2 Action涓嶄緷璧栦簬瀹瑰櫒錛屽厑璁窤ction鑴辯瀹瑰櫒鍗曠嫭琚祴璇曘傚鏋滈渶瑕侊紝Struts2 Action浠嶇劧鍙互璁塊棶鍒濆鐨剅equest鍜宺esponse銆備絾鏄紝鍏朵粬鐨勫厓绱犲噺灝戞垨鑰呮秷闄や簡鐩存帴璁塊棶HttpServetRequest 鍜?HttpServletResponse鐨勫繀瑕佹с?
鍙祴鎬?
鈥?嫻嬭瘯Struts1 Action鐨勪竴涓富瑕侀棶棰樻槸execute鏂規硶鏆撮湶浜唖ervlet API錛堣繖浣垮緱嫻嬭瘯瑕佷緷璧栦簬瀹瑰櫒錛夈備竴涓涓夋柟鎵╁睍錛嶏紞Struts TestCase錛嶏紞鎻愪緵浜嗕竴濂桽truts1鐨勬ā鎷熷璞★紙鏉ヨ繘琛屾祴璇曪級銆?
鈥?Struts 2 Action鍙互閫氳繃鍒濆鍖栥佽緗睘鎬с佽皟鐢ㄦ柟娉曟潵嫻嬭瘯錛屸滀緷璧栨敞鍏モ濇敮鎸佷篃浣挎祴璇曟洿瀹規槗銆?
鎹曡幏杈撳叆:
鈥?Struts1 浣跨敤ActionForm瀵硅薄鎹曡幏杈撳叆銆傛墍鏈夌殑ActionForm蹇呴』緇ф壙涓涓熀綾匯傚洜涓哄叾浠朖avaBean涓嶈兘鐢ㄤ綔ActionForm錛屽紑鍙戣呯粡甯稿垱寤哄浣欑殑綾繪崟鑾瘋緭鍏ャ傚姩鎬丅ean錛圖ynaBeans錛夊彲浠ヤ綔涓哄垱寤轟紶緇烝ctionForm鐨勯夋嫨錛屼絾鏄紝寮鍙戣呭彲鑳芥槸鍦ㄩ噸鏂版弿榪?鍒涘緩)宸茬粡瀛樺湪鐨凧avaBean錛堜粛鐒朵細瀵艱嚧鏈夊啑浣欑殑javabean錛夈?
鈥?Struts 2鐩存帴浣跨敤Action灞炴т綔涓鴻緭鍏ュ睘鎬э紝娑堥櫎浜嗗絎簩涓緭鍏ュ璞$殑闇姹傘傝緭鍏ュ睘鎬у彲鑳芥槸鏈夎嚜宸?瀛?灞炴х殑rich瀵硅薄綾誨瀷銆侫ction灞炴ц兘澶熼氳繃 web欏甸潰涓婄殑taglibs璁塊棶銆係truts2涔熸敮鎸丄ctionForm妯″紡銆俽ich瀵硅薄綾誨瀷錛屽寘鎷笟鍔″璞★紝鑳藉鐢ㄤ綔杈撳叆/杈撳嚭瀵硅薄銆傝繖縐?ModelDriven 鐗規х畝鍖栦簡taglib瀵筆OJO杈撳叆瀵硅薄鐨勫紩鐢ㄣ?
琛ㄨ揪寮忚璦錛?/b>
鈥?Struts1 鏁村悎浜咼STL錛屽洜姝や嬌鐢↗STL EL銆傝繖縐岴L鏈夊熀鏈璞″浘閬嶅巻錛屼絾鏄闆嗗悎鍜岀儲寮曞睘鎬х殑鏀寔寰堝急銆?
鈥?Struts2鍙互浣跨敤JSTL錛屼絾鏄篃鏀寔涓涓洿寮哄ぇ鍜岀伒媧葷殑琛ㄨ揪寮忚璦錛嶏紞"Object Graph Notation Language" (OGNL).
緇戝畾鍊煎埌欏甸潰錛坴iew錛?
鈥?Struts 1浣跨敤鏍囧噯JSP鏈哄埗鎶婂璞$粦瀹氬埌欏甸潰涓潵璁塊棶銆?
鈥?Struts 2 浣跨敤 "ValueStack"鎶鏈紝浣縯aglib鑳藉璁塊棶鍊艱屼笉闇瑕佹妸浣犵殑欏甸潰錛坴iew錛夊拰瀵硅薄緇戝畾璧鋒潵銆俈alueStack絳栫暐鍏佽閫氳繃涓緋誨垪鍚嶇О鐩稿悓浣嗙被鍨嬩笉鍚岀殑灞炴ч噸鐢ㄩ〉闈紙view錛夈?
銆
綾誨瀷杞崲錛?/b>
鈥?Struts 1 ActionForm 灞炴ч氬父閮芥槸String綾誨瀷銆係truts1浣跨敤Commons-Beanutils榪涜綾誨瀷杞崲銆傛瘡涓被涓涓漿鎹㈠櫒錛屽姣忎竴涓疄渚嬫潵璇存槸涓嶅彲閰嶇疆鐨勩?
鈥?Struts2 浣跨敤OGNL榪涜綾誨瀷杞崲銆傛彁渚涘熀鏈拰甯哥敤瀵硅薄鐨勮漿鎹㈠櫒銆?
鏍¢獙錛?/b>
鈥?Struts 1鏀寔鍦ˋctionForm鐨剉alidate鏂規硶涓墜鍔ㄦ牎楠岋紝鎴栬呴氳繃Commons Validator鐨勬墿灞曟潵鏍¢獙銆傚悓涓涓被鍙互鏈変笉鍚岀殑鏍¢獙鍐呭錛屼絾涓嶈兘鏍¢獙瀛愬璞°?
鈥?Struts2鏀寔閫氳繃validate鏂規硶鍜孹Work鏍¢獙妗嗘灦鏉ヨ繘琛屾牎楠屻俋Work鏍¢獙妗嗘灦浣跨敤涓哄睘鎬х被綾誨瀷瀹氫箟鐨勬牎楠屽拰鍐呭鏍¢獙錛屾潵鏀寔chain鏍¢獙瀛愬睘鎬?
Action鎵ц鐨勬帶鍒訛細
鈥?Struts1鏀寔姣忎竴涓ā鍧楁湁鍗曠嫭鐨凴equest Processors錛堢敓鍛藉懆鏈燂級錛屼絾鏄ā鍧椾腑鐨勬墍鏈堿ction蹇呴』鍏變韓鐩稿悓鐨勭敓鍛藉懆鏈熴?
鈥?Struts2鏀寔閫氳繃鎷︽埅鍣ㄥ爢鏍堬紙Interceptor Stacks錛変負姣忎竴涓狝ction鍒涘緩涓嶅悓鐨勭敓鍛藉懆鏈熴傚爢鏍堣兘澶熸牴鎹渶瑕佸拰涓嶅悓鐨凙ction涓璧蜂嬌鐢ㄣ?/p>
鎸囧畾楠岃瘉鏂瑰紡涓哄熀鏈獙璇佹柟寮忥細鐢?lt;login-config>瀹氫箟銆備緥濡傦細
瀹氫箟琚繚鎶ょ殑璧勬簮錛屼緥濡備笅闈㈣繖孌靛0鏄庢寚鏄庝簡鍙湁瑙掕壊webuser鎵嶈兘璁塊棶琚繚鎶ょ殑璧勬簮錛?br />
錛?錛夊湪weblogic.xml鏂囦歡涓畾涔夊畨鍏ㄨ鑹插埌weblogic server涓敤鎴鋒垨鐢ㄦ埛緇勭殑鏄犲皠銆傚嵆鎸囧畾weblogic server涓殑鍝簺瀹炰綋灞炰簬瀹夊叏瑙掕壊銆備緥濡備笅闈㈣繖孌靛0鏄庡皢weblogic server涓殑瀹炰綋myGroup鏄犲皠鍒板畨鍏ㄨ鑹瞱ebUser錛?br />
聽涓嬮潰鏃跺畬鏁寸殑鐩稿叧欏甸潰錛?br />聽web.xml鏂囦歡
聽
聽
weblogic.xml鏂囦歡
聽
welcome.jsp鏂囦歡
2.琛ㄥ崟楠岃瘉鏂瑰紡
浣跨敤琛ㄥ崟楠岃瘉鏂瑰紡榪涜web搴旂敤紼嬪簭鐨勮韓浠介獙璇侊紝闇瑕佸紑鍙戣呭畾涔変竴涓櫥褰曢〉闈㈠拰鐧誨綍澶辮觸鐨勯敊璇鐞嗛〉闈€傜櫥褰曢〉闈㈠彲浠ユ椂html銆乯sp鎴杝ervlet銆備嬌鐢ㄨ繖縐嶉獙璇佹柟寮忕殑濂藉鏃跺彲浠ュ紼嬪簭鏈夋洿榪涗竴姝ョ殑鎺у埗銆傜櫥褰曢〉闈㈠簲璇ヨ鐢ㄦ埛杈撳叆鐢ㄦ埛鍚嶅拰瀵嗙爜錛岄敊璇鐞嗛〉闈㈠簲璇ュ皢楠岃瘉澶辮觸鐨勪俊鎭弽棣堢粰鐢ㄦ埛銆傚紑鍙戜嬌鐢ㄨ〃鍗曢獙璇佹柟寮忕殑web搴旂敤紼嬪簭鐨勫熀鏈楠ゅ涓嬨?br />錛?錛夌紪鍐欑櫥褰曢〉闈㈠拰閿欒澶勭悊欏甸潰錛屽湪web搴旂敤紼嬪簭鐨勬榪庨〉闈腑鍔犲叆鍒扮櫥褰曢〉闈㈢殑瓚呯駭閾炬帴錛屾彁紺虹敤鎴烽鍏堣繘琛岀櫥褰曘傜櫥褰曢〉闈婦渚嬶細
錛?錛夐厤緗畐eb.xml
錛?錛夊湪weblogic.xml鏂囦歡涓畾涔夊畨鍏ㄨ鑹插埌weblogic server涓疄浣擄紙鐢ㄦ埛鎴栫敤鎴風粍錛夌殑鏄犲皠銆備緥濡傦細