锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
榪欎釜璁捐寰堥氱敤錛岀粡榪囦綔鑰呯殑澶氭閲嶆瀯錛岀幇鍦╡xtremeTable鐨勬灦鏋勯潪甯告紓浜傝繖涓爣絳劇幇鍦ㄧ己鐐規槸鏈変簺鍙傛暟瀵筸vc鎺у埗鍣ㄥ睆钄戒簡錛屽簲鎻愪緵涓鑷寸殑瀵瑰鎺ュ彛銆備笉榪囨暣浣撲笂璁捐榪樻槸寰堢簿鑷寸殑錛岄潰鍚戝璞℃潵澶勭悊 html鍏冪礌錛屼笌spring闈炲父鐨勯粯濂?/span>錛岄潪甯鎬究浜庡紑鍙戝拰嫻嬭瘯銆?/span>
TableLimitFactory錛?/span>AbstractLimitFactory錛?/span>LimitFactory
TableLimitFactory鏄渶緇堝疄鐜扮殑宸ュ巶錛屽畠extends浜?/span>AbstractLimitFactory鎶借薄綾伙紝AbstractLimitFactory 綾?/span>implements浜?/span>LimitFactory鎺ュ彛銆?/span>
TableLimitFactory涓昏鏄敤鏉ュ疄渚嬪寲錛岄氳繃鏋勯犲嚱鏁頒紶鍏ュ弬鏁般傚悓鏃跺垱寤?/span>Registry鏉ュ畬鎴?/span>jsp欏甸潰鍙傛暟浼犲叆Registry銆傚綋鐒惰繕鏈変竴涓姛鑳藉氨鏄粠web.xml鐨勯厤緗枃浠惰鍙栦竴浜涘叏灞鍙傛暟銆傞鍏堣鍙栭厤緗枃浠跺弬鏁幫紝鐒跺悗鏍規嵁鍙傛暟鍒涘緩LimitRegistry瀵硅薄銆?/span>
this.registry = new LimitRegistry(context, tableId, prefixWithTableId, state, stateAttr);
AbstractLimitFactory涓昏鏄敤鏉ヨ幏鍙?/span>jsp欏甸潰涓婅緗殑鍙傛暟錛屾瘮濡傚垎欏電殑淇℃伅錛堢鍑犻〉錛岃搗濮嬭錛岀粨鏉熻錛屾瘡欏墊樉紺鴻鏁幫紝鏌ヨ鏉′歡錛屾帓搴忔潯浠剁瓑錛夛紝褰撶劧浠栨槸閫氳繃宸ュ叿綾?/span>Registry鏉ュ疄鐜般?/span>
TableLimit錛?/span>Limit銆傚叾涓昏浣滅敤鏄竴涓弬鏁板弬鏁板櫒錛屽氨鏄妸Registry瀵硅薄鐨勫弬鏁頒紶鍏?/span>TableLimit錛岃冭檻鍒板垎灞傚惂錛?/span>TableLimit鏄鏍囩鍜?/span>action閫氫俊鐨勬ˉ姊併傚氨鍍忔垜浠殑j2ee欏圭洰vo鏄?/span>dao鍜?/span>struts絳?/span>view絳夋暟鎹紶杈撳伐鍏楓?/span>
TableProperties錛?/span>Properties 涓昏鏄潵瀹炵幇浠?/span>web.xml閰嶇疆鐨勬枃浠朵腑璇誨彇閰嶇疆鐨勪竴浜涘叏灞鍙傛暟銆?/span>
InputStream input = this.getClass().getResourceAsStream(preferencesLocation);
if (input != null) {
properties.load(input);
}
鍏朵腑preferencesLocation鏄礬寰勶紝鍦?/span>TableLimitFactory鍒濆鍖栨椂鍊欙紝閫氳繃宸ュ叿綾?/span>TableModelUtils.getPreferencesLocation(context)鑾峰彇銆?/span>
榪欎釜璁捐涔熸槸澶у鏁伴渶瑕侀厤緗枃浠剁殑緋葷粺甯哥敤鐨勬柟娉曘?/span>
LimitRegistry錛?/span>AbstractRegistry錛?/span>Registry
榪欎釜浣撶郴緇撴瀯鍜屼笂闈㈢殑宸ュ巶妯″紡涓鏍鳳紝灝辨槸LimitRegistry涓昏鏄敤鏉ュ疄渚嬪寲錛岄氳繃鏋勯犲嚱鏁頒紶鍏ュ弬鏁般?/span>AbstractRegistry鏄疄闄呭疄鐜扮被錛岃幏鍙?/span>jsp琛ㄥ崟鎻愪氦鐨勫弬鏁幫紝騫舵彁渚?/span>getter鏂規硶渚?/span>Limit鏉ヤ嬌鐢ㄣ?/span>Registry鏄竴涓帴鍙c?/span>
鎵浠ヨ繖璁捐妯″紡錛屾垜浠彲浠ユ潵瀛︿範錛?/span>
緇忓吀琛ㄨ堪錛?span style="color: red">綾?/span>鈥?/span>鎶借薄綾?/span>鈥?/span>鎺ュ彛
l 綾伙細鍒濆鍖栵紝瀹氫箟鏋勯犲嚱鏁幫紝浼犲叆鍙傛暟銆?/span>
l 鎶借薄綾伙細瀹氫箟涓氬姟鏂規硶鍦ㄦ銆?/span>
l 鎺ュ彛錛氬畾涔夋帴鍙f柟娉曪紝榪欎釜涓嶇敤澶氳銆?/span>
錛堜綔鑰咃細asktalk 鏉ヨ嚜 http://www.tkk7.com/askltak 鍘熷垱鏂囩珷錛岃漿杞借娉ㄦ槑鍑哄錛?/p>
涓嬮潰鏄粠struts鐨勮搴︽潵璋堣皥spring鑷甫鐨?/span>web妗嗘灦鐨勪嬌鐢ㄣ?/span>
褰撶劧錛屾垜浠湪閰嶇疆web妗嗘灦鍓嶏紝闇瑕佹妸spring閰嶇疆濂斤紝榪欓噷灝變笉澶氳浜嗐?/span>
濡傛灉娌℃湁閰嶇疆config.xml鏂囦歡錛岄偅涔堝叾榛樿鐨勯厤緗枃浠朵負[ servlet-name ]-servlet.xml 銆備篃灝辨槸鎴戜滑榪欎釜閰嶇疆鐨勯粯璁ら厤緗枃浠舵槸Dispatcher-servlet.xml
spring web妗嗘灦涓?/span>struts鏈澶х殑涓嶅悓灝辨槸spring web妗嗘灦鏍規嵁鍒嗗伐錛屾妸姣忎竴縐嶅姛鑳介兘瀹氫箟涓轟竴縐嶇粍浠訛紝鎵浠ュ湪寮鍙戣繃紼嬩腑闇瑕侀厤緗殑涓滆タ灝遍潪甯稿錛?/span>Spring涓垎涓哄嚑涓鑹詫細
l 鏍稿績鎺у埗鍣紝灝辨槸web妗嗘灦鐨勪富 servlet錛?/span>
l 涓氬姟鎺у埗鍣紝涔熷氨鏄?/span>struts涓殑action瀵硅薄錛?/span>
l 鏄犲皠澶勭悊鍣紝瀹氫箟浜嗚闂礬寰勫浣曚笌web鐨?/span>xml涓殑bean鐩稿尮閰嶏紝灝辨槸瀹氫箟浜嗕竴縐嶇瓥鐣ワ紱
l 瑙嗗浘鍜岃鍥捐В鏋愬櫒錛岃鍥懼氨鏄?/span>jstl,velocity,xslt絳夛紝瑙嗗浘瑙f瀽鍣ㄥ畾涔変簡action鏈緇堝鑸〉闈㈢殑絳栫暐錛?/span>
l 妯″瀷錛屽氨鏄?/span>struts MVC緇撴瀯涓殑model錛?/span>
l Command瀵硅薄錛岀被浼間簬struts涓殑formBean錛?/span>
涓嬮潰鍒楀嚭浜嗕竴浜涖備緥濡傦紝
n Web妗嗘灦瑕佹嫤鎴?/span>*.do璺緞錛岄偅涔?/span>*.do濡備綍涓庢垜浠笅闈㈢殑bean鍖歸厤錛屽氨闇瑕佷竴涓槧灝勬帶鍒跺櫒銆傚湪struts涓氨鏄悕瀛楃浉鍚岀殑鍖歸厤錛屼笉闇瑕侀厤緗?/span>
n action鏈鍚庤瀵煎悜鍒頒笉鍚岀殑欏甸潰錛屽湪struts涓垜浠敤鐨勬槸榛樿鐨勪笉闇瑕佸湪xml鏂囦歡涓厤緗紝鍦?/span>spring涓氨闇瑕侀厤緗鍥捐В鏋愬櫒銆?/span>
n 涓嬮潰浠g爜涓紝Action涓?/span>commandClass閰嶇疆鐨勫氨鏄被浼間簬struts涓殑formBean瀵硅薄銆?br />
Action涓嶅涔庣戶鎵夸竴浜涚幇鎴愮殑綾伙紝鏉ュ疄鐜版垜浠?/span>view閮ㄥ垎鐨勪笟鍔°?br /> 浣滆咃細http://www.tkk7.com/asktalk
瑙e帇鍚庣殑鐩綍緇撴瀯濡備笅鍥撅紝閫氳繃鎵цbuild.bat鍙互緙栬瘧鍑哄畬鏁寸殑Eclipse-sdk-3.3.1.1榪愯鍖咃紝鍜屾垜浠綉涓婁笅杞界殑涓鏍楓備絾鏄繖涓繃紼嬪彲鑳介渶瑕佷竴涓皬鏃跺乏鍙崇殑鏃墮棿錛岃鏈夎愭у摝銆傛墍鏈夌殑鎻掍歡宸ョ▼鐩綍鍦╬lugins涓紝鎴戜滑鍙渶瑕佸鍏ョ幇鏈夊伐紼嬪嵆鍙妸plugins涓嬫墍鏈夊伐紼嬪鍏ャ?br />
EclipseRCPEclipse RCP
Source InsightProject
EclipseEclipse1exeeclipse.exeEclipsestartup.jarEclipseeclipse-sourceBuild-srcIncluded-3.3.1.1"plugins"org.eclipse.platform"launchersrc.zipwin32win32build.batC2javaEclipse 3.3.1.1eclipsestartup.jarorg.eclipse.equinox.launcher.Main.maineclipsestartup.jarEclipse 3.3.1.1javajava -jar startup.jarEclipseorg.eclipse.core.launcher.Mainorg.eclipse.equinox.launcher.Main.mainorg.eclipse.equinox.launcherMain.javaeclipse-sourceBuild-srcIncluded-3.3.1.1"plugins"org.eclipse.platform"launchersrc.zipeclipse.c鎴戜滑浠?/span>mainbasicRun
protectedvoid basicRun(String[] args) throws Exception { System.getProperties().put("eclipse.startTime", Long.toString(System.currentTimeMillis())); //$NON-NLS-1$ commands = args; String[] passThruArgs = processCommandLine(args); if (!debug) // debug can be specified as system property as well debug = System.getProperty(PROP_DEBUG) != null; setupVMProperties(); //VM processConfiguration(); //configuration/config.ini // need to ensure that getInstallLocation is called at least once to initialize the value. // Do this AFTER processing the configuration to allow the configuration to set // the install location. getInstallLocation(); // locate boot plugin (may return -dev mode variations) URL[] bootPath = getBootPath(bootLocation); //Set up the JNI bridge. We need to know the install location to find the shared library setupJNI(bootPath); //ensure minimum Java version, do this after JNI is set up so that we can write an error message //with exitdata if we fail. if (!checkVersion(System.getProperty("java.version"), System.getProperty(PROP_REQUIRED_JAVA_VERSION))) //$NON-NLS-1$ return; setSecurityPolicy(bootPath); // // splash handling is done here, because the default case needs to know // the location of the boot plugin we are going to use handleSplash(bootPath); beforeFwkInvocation(); invokeFramework(passThruArgs, bootPath); //Eclipse }
鏍煎紡錛?mysql -h涓繪満鍦板潃 -u鐢ㄦ埛鍚?錛峱鐢ㄦ埛瀵嗙爜
1銆佷緥1錛氳繛鎺ュ埌鏈満涓婄殑MYSQL銆?
棣栧厛鍦ㄦ墦寮DOS紿楀彛錛岀劧鍚庤繘鍏ョ洰褰?mysqlbin錛屽啀閿叆鍛戒護mysql -uroot -p錛屽洖杞﹀悗鎻愮ず浣犺緭瀵嗙爜錛屽鏋滃垰瀹夎濂組YSQL錛岃秴綰х敤鎴穜oot鏄病鏈夊瘑鐮佺殑錛屾晠鐩存帴鍥炶濺鍗沖彲榪涘叆鍒癕YSQL涓簡錛孧YSQL鐨勬彁紺虹鏄細mysql>
2銆佷緥2錛氳繛鎺ュ埌榪滅▼涓繪満涓婄殑MYSQL銆傚亣璁捐繙紼嬩富鏈虹殑IP涓猴細110.110.110.110錛岀敤鎴峰悕涓簉oot,瀵嗙爜涓篴bcd123銆傚垯閿叆浠ヤ笅鍛戒護錛?
mysql -h110.110.110.110 -uroot -pabcd123
錛堟敞:u涓巖oot鍙互涓嶇敤鍔犵┖鏍鹼紝鍏跺畠涔熶竴鏍鳳級
3銆侀鍑篗YSQL鍛戒護錛?exit 錛堝洖杞︼級
浜屻佷慨鏀瑰瘑鐮併?/strong>
鏍煎紡錛歮ysqladmin -u鐢ㄦ埛鍚?-p鏃у瘑鐮?password 鏂板瘑鐮?
1銆佷緥1錛氱粰root鍔犱釜瀵嗙爜ab12銆傞鍏堝湪DOS涓嬭繘鍏ョ洰褰昺ysqlbin錛岀劧鍚庨敭鍏ヤ互涓嬪懡浠?
mysqladmin -uroot -password ab12
娉細鍥犱負寮濮嬫椂root娌℃湁瀵嗙爜錛屾墍浠?p鏃у瘑鐮佷竴欏瑰氨鍙互鐪佺暐浜嗐?
2銆佷緥2錛氬啀灝唕oot鐨勫瘑鐮佹敼涓篸jg345銆?
mysqladmin -uroot -pab12 password djg345
涓夈佸鍔犳柊鐢ㄦ埛銆?br />
錛堟敞鎰忥細鍜屼笂闈笉鍚岋紝涓嬮潰鐨勫洜涓烘槸MYSQL鐜涓殑鍛戒護錛屾墍浠ュ悗闈㈤兘甯︿竴涓垎鍙蜂綔涓哄懡浠ょ粨鏉熺錛?
鏍煎紡錛歡rant select on 鏁版嵁搴?* to 鐢ㄦ埛鍚岪鐧誨綍涓繪満 identified by \"瀵嗙爜\"
渚?銆佸鍔犱竴涓敤鎴穞est1瀵嗙爜涓篴bc錛岃浠栧彲浠ュ湪浠諱綍涓繪満涓婄櫥褰曪紝騫跺鎵鏈夋暟鎹簱鏈夋煡璇€佹彃鍏ャ佷慨鏀廣佸垹闄ょ殑鏉冮檺銆傞鍏堢敤浠oot鐢ㄦ埛榪炲叆MYSQL錛岀劧鍚庨敭鍏ヤ互涓嬪懡浠わ細
grant select,insert,update,delete on *.* to test1@\"%\" Identified by \"abc\";
浣嗕緥1澧炲姞鐨勭敤鎴鋒槸鍗佸垎鍗遍櫓鐨勶紝浣犳兂濡傛煇涓漢鐭ラ亾test1鐨勫瘑鐮侊紝閭d箞浠栧氨鍙互鍦╥nternet涓婄殑浠諱綍涓鍙扮數鑴戜笂鐧誨綍浣犵殑mysql鏁版嵁搴撳茍瀵逛綘鐨勬暟鎹彲浠ヤ負鎵嬈蹭負浜嗭紝瑙e喅鍔炴硶瑙佷緥2銆?
渚?銆佸鍔犱竴涓敤鎴穞est2瀵嗙爜涓篴bc,璁╀粬鍙彲浠ュ湪localhost涓婄櫥褰曪紝騫跺彲浠ュ鏁版嵁搴搈ydb榪涜鏌ヨ銆佹彃鍏ャ佷慨鏀廣佸垹闄ょ殑鎿嶄綔錛坙ocalhost鎸囨湰鍦頒富鏈猴紝鍗矼YSQL鏁版嵁搴撴墍鍦ㄧ殑閭e彴涓繪満錛夛紝榪欐牱鐢ㄦ埛鍗充嬌鐢ㄧ煡閬搕est2鐨勫瘑鐮侊紝浠栦篃鏃犳硶浠巌nternet涓婄洿鎺ヨ闂暟鎹簱錛屽彧鑳介氳繃MYSQL涓繪満涓婄殑web欏墊潵璁塊棶浜嗐?
grant select,insert,update,delete on mydb.* to test2@localhost identified by \"abc\";
濡傛灉浣犱笉鎯硉est2鏈夊瘑鐮侊紝鍙互鍐嶆墦涓涓懡浠ゅ皢瀵嗙爜娑堟帀銆?
grant select,insert,update,delete on mydb.* to test2@localhost identified by \"\";
鍦ㄤ笂綃囨垜浠浜嗙櫥褰曘佸鍔犵敤鎴楓佸瘑鐮佹洿鏀圭瓑闂銆備笅綃囨垜浠潵鐪嬬湅MYSQL涓湁鍏蟲暟鎹簱鏂歸潰鐨勬搷浣溿傛敞鎰忥細浣犲繀欏婚鍏堢櫥褰曞埌MYSQL涓紝浠ヤ笅鎿嶄綔閮芥槸鍦∕YSQL鐨勬彁紺虹涓嬭繘琛岀殑錛岃屼笖姣忎釜鍛戒護浠ュ垎鍙風粨鏉熴?
涓銆佹搷浣滄妧宸?/strong>
1銆佸鏋滀綘鎵撳懡浠ゆ椂錛屽洖杞﹀悗鍙戠幇蹇樿鍔犲垎鍙鳳紝浣犳棤欏婚噸鎵撲竴閬嶅懡浠わ紝鍙鎵撲釜鍒嗗彿鍥炶濺灝卞彲浠ヤ簡銆備篃灝辨槸璇翠綘鍙互鎶婁竴涓畬鏁寸殑鍛戒護鍒嗘垚鍑犺鏉ユ墦錛屽畬鍚庣敤鍒嗗彿浣滅粨鏉熸爣蹇楀氨OK銆?
2銆佷綘鍙互浣跨敤鍏夋爣涓婁笅閿皟鍑轟互鍓嶇殑鍛戒護銆備絾浠ュ墠鎴戠敤榪囩殑涓涓狹YSQL鏃х増鏈笉鏀寔銆傛垜鐜板湪鐢ㄧ殑鏄痬ysql-3.23.27-beta-win銆?br />
浜屻佹樉紺哄懡浠?/strong>
1銆佹樉紺烘暟鎹簱鍒楄〃銆?
show databases;
鍒氬紑濮嬫椂鎵嶄袱涓暟鎹簱錛歮ysql鍜宼est銆俶ysql搴撳緢閲嶈瀹冮噷闈㈡湁MYSQL鐨勭郴緇熶俊鎭紝鎴戜滑鏀瑰瘑鐮佸拰鏂板鐢ㄦ埛錛屽疄闄呬笂灝辨槸鐢ㄨ繖涓簱榪涜鎿嶄綔銆?
2銆佹樉紺哄簱涓殑鏁版嵁琛細
use mysql錛?/span> 錛忥紡鎵撳紑搴擄紝瀛﹁繃FOXBASE鐨勪竴瀹氫笉浼氶檶鐢熷惂
show tables;
3銆佹樉紺烘暟鎹〃鐨勭粨鏋勶細
describe 琛ㄥ悕;
4銆佸緩搴擄細
create database 搴撳悕;
5銆佸緩琛細
use 搴撳悕錛?
create table 琛ㄥ悕 (瀛楁璁懼畾鍒楄〃)錛?/span>
6銆佸垹搴撳拰鍒犺〃:
drop database 搴撳悕;
drop table 琛ㄥ悕錛?/span>
7銆佸皢琛ㄤ腑璁板綍娓呯┖錛?
delete from 琛ㄥ悕;
8銆佹樉紺鴻〃涓殑璁板綍錛?
select * from 琛ㄥ悕;
浠庢枃鏈枃浠舵墽琛孲QL璇彞
涓夈佷竴涓緩搴撳拰寤鴻〃浠ュ強鎻掑叆鏁版嵁鐨勫疄渚?
|
娉細鍦ㄥ緩琛ㄤ腑錛?錛夊皢ID璁句負闀垮害涓?鐨勬暟瀛楀瓧孌?int(3)騫惰瀹冩瘡涓褰曡嚜鍔ㄥ姞涓:auto_increment騫朵笉鑳戒負絀?not null鑰屼笖璁╀粬鎴愪負涓誨瓧孌祊rimary key錛?錛夊皢NAME璁句負闀垮害涓?0鐨勫瓧絎﹀瓧孌碉紙3錛夊皢ADDRESS璁句負闀垮害50鐨勫瓧絎﹀瓧孌碉紝鑰屼笖緙虹渷鍊間負娣卞湷銆倂archar鍜宑har鏈変粈涔堝尯鍒憿錛屽彧鏈夌瓑浠ュ悗鐨勬枃绔犲啀璇翠簡銆傦紙4錛夊皢YEAR璁句負鏃ユ湡瀛楁銆?
濡傛灉浣犲湪mysql鎻愮ず絎﹂敭鍏ヤ笂闈㈢殑鍛戒護涔熷彲浠ワ紝浣嗕笉鏂逛究璋冭瘯銆備綘鍙互灝嗕互涓婂懡浠ゅ師鏍峰啓鍏ヤ竴涓枃鏈枃浠朵腑鍋囪涓簊chool.sql錛岀劧鍚庡鍒跺埌c:\\涓嬶紝騫跺湪DOS鐘舵佽繘鍏ョ洰褰昞\mysql\\bin錛岀劧鍚庨敭鍏ヤ互涓嬪懡浠わ細
mysql -uroot -p瀵嗙爜 < c:\\school.sql
濡傛灉鎴愬姛錛岀┖鍑轟竴琛屾棤浠諱綍鏄劇ず錛涘鏈夐敊璇紝浼氭湁鎻愮ず銆傦紙浠ヤ笂鍛戒護宸茬粡璋冭瘯錛屼綘鍙灝?/鐨勬敞閲婂幓鎺夊嵆鍙嬌鐢級銆?br />
鍥涖佸皢鏂囨湰鏁版嵁杞埌鏁版嵁搴撲腑
1銆佹枃鏈暟鎹簲絎﹀悎鐨勬牸寮忥細瀛楁鏁版嵁涔嬮棿鐢╰ab閿殧寮錛宯ull鍊肩敤\\n鏉ヤ唬鏇?
渚嬶細
3 rose 娣卞湷浜屼腑 1976-10-10
4 mike 娣卞湷涓涓?1975-12-23
2銆佹暟鎹紶鍏ュ懡浠?load data local infile \"鏂囦歡鍚峔" into table 琛ㄥ悕;
娉ㄦ剰錛氫綘鏈濂藉皢鏂囦歡澶嶅埗鍒癨\mysql\\bin鐩綍涓嬶紝騫朵笖瑕佸厛鐢╱se鍛戒護鎵撹〃鎵鍦ㄧ殑搴撱?
浜斻佸浠芥暟鎹簱錛氾紙鍛戒護鍦―OS鐨刓\mysql\\bin鐩綍涓嬫墽琛岋級
mysqldump --opt school>school.bbb
娉ㄩ噴:灝嗘暟鎹簱school澶囦喚鍒皊chool.bbb鏂囦歡錛宻chool.bbb鏄竴涓枃鏈枃浠訛紝鏂囦歡鍚嶄換鍙栵紝鎵撳紑鐪嬬湅浣犱細鏈夋柊鍙戠幇銆?
鍚庤錛氬叾瀹濵YSQL鐨勫鏁版嵁搴撶殑鎿嶄綔涓庡叾瀹冪殑SQL綾繪暟鎹簱澶у悓灝忓紓錛屾偍鏈濂芥壘鏈皢SQL鐨勪功鐪嬬湅銆傛垜鍦ㄨ繖閲屽彧浠嬬粛涓浜涘熀鏈殑錛屽叾瀹炴垜涔熷氨鍙噦榪欎簺浜嗭紝鍛靛懙銆傛渶濂界殑MYSQL鏁欑▼榪樻槸"鏅忓瓙"璇戠殑"MYSQL涓枃鍙傝冩墜鍐?涓嶄粎鍏嶈垂姣忎釜鐩稿叧緗戠珯閮芥湁涓嬭澆錛岃屼笖瀹冩槸鏈鏉冨▉鐨勩傚彲鎯滀笉鏄薄\"PHP4涓枃鎵嬪唽\"閭f牱鏄痗hm鐨勬牸寮忥紝鍦ㄦ煡鎵懼嚱鏁板懡浠ょ殑鏃跺欎笉澶柟渚褲?
innodb
InnoDB 緇?MySQL 鎻愪緵浜嗗叿鏈変簨鍔?commit)銆佸洖婊?rollback)鍜屽穿婧冧慨澶嶈兘鍔?crash recovery capabilities)鐨勪簨鍔″畨鍏?transaction-safe (ACID compliant))鍨嬭〃銆侷nnoDB 鎻愪緵浜嗚閿?locking on row level)錛屾彁渚涗笌 Oracle 綾誨瀷涓鑷寸殑涓嶅姞閿佽鍙?non-locking read in SELECTs)銆傝繖浜涚壒鎬у潎鎻愰珮浜嗗鐢ㄦ埛騫跺彂鎿嶄綔鐨勬ц兘琛ㄧ幇銆傚湪InnoDB琛ㄤ腑涓嶉渶瑕佹墿澶ч攣瀹?lock escalation)錛屽洜涓?InnoDB 鐨勫垪閿佸畾(row level locks)閫傚疁闈炲父灝忕殑絀洪棿銆侷nnoDB 鏄?MySQL 涓婄涓涓彁渚涘閿害鏉?FOREIGN KEY constraints)鐨勮〃寮曟搸銆?/p>
InnoDB 鐨勮璁$洰鏍囨槸澶勭悊澶у閲忔暟鎹簱緋葷粺錛屽畠鐨?CPU 鍒╃敤鐜囨槸鍏跺畠鍩轟簬紓佺洏鐨勫叧緋繪暟鎹簱寮曟搸鎵涓嶈兘姣旂殑銆傚湪鎶鏈笂錛孖nnoDB 鏄竴濂楁斁鍦?MySQL 鍚庡彴鐨勫畬鏁存暟鎹簱緋葷粺錛孖nnoDB 鍦ㄤ富鍐呭瓨涓緩绔嬪叾涓撶敤鐨勭紦鍐叉睜鐢ㄤ簬楂橀熺紦鍐叉暟鎹拰绱㈠紩銆?InnoDB 鎶婃暟鎹拰绱㈠紩瀛樻斁鍦ㄨ〃絀洪棿閲岋紝鍙兘鍖呭惈澶氫釜鏂囦歡錛岃繖涓庡叾瀹冪殑涓嶄竴鏍鳳紝涓句緥鏉ヨ錛屽湪 MyISAM 涓紝琛ㄨ瀛樻斁鍦ㄥ崟鐙殑鏂囦歡涓侷nnoDB 琛ㄧ殑澶у皬鍙彈闄愪簬鎿嶄綔緋葷粺鐨勬枃浠跺ぇ灝忥紝涓鑸負 2 GB銆?/p>
鍦?http://www.innodb.com/ 涓婂彲浠ユ壘鍒?InnoDB 鏈鏂扮殑淇℃伅銆侷nnoDB 鎵嬪唽鐨勬渶鏂扮増鏈繪槸琚斁緗湪閭i噷錛屽茍涓斿湪閭i噷鍙互寰楀埌 InnoDB 鐨勫晢涓氳鍙?order commercial licenses)浠ュ強鏀寔銆?/p>
InnoDB 鐜板湪(2001騫村崄鏈?鍦ㄤ竴浜涘ぇ鐨勯渶楂樻ц兘鐨勬暟鎹簱绔欑偣涓婅浣跨敤銆傝憲鍚嶇殑 Internet 鏂伴椈绔欑偣 Slashdot.org 灝辨槸浣跨敤鐨?InnoDB銆?Mytrix, Inc. 鍦?InnoDB 琛ㄤ笂瀛樺偍浜嗚秴榪?1 TB 鐨勬暟鎹紝鑰屼笖鍙﹀鐨勪竴涓珯鐐瑰湪 InnoDB 琛ㄤ笂澶勭悊鐫騫沖潎姣忕 800 嬈$殑鎻掑叆/鏇存柊鐨勮礋杞姐?
MyISAM
MyISAM 鏄疢ySQL緙虹渷瀛樿串寮曟搸 .
姣忓紶MyISAM 妗岃瀛樻斁鍦ㄧ洏鍦ㄤ笁涓枃浠?銆俧rm 鏂囦歡瀛樻斁琛ㄦ牸瀹氫箟銆?鏁版嵁鏂囦歡鏄疢YD (MYData) 銆?绱㈠紩鏂囦歡鏄疢YI (MYIndex) 寮曚幾銆?/p>
浠ヤ笅鏄竴浜涚粏鑺傚拰鍏蜂綋瀹炵幇鐨勫樊鍒細
1.InnoDB涓嶆敮鎸丗ULLTEXT綾誨瀷鐨勭儲寮曘?br /> 2.InnoDB 涓笉淇濆瓨琛ㄧ殑鍏蜂綋琛屾暟錛屼篃灝辨槸璇達紝鎵цselect count(*) from table鏃訛紝InnoDB瑕佹壂鎻忎竴閬嶆暣涓〃鏉ヨ綆楁湁澶氬皯琛岋紝浣嗘槸MyISAM鍙綆鍗曠殑璇誨嚭淇濆瓨濂界殑琛屾暟鍗沖彲銆傛敞鎰忕殑鏄紝褰揷ount(*)璇彞鍖呭惈 where鏉′歡鏃訛紝涓ょ琛ㄧ殑鎿嶄綔鏄竴鏍風殑銆?br /> 3.瀵逛簬AUTO_INCREMENT綾誨瀷鐨勫瓧孌碉紝InnoDB涓繀欏誨寘鍚彧鏈夎瀛楁鐨勭儲寮曪紝浣嗘槸鍦∕yISAM琛ㄤ腑錛屽彲浠ュ拰鍏朵粬瀛楁涓璧峰緩绔嬭仈鍚堢儲寮曘?br /> 4.DELETE FROM table鏃訛紝InnoDB涓嶄細閲嶆柊寤虹珛琛紝鑰屾槸涓琛屼竴琛岀殑鍒犻櫎銆?br /> 5.LOAD TABLE FROM MASTER鎿嶄綔瀵笽nnoDB鏄笉璧蜂綔鐢ㄧ殑錛岃В鍐蟲柟娉曟槸棣栧厛鎶奍nnoDB琛ㄦ敼鎴怣yISAM琛紝瀵煎叆鏁版嵁鍚庡啀鏀規垚InnoDB琛紝浣嗘槸瀵逛簬浣跨敤鐨勯澶栫殑InnoDB鐗規э紙渚嬪澶栭敭錛夌殑琛ㄤ笉閫傜敤銆?/p>
鍙﹀錛孖nnoDB琛ㄧ殑琛岄攣涔熶笉鏄粷瀵圭殑錛屽鏋滃湪鎵ц涓涓猄QL璇彞鏃禡ySQL涓嶈兘紜畾瑕佹壂鎻忕殑鑼冨洿錛孖nnoDB琛ㄥ悓鏍蜂細閿佸叏琛紝渚嬪update table set num=1 where name like “%aaa%”
浠諱綍涓縐嶈〃閮戒笉鏄竾鑳界殑錛屽彧鐢ㄦ伆褰撶殑閽堝涓氬姟綾誨瀷鏉ラ夋嫨鍚堥傜殑琛ㄧ被鍨嬶紝鎵嶈兘鏈澶х殑鍙戞尌MySQL鐨勬ц兘浼樺娍銆?/p>
1, 涓嬭澆
浠?a >https://glassfish.dev.java.net/downloads/v2-b33.html閫夋嫨涓嬭澆鐗堟湰,榪欓噷涓嬭澆鐨勬槸windows鐗?
Solaris SPARC Platform
glassfish-installer-v2-b33.jar, size 70M
Solaris x86 Platform
glassfish-installer-v2-b33-sunos_x86.jar size 67M
Windows Platform
glassfish-installer-v2-b33-winnt.jar size 63M
Linux Platform
glassfish-installer-v2-b33-linux.jar size 64M
MacOS Platform
glassfish-installer-v2-b33-darwin.jar size 67M
2,璁劇疆Java鍜孉nt鐜鍙橀噺
緋葷粺闇瑕佸畨瑁匤2SE 5.0
3,鎵ц瀹夎
java -Xmx256m -jar glassfish-installer-v2-b33.jar
鐩存帴鐐瑰嚮榪愯glassfish-installer-v2-b33.jar鏃犳硶瀹夎,蹇呴』鍦╟md鍛戒護鐜涓嬫墽琛屼笂榪板懡浠?
鎵ц瀹屾瘯鍚庡湪glassfish-installer-v2-b33.jar鐨勫悓綰х洰褰曚細鍑虹幇涓涓猤lassfish鏂囦歡澶?鎵鏈夋枃浠墮兘宸茬粡瑙e帇鍒拌繖涓洰褰曚簡,璁扮潃,鍙槸瑙e帇榪樻病鏈夊畨瑁呭摢!
涓嬮潰cd glassfish ,鍒囨崲鍒癵lassfish鐩綍涓?榪愯ant鑴氭湰setup.xml,鎵ц鐪熸鐨勫畨瑁呰繃紼?
榪愯 ant -f setup.xml
4,榪愯domain.
澶у閮界敤榪嘔BM Websphere 鍜孊EA Weblogic,domain鐩稿綋浜庢湇鍔″櫒鐨勪竴涓叿浣撳疄渚?鎵鏈夐厤緗弬鏁伴兘鍦ㄨ繖閲岄潰.鍦ㄦ楠?涓凡緇忎負鎴戜滑鐢熸垚浜嗕竴涓猟omain,鍦╣lassfish\domains\domain1鐩綍涓?
鍒囨崲鍒癱d glassfish/bin鐩綍涓?
鎵цasadmin start -domain domain1 ,榪愯domain1.緇撴灉濡備笅
5,嫻忚鎺у埗鍙?
鎵撳紑嫻忚鍣紝杈撳叆 http://192.168.1.3:8080/ 鐪嬪埌濡備笅鍥?
鎺у埗鍙伴欏? http://192.168.1.3:4848/
user name: admin
password: adminadmin
鎺у埗鍙伴欏靛涓?
緋葷粺鏋舵瀯璁捐甯堣鑹叉槸鎶鏈笂鐨勯瀵煎拰緋葷粺寮鍙戝垱鏂拌繙鏅殑鏉ユ簮銆?br /> 闅忕潃鐜板湪鎶鏈殑榪涙錛岀壒鍒笀閾惰錛岀數淇¢兘鍦ㄦ悶鐪侀泦涓紝閭d箞闆嗕腑鎰忓懗榪欎粈涔堬紝鏁版嵁閲忓澶э紝騫跺彂澧炲ぇ錛岀壒鍒槸鐜板湪鍦ㄩ摱琛岋紝鐢典俊欏圭洰涓負浜嗚揪鍒板鉤鍙頒笓涓氬寲錛岄兘鏄湪鍚慡OA闈犳嫝銆傝繖鎰忓懗榪欎粈涔堬紵鎺ュ彛澧炲浜嗭紝鑰屼笖閮芥槸鍩轟簬鎬葷嚎錛岄偅涔堝湪榪欑鎯呭喌涓嬶紝杞歡鐨勭鐞嗗拰瑙勫垝璁捐鍜屽師鏉ョ殑閮戒笉涓鏍蜂簡錛屽氨闇瑕佹洿楂樼駭鐨勬灦鏋勫笀銆?br /> 榪欎竴騫存垜涓鐩村湪鍋氱數淇$殑欏圭洰錛屼互鍓嶄竴涓?7欏圭洰錛屽寘緗椾竾璞★紝浠涔堥兘鏈夈傛墍浠ュ埌浜嗕粖騫翠腑鍥界數淇℃彁鍑哄鉤鍙頒笓涓氬寲錛岄兘鍦ㄥ悜鐪侀泦涓潬鎷紝閭d箞浠ュ墠鐨勪竴涓」鐩氨鎼炲畾浜嗭紝鐜板湪鍙樻垚浜?0鍑犱釜鍘傚晢閮藉湪錛岀敱浜嶴OA榪樹笉鎴愮啛錛屽熀浜庢葷嚎錛屾帴鍙i潪甯鎬箣澶氾紝鏁版嵁錛屾ā鍨嬬瓑閮介渶瑕佷竴涓妧鏈笓瀹剁粍錛屼篃灝辨槸鎵璋撶殑鏋舵瀯甯堝幓鎹竴縐嶆濊礬璁捐鏁翠綋鐨勬灦鏋勩傜壒鍒槸SOA鏈夊緢澶氭病鏈変竴涓緢鎴愮啛鐨勬柟妗堬紝鎵浠ユ灦鏋勬槸鍦ㄨ繖涓椂鍊欏氨闇瑕佸叿鏈夐忚鏈潵鐨勮兘鍔涳紝浠ュ悗鍘嬪姏澧炲ぇ錛岀郴緇熷彲浠ユ壙鍙楀悧錛熷緢澶氶兘闇瑕侀噸鏂版濊冦傞渶瑕佷竴涓瑙勭殑嫻佺▼灝辨樉鐨勭壒鍒噸瑕侊紒錛佷笅闈㈣璇寸悊鎯充腑鐨勬灦鏋勫笀銆傚簲璇ュ悜榪欐柟闈㈤潬鎷紒
緋葷粺鏋舵瀯璁捐甯堝緩绔嬪茍鏀硅繘緋葷粺閫昏緫緇撴瀯鍜岀墿鐞嗙粨鏋勫茍鍙備笌浼樺寲榪欎簺緇撴瀯錛屼紭鍖栫粨鏋勮鏍規嵁涓昏鐨勭郴緇熷厓绱犲強鍏舵帴鍙o紝騫惰鏉冭 鍚勭绔炰簤鍥犵礌鍜岀害鏉燂紙濡傦紝鎬ц兘銆佷環鏍煎拰鐜褰卞搷錛夛紝璇勪及鐢熸垚鎵闇琛屼負鐨勫彲鑳芥柟妗堛傜郴緇熸灦鏋勮璁″笀鐨勮閲庤法瓚婃暣涓郴緇熶互鍙婂唴閮ㄥ拰澶栭儴鍙兘褰卞搷鍒板紑鍙戠殑鎵鏈夊洜绱犮傝冭檻鍒拌緇存寔璇ュ箍闃旂殑瑙嗛噹錛岀郴緇熷垎鏋愬憳寰堝皯娣卞叆鍦板弬涓庣郴緇熺殑璇︾粏宸ョ▼錛岃屽懼悜浜庢妸瀹冧滑鐣欑粰鍚勪釜宸ョ▼涓撲笟鐨勫叾浠栦笓涓氫漢鍛樸?
緋葷粺鏋舵瀯璁捐甯堣鑹茶姹傜簿閫氫績鎴愮郴緇熷伐紼嬬殑澶氫釜瑙勭▼錛屽茍鍦ㄥ垎鏋愬拰瑙e喅鏂規鍚堟垚鏂歸潰鎶鏈ù鐔熴傜郴緇熸灦鏋勮璁″笀榪樺繀欏誨杽浜庡惎鍙戝紡鍜屽綊綰沖紡鎺ㄧ悊錛堝ぇ閮ㄥ垎緋葷粺浣撶郴緇撴瀯鎵渚濊禆鐨勶級錛屼互鍙婂鍏朵粬宸ョ▼瑙勭▼鐨勬紨緇庢帹鐞嗐傜郴緇熸灦鏋勮璁″笀涓嶅彧鏄湴鑰冭檻瑙e喅鏂規鐨勬妧鏈紝榪樿冭檻璁稿鍏朵粬闂錛屾瘮濡傜郴緇熸搷浣溿佹ц兘銆佺粡嫻庡彲琛屾с佸彲緇存姢鎬у拰鍚庡嫟鏀寔錛屼互鍙婃湁鍏寵繖浜涢棶棰樼殑鏀挎不銆佹妧鏈佺ぞ浼氥佽儲鍔″拰鐜鍥犵礌錛堝強鍏朵粬鍥犵礌錛夈?#160;
緋葷粺鏋舵瀯璁捐甯堝繀欏繪垚鐔熸湁緇忛獙錛屼嬌鍏惰兘澶熷畬鎴愬璞″垎鏋愬拰璐告槗鐮旂┒浠ヤ粠澶氫釜瑙e喅鏂規涓夋嫨鏈浼樿В鍐蟲柟妗堬紝鑳藉鍦ㄤ俊鎭笉瀹屾暣鎴栦笉鏄庣‘鏃朵綔鍑哄ソ鐨勫垽鏂紝騫惰兘澶熻璇嗗埌“鏈濂?#8221;閫氬父鏄敱鏀挎不銆佺粡嫻庝互鍙婂伐紼嬭冭檻鏀厤鐨勩?
鍦ㄥ鐞嗙敱浜哄憳銆佺‖浠跺拰杞歡緇勫悎鐨勭郴緇熸椂錛岀郴緇熸灦鏋勮璁″笀闇瑕佸浠諱綍瑙e喅鏂規涓敱浜哄憳鍜岀‖浠剁粍浠舵柦鍔犵殑鐗╃悊闄愬埗鍜岀害鏉熸湁寰堝己鐨勫垽鏂姏銆傞櫎浜嗗湪緋葷粺宸ョ▼鏂歸潰鐨勭粡楠岋紙浠ュ強瀵硅仈鍚堣紼嬫柟闈㈢殑鐭ヨ瘑錛屽鎿嶄綔璋冩煡鍜屽伐紼嬬粡嫻庯級涔嬪錛岀郴緇熸灦鏋勮璁″笀鍦ㄨ蔣浠跺伐紼嬶紙鐢變簬瀹冨湪鐜頒唬緋葷粺涓櫘閬嶅瓨鍦級鏂歸潰涔熻鏈夊潥瀹炵殑鍩虹浠ュ強浠ヤ笅绱犺川錛?
緋葷粺鏋舵瀯璁捐甯堣鑹插叿鏈夌郴緇熻璁′漢鍛樼殑鎶鑳斤紝浣嗗墠鑰呯殑鎶鑳介噸鐐規槸鎴樼暐鎬х殑錛屽茍涓嶈緇嗐?
緋葷粺鏋舵瀯璁捐甯堜笌杞歡璁捐浜哄憳鐨勫叧緋?/strong>
榪欎袱涓鑹叉湁寰堝鐩鎬技鐐癸紱瀹為檯涓婂浜庨偅浜涘洜瑙勬ā鎴栧鏉傜▼搴﹁岃鐪嬩綔“緋葷粺”寮鍙戙佷絾浠嶆槸澶у瀷鐨勬垨瀹屾暣鐨勮蔣浠墮」鐩潵璇達紝榪欎袱涓鑹叉槸鍚堜負涓浣撶殑銆?鐒惰岋紝閫氬父鎯呭喌涓嬶紝緋葷粺鏋舵瀯璁捐甯堟瘮杞歡璁捐浜哄憳鐨勬敮鎸佽寖鍥村ぇ銆?緋葷粺鏋舵瀯璁捐甯堝繀欏誨浠樼墿鐞嗕笂寮哄姞鐨勭害鏉燂紝榪欎簺綰︽潫鍦ㄨ蔣浠舵洿鏄撻傚簲鐨勯鍩熶腑涓嶅瓨鍦ㄣ備絾鏄紝姝f槸杞歡鐨勭伒媧繪т嬌寰椾綋緋葷粨鏋勬紨榪涘叿鏈夊彲鑳界殑閬撹礬錛岃繖鍦ㄤ互鍓嶆槸鏃犳硶璁炬兂鐨勩傚洜姝わ紝杞歡璁捐浜哄憳鍜岀郴緇熸灦鏋勮璁″笀涔嬮棿騫朵笉鏄弗鏍肩殑浠庡睘鍏崇郴錛氫粠杞歡浣撶郴緇撴瀯涓婅冭檻鐨勫弽棣堝彲鑳藉緋葷粺鐨勪綋緋葷粨鏋勬湁娣辮繙鐨勫獎鍝嶏紱鍚﹁榪欎竴鐐瑰皢瑕佹壙鎷呮綔鍦ㄧ殑嬈℃渶浣?i>緋葷粺浣撶郴緇撴瀯鐨勯闄╋紝榪欎簺浣撶郴緇撴瀯鍩轟簬杞歡浣撶郴緇撴瀯鍙粠闇姹傜殑鍒嗛厤錛堢敱緋葷粺鏋舵瀯璁捐甯堝畬鎴愶級媧劇敓鍒拌綆楀鉤鍙拌繖涓綆鍗曠殑姒傚康銆備絾鏄互涓嬭娉曚篃鏄紜殑錛氬湪緋葷粺鏋舵瀯璁捐甯堝拰杞歡璁捐浜哄憳鐨勫洟闃熶腑錛岀郴緇熸灦鏋勮璁″笀瑙掕壊鐨勮亴璐h姹傜郴緇熸灦鏋勮璁″笀鏄?i>鍥㈤槦涓殑浣間郊鑰?/i>錛屽洜涓虹郴緇熸槸鏈緇堜駭鍝併?
鏈枃鐢ㄥ埌鍚嶈瘝璇存槑:
鍐呴儴綾伙細Inner Class
宓屽綾伙細Static Nested Class 錛堜笌鏍囬涓婄殑宓屽鐨勭被涓嶅悓錛屾澶勬槸涓撴湁鍚嶈瘝錛?/SPAN>
闈欐佸唴閮ㄧ被錛氬悓宓屽綾諱竴涓剰鎬濓紝涓鐗╀袱涓悕瀛楄屽凡銆?/SPAN>
鍦ㄤ笅闈紝鎴戜滑鐪嬪埌瀵逛簬B綾繪潵璇翠粬鐨勫祵濂楀眰嬈℃槸錛?/SPAN>AcessMethod-
銆?/SPAN>
A-
銆?/SPAN>
B
錛?/SPAN>
閭d箞璁塊棶鏂規硶濡備笅錛?/SPAN>
class
B {
void h() {
System.out.println("h()");
g();
f();
}
AcessMethod
鍜?/SPAN>
A
鏉ヨ瀵癸饑錛岄兘鏄忔槑鐨勶紝鐩存帴璋冪敤銆?/SPAN>
宓屽綾誨疄渚嬪寲鐨勯『搴忥細鏈夊鍒伴噷錛?/SPAN>
AcessMethod-
銆?/SPAN>
A-
銆?/SPAN>
B
璋冪敤浠g爜濡備笅錛?/SPAN>
AcessMethod am =
new
AcessMethod();
AcessMethod.A a = am.new A();
AcessMethod.A.B b = a.new B();
b.h();
榪欓噷寰堟湁鎰忔濈殑涓鐐癸紝
鈥?new鈥?/SPAN>
璇硶浜х敓浜嗘紜殑浣滅敤鍩熴?/SPAN>
鐤戦棶錛?/SPAN>涓嬮潰鎴戜滑鏉ョ湅涓涓嬪湪
B.h()
涓庢牱璋冪敤
A1.g()
鏂規硶錛?/SPAN>
涓嬮潰鎴戜滑鏉ョ湅鏄惁鍙互鍦?/SPAN>
B
涓皟鐢?/SPAN>
A1.g()
鏂規硶錛屽湪
B.h()
鏂規硶涓師鍒欎笂鍙互榪欐牱璋冪敤
A1.g()
浣嗘槸
A1
娌℃湁瀹炰緥鍖栵紝鎵浠ヨ繖鏍鋒槸閿欒鐨勶紝涔熷氨鏄湪
B
涓棤娉曡皟鐢?/SPAN>
A1
涓殑闈為潤鎬佹柟娉曚簡銆?/SPAN>
鍋囪錛?/SPAN>濡傛灉
A1.g()
涓?/SPAN>
static
綾誨瀷錛岄偅涔堝湪
B
涓彲浠ヨ繖鏍瘋皟鐢?/SPAN>
A1
縐嶇殑鏂規硶錛?/SPAN>
A1.this.g()
錛?/SPAN>
浣嗘槸榪欐槸涓嶅彲鑳界殑錛屽洜涓哄湪
A1.g()
涓嶅彲鑳藉畾涔変負
static
綾誨瀷錛岃緇嗙湅涓嬮潰鐨勯棶棰?/SPAN>
1
錛?/SPAN>
闂1:鍦ㄤ粈涔堟儏鍐典笅鍙互瀹氫箟static 鏂規硶錛夛紝榪欐槸涓涓己鐐瑰惂錛屼絾鏄彲浠ヤ嬌鐢ㄥ祵濂楃被鏉ヨВ鍐充簡銆?/SPAN>
/**
*
浠庡灞傚祵濂楃被涓闂閮ㄧ被鐨勬垚鍛?/SPAN>
.
鈥?/SPAN>
.new
鈥滆娉曚駭鐢熶簡姝g‘鐨勪綔鐢ㄥ煙
*/
public class AcessMethod {
private void f() {
System.out.println("f()");
}
class A1 {
private void g() {
System.out.println("A
}
}
class A {
private void g() {
System.out.println("g()");
}
class B {
void h() {
System.out.println("h()");
g();
f();
}
}
}
public static void main(String[] args) {
AcessMethod am = new AcessMethod();
AcessMethod.A a = am.new A();
AcessMethod.A.B b = a.new B();
b.h();
}
}
榪愯緇撴灉錛?/SPAN>
h()
g()
f()
闂1:鍦ㄤ粈涔堟儏鍐典笅鍙互瀹氫箟static 鏂規硶錛?/SPAN>
鍙湁鍦ㄩ《灞傜被涓畾涔夛紝鎴栬呭湪闈欐佸唴閮ㄧ被涓畾涔夛紝鐪嬩笅闈㈢殑渚嬪瓙
public class
Test {
static void t(){}
class T2{
//!
閿欒錛?/SPAN>
The method a cannot be declared static;
//static methods can only be declared in a static or top level type
//static void a(){}
}
static
class
T3{
static void a(){}
}
}
CSDN緗戝潃錛?/FONT>http://blog.csdn.net/fasttalk
鍒氫粠CSDN鎼埌榪欓噷錛屽厛鍙戣〃涓綃囷紒
鍦?SPAN lang=EN-US>web搴旂敤涓紝瀵歸〉闈㈢殑璁塊棶鎺у埗閫氬父閫氳繃紼嬪簭鏉ユ帶鍒訛紝嫻佺▼涓猴細
鐧誨綍 -> 璁劇疆session -> 璁塊棶鍙楅檺欏甸潰鏃舵鏌?SPAN lang=EN-US>session鏄惁瀛樺湪錛屽鏋滀笉瀛樺湪錛岀姝㈣闂?SPAN lang=EN-US>
瀵逛簬杈冨皬鍨嬬殑web搴旂敤錛屽彲浠ラ氳繃tomcat鍐呯疆鐨勮闂帶鍒舵満鍒舵潵瀹炵幇鏉冮檺鎺у埗銆傞噰鐢ㄨ繖縐嶆満鍒剁殑濂藉鏄紝紼嬪簭涓棤闇榪涜鏉冮檺鎺у埗錛屽畬鍏ㄩ氳繃瀵?SPAN lang=EN-US>tomcat鐨勯厤緗嵆鍙畬鎴愯闂帶鍒躲?SPAN lang=EN-US>
涓轟簡鍦?SPAN lang=EN-US>tomcat欏甸潰璁劇疆璁塊棶鏉冮檺鎺у埗錛屽湪欏圭洰鐨?SPAN lang=EN-US>WEB-INFO/web.xml鏂囦歡涓紝榪涜濡備笅璁劇疆錛?SPAN lang=EN-US>
鍏朵腑錛?SPAN lang=EN-US><url-pattern>涓寚瀹氬彈闄愮殑url錛屽彲浠ヤ嬌鐢ㄩ氶厤絎?SPAN lang=EN-US>*錛岄氬父瀵規暣涓洰褰曡繘琛岃闂潈闄愭帶鍒躲?/FONT>
<auth-constraint>涓寚瀹氬摢浜涜鑹插彲浠ヨ闂?SPAN lang=EN-US><url-pattern>鎸囧畾鐨?SPAN lang=EN-US>url錛屽湪<role-name>涓彲浠ヨ緗竴涓垨澶氫釜瑙掕壊鍚嶃?SPAN lang=EN-US>
浣跨敤鐨勮鑹插悕鏉ヨ嚜tomcat鐨勯厤緗枃浠?SPAN lang=EN-US>${CATALINA_HOME}/conf/tomcat-users.xml銆?SPAN lang=EN-US>
<login-config>涓緗櫥褰曟柟寮忥紝<auth-method>鐨勫彇鍊間負BASIC鎴?SPAN lang=EN-US>FORM銆傚鏋滀負BASIC錛屾祻瑙堝櫒鍦ㄩ渶瑕佺櫥褰曟椂寮瑰嚭涓涓櫥褰曠獥鍙c傚鏋滀負FORM鏂瑰紡錛岄渶瑕佹寚瀹氱櫥褰曢〉闈㈠拰鐧誨綍澶辮觸鏃剁殑鎻愮ず淇℃伅鏄劇ず欏甸潰銆?SPAN lang=EN-US>
浣跨敤FORM鏂瑰紡鐨勯厤緗牱渚嬪涓嬶細
鍏朵腑鐨?SPAN lang=EN-US><form-login-page>鎸囧畾鐧誨綍欏甸潰url錛?SPAN lang=EN-US><form-error-page>鎸囧畾鐧誨綍澶辮觸鏃剁殑鎻愮ず欏甸潰url銆?/FONT>
鐧誨綍欏甸潰涓紝form鐨?SPAN lang=EN-US>action錛屼互鍙婂叾涓殑鐢ㄦ埛鍚嶅拰瀵嗙爜涓や釜鍙傛暟鐨勫悕縐幫紝閮藉簲鍙栧浐瀹氱殑鍊箋傜櫥褰曠殑鍚庡彴澶勭悊紼嬪簭涓?SPAN lang=EN-US>j_security_check錛涚敤鎴峰悕鍜屽瘑鐮佺殑鍙傛暟鍚嶇О鍒嗗埆涓猴細j_username鍜?SPAN lang=EN-US>j_password銆?/FONT>
濡備笅鏄櫥褰曢〉闈紙濡傦細login.jsp錛夌殑涓孌電ず渚嬩唬鐮侊細