锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
FreeMarker琚璁$敤鏉ョ敓鎴怘TML Web欏甸潰錛岀壒鍒槸鍩轟簬MVC妯″紡鐨勫簲鐢ㄧ▼搴?
铏界劧FreeMarker鍏鋒湁涓浜涚紪紼嬬殑鑳藉姏錛屼絾閫氬父鐢盝ava紼嬪簭鍑嗗瑕佹樉紺虹殑鏁版嵁錛岀敱FreeMarker鐢熸垚欏甸潰錛岄氳繃妯℃澘鏄劇ず鍑嗗鐨勬暟鎹?
FreeMarker涓嶆槸涓涓猈eb搴旂敤妗嗘灦錛岃岄傚悎浣滀負Web搴旂敤妗嗘灦涓涓粍浠?
FreeMarker涓庡鍣ㄦ棤鍏籌紝鍥犱負瀹冨茍涓嶇煡閬揌TTP鎴朣ervlet錛汧reeMarker鍚屾牱鍙互搴旂敤浜庨潪Web搴旂敤紼嬪簭鐜
FreeMarker鏇撮傚悎浣滀負Model2妗嗘灦錛堝Struts錛夌殑瑙嗗浘緇勪歡錛屼綘涔熷彲浠ュ湪妯℃澘涓嬌鐢↗SP鏍囪搴?
FreeMarker鏄厤璐圭殑
1銆侀氱敤鐩爣
鑳藉鐢熸垚鍚勭鏂囨湰錛欻TML銆乆ML銆丷TF銆丣ava婧愪唬鐮佺瓑絳?
鏄撲簬宓屽叆鍒頒綘鐨勪駭鍝佷腑錛氳交閲忕駭錛涗笉闇瑕丼ervlet鐜
鎻掍歡寮忔ā鏉胯澆鍏ュ櫒錛氬彲浠ヤ粠浠諱綍婧愯澆鍏ユā鏉匡紝濡傛湰鍦版枃浠躲佹暟鎹簱絳夌瓑
浣犲彲浠ユ寜浣犳墍闇鐢熸垚鏂囨湰錛氫繚瀛樺埌鏈湴鏂囦歡錛涗綔涓篍mail鍙戦侊紱浠嶹eb搴旂敤紼嬪簭鍙戦佸畠榪斿洖緇橶eb嫻忚鍣?
2銆佸己澶х殑妯℃澘璇█
鎵鏈夊父鐢ㄧ殑鎸囦護錛歩nclude銆乮f/elseif/else銆佸驚鐜粨鏋?
鍦ㄦā鏉夸腑鍒涘緩鍜屾敼鍙樺彉閲?
鍑犱箮鍦ㄤ換浣曞湴鏂歸兘鍙互浣跨敤澶嶆潅琛ㄨ揪寮忔潵鎸囧畾鍊?
鍛藉悕鐨勫畯錛屽彲浠ュ叿鏈変綅緗弬鏁板拰宓屽鍐呭
鍚嶅瓧絀洪棿鏈夊姪浜庡緩绔嬪拰緇存姢鍙噸鐢ㄧ殑瀹忓簱錛屾垨鑰呭皢涓涓ぇ宸ョ▼鍒嗘垚妯″潡錛岃屼笉蹇呮媴蹇冨悕瀛楀啿紿?
杈撳嚭杞崲鍧楋細鍦ㄥ祵濂楁ā鏉跨墖孌電敓鎴愯緭鍑烘椂錛岃漿鎹TML杞箟銆佸帇緙┿佽娉曢珮浜瓑絳夛紱浣犲彲浠ュ畾涔夎嚜宸辯殑杞崲
3銆侀氱敤鏁版嵁妯″瀷
FreeMarker涓嶆槸鐩存帴鍙嶅皠鍒癑ava瀵硅薄錛孞ava瀵硅薄閫氳繃鎻掍歡寮忓璞″皝瑁咃紝浠ュ彉閲忔柟寮忓湪妯℃澘涓樉紺?
浣犲彲浠ヤ嬌鐢ㄦ娊璞★紙鎺ュ彛錛夋柟寮忚〃紺哄璞★紙JavaBean銆乆ML鏂囨。銆丼QL鏌ヨ緇撴灉闆嗙瓑絳夛級錛屽憡璇夋ā鏉垮紑鍙戣呬嬌鐢ㄦ柟娉曪紝浣垮叾涓嶅彈鎶鏈粏鑺傜殑鎵撴壈
4銆佷負Web鍑嗗
鍦ㄦā鏉胯璦涓唴寤哄鐞嗗吀鍨媁eb鐩稿叧浠誨姟錛堝HTML杞箟錛夌殑緇撴瀯
鑳藉闆嗘垚鍒癕odel2 Web搴旂敤妗嗘灦涓綔涓篔SP鐨勬浛浠?
鏀寔JSP鏍囪搴?
涓篗VC妯″紡璁捐錛氬垎紱誨彲瑙嗗寲璁捐鍜屽簲鐢ㄧ▼搴忛昏緫錛涘垎紱婚〉闈㈣璁″憳鍜岀▼搴忓憳
5銆佹櫤鑳界殑鍥介檯鍖栧拰鏈湴鍖?
瀛楃闆嗘櫤鑳藉寲錛堝唴閮ㄤ嬌鐢║NICODE錛?
鏁板瓧鏍煎紡鏈湴鍖栨晱鎰?
鏃ユ湡鍜屾椂闂存牸寮忔湰鍦板寲鏁忔劅
闈濽S瀛楃闆嗗彲浠ョ敤浣滄爣璇嗭紙濡傚彉閲忓悕錛?
澶氱涓嶅悓璇█鐨勭浉鍚屾ā鏉?
6銆佸己澶х殑XML澶勭悊鑳藉姏
<#recurse> 鍜?lt;#visit>鎸囦護錛?.3鐗堟湰錛夌敤浜庨掑綊閬嶅巻XML鏍?
鍦ㄦā鏉夸腑娓呮鍜岀洿瑙夌殑璁塊棶XML瀵硅薄妯″瀷
struts.configuration
聽聽聽聽聽聽聽聽聽 The org.apache.struts2.config.Configuration implementation class
聽聽聽聽聽聽聽聽聽聽聽 org.apache.struts2.config.Configuration鎺ュ彛鍚?/p>
struts.configuration.files
聽聽聽聽聽聽聽聽聽 A list of configuration files automatically loaded by Struts
聽聽聽聽聽聽聽聽聽聽 struts鑷姩鍔犺澆鐨勪竴涓厤緗枃浠跺垪琛?/p>
struts.configuration.xml.reload
聽聽聽聽聽聽聽聽聽 Whether to reload the XML configuration or not
聽聽聽聽聽聽聽聽聽聽 鏄惁鍔犺澆xml閰嶇疆(true,false)
struts.continuations.package
聽聽聽聽聽聽聽聽聽聽 The package containing actions that use Rife continuations
聽聽聽聽聽聽聽聽聽聽 鍚湁actions鐨勫畬鏁磋繛緇殑package鍚嶇О
struts.custom.i18n.resources
聽聽聽聽聽聽聽聽聽 Location of additional localization properties files to load
聽聽聽聽聽聽聽聽聽聽 鍔犺澆闄勫姞鐨勫浗闄呭寲灞炴ф枃浠訛紙涓嶅寘鍚?properties鍚庣紑錛?/p>
struts.custom.properties
聽聽聽聽聽聽聽聽聽 Location of additional configuration properties files to load
聽聽聽聽聽聽聽聽聽聽 鍔犺澆闄勫姞鐨勯厤緗枃浠剁殑浣嶇疆
struts.devMode
聽聽聽聽聽聽聽聽聽 Whether Struts is in development mode or not
聽聽聽聽聽聽聽聽聽聽 鏄惁涓簊truts寮鍙戞ā寮?/p>
struts.dispatcher.parametersWorkaround
聽聽聽聽聽聽聽聽聽 Whether to use a Servlet request parameter workaround necessary for some versions of WebLogic
聽聽聽聽聽聽聽聽聽聽聽 錛堟煇浜涚増鏈殑weblogic涓撶敤錛夋槸鍚︿嬌鐢ㄤ竴涓猻ervlet璇鋒眰鍙傛暟宸ヤ綔鍖猴紙PARAMETERSWORKAROUND錛?/p>
struts.enable.DynamicMethodInvocation
聽聽聽聽聽聽聽聽聽 Allows one to disable dynamic method invocation from the URL
聽聽聽聽聽聽聽聽聽聽聽 鍏佽鍔ㄦ佹柟娉曡皟鐢?/p>
struts.freemarker.manager.classname
聽聽聽聽聽聽聽聽聽 The org.apache.struts2.views.freemarker.FreemarkerManager implementation class
聽聽聽聽聽聽聽聽聽聽 org.apache.struts2.views.freemarker.FreemarkerManager鎺ュ彛鍚?/p>
struts.i18n.encoding
聽聽聽聽聽聽聽聽聽 The encoding to use for localization messages
聽聽聽聽聽聽聽聽聽聽 鍥介檯鍖栦俊鎭唴鐮?/p>
struts.i18n.reload
聽聽聽聽聽聽聽聽聽 Whether the localization messages should automatically be reloaded
聽聽聽聽聽聽聽聽聽聽 鏄惁鍥介檯鍖栦俊鎭嚜鍔ㄥ姞杞?
struts.locale
聽聽聽聽聽聽聽聽聽 The default locale for the Struts application
聽聽聽聽聽聽聽聽聽聽 榛樿鐨勫浗闄呭寲鍦板尯淇℃伅
struts.mapper.class
聽聽聽聽聽聽聽聽聽 The org.apache.struts2.dispatcher.mapper.ActionMapper implementation class
聽聽聽聽聽聽聽聽聽聽聽 org.apache.struts2.dispatcher.mapper.ActionMapper鎺ュ彛
struts.multipart.maxSize
聽聽聽聽聽聽聽聽聽 The maximize size of a multipart request (file upload)
聽聽聽聽聽聽聽聽聽聽 multipart璇鋒眰淇℃伅鐨勬渶澶у昂瀵革紙鏂囦歡涓婁紶鐢級
struts.multipart.parser
聽聽聽聽聽聽聽聽聽 The org.apache.struts2.dispatcher.multipart.MultiPartRequest parser implementation for a multipart request (file upload)
聽聽聽聽聽聽聽聽聽 涓撲負multipart璇鋒眰淇℃伅浣跨敤鐨刼rg.apache.struts2.dispatcher.multipart.MultiPartRequest瑙f瀽鍣ㄦ帴鍙o紙鏂囦歡涓婁紶鐢級
struts.multipart.saveDir
聽聽聽聽聽聽聽聽聽 The directory to use for storing uploaded files
聽聽聽聽聽聽聽聽聽聽 璁劇疆瀛樺偍涓婁紶鏂囦歡鐨勭洰褰曞す
struts.objectFactory
聽聽聽聽聽聽聽聽聽 The com.opensymphony.xwork2.ObjectFactory implementation class
聽聽聽聽聽聽聽聽聽聽 com.opensymphony.xwork2.ObjectFactory鎺ュ彛錛坰pring錛?/p>
struts.objectFactory.spring.autoWire
聽聽聽聽聽聽聽聽聽 Whether Spring should autoWire or not
聽聽聽聽聽聽聽聽聽聽 鏄惁鑷姩緇戝畾Spring
struts.objectFactory.spring.useClassCache
聽聽聽聽聽聽聽聽聽 Whether Spring should use its class cache or not
聽聽聽聽聽聽聽聽聽聽 鏄惁spring搴旇浣跨敤鑷韓鐨刢ache
struts.objectTypeDeterminer
聽聽聽聽聽聽聽聽聽 The com.opensymphony.xwork2.util.ObjectTypeDeterminer implementation class
聽聽聽聽聽聽聽聽聽聽聽 com.opensymphony.xwork2.util.ObjectTypeDeterminer鎺ュ彛
struts.serve.static.browserCache
聽聽聽聽聽聽聽聽聽 If static content served by the Struts filter should set browser caching header properties or not
聽聽聽聽聽聽聽聽聽聽 鏄惁struts榪囨護鍣ㄤ腑鎻愪緵鐨勯潤鎬佸唴瀹瑰簲璇ヨ嫻忚鍣ㄧ紦瀛樺湪澶撮儴灞炴т腑
struts.serve.static
聽聽聽聽聽聽聽聽聽 Whether the Struts filter should serve static content or not
聽聽聽聽聽聽聽聽聽聽 鏄惁struts榪囨護鍣ㄥ簲璇ユ彁渚涢潤鎬佸唴瀹?/p>
struts.tag.altSyntax
聽聽聽聽聽聽聽聽聽 Whether to use the alterative syntax for the tags or not
聽聽聽聽聽聽聽聽聽聽 鏄惁鍙互鐢ㄦ浛浠g殑璇硶鏇夸唬tags
struts.ui.templateDir
聽聽聽聽聽聽聽聽聽 The directory containing UI templates
聽聽聽聽聽聽聽聽聽聽 UI templates鐨勭洰褰曞す
struts.ui.theme
聽聽聽聽聽聽聽聽聽 The default UI template theme
聽聽聽聽聽聽聽聽聽聽 榛樿鐨刄I template涓婚
struts.url.http.port
聽聽聽聽聽聽聽聽聽 The HTTP port used by Struts URLs
聽聽聽聽聽聽聽聽聽聽 璁劇疆http绔彛
struts.url.https.port
聽聽聽聽聽聽聽聽聽 The HTTPS port used by Struts URLs
聽聽聽聽聽聽聽聽聽聽 璁劇疆https绔彛
struts.url.includeParams
聽聽聽聽聽聽聽聽聽 The default includeParams method to generate Struts URLs
聽聽聽聽聽聽聽聽聽 鍦╱rl涓駭鐢?榛樿鐨刬ncludeParams
struts.velocity.configfile
聽聽聽聽聽聽聽聽聽 The Velocity configuration file path
聽聽聽聽聽聽聽聽聽聽 velocity閰嶇疆鏂囦歡璺緞
struts.velocity.contexts
聽聽聽聽聽聽聽聽聽 List of Velocity context names
聽聽聽聽聽聽聽聽聽聽 velocity鐨刢ontext鍒楄〃
struts.velocity.manager.classname
聽聽聽聽聽聽聽聽聽 org.apache.struts2.views.velocity.VelocityManager implementation class
聽聽聽聽聽聽聽聽聽聽 org.apache.struts2.views.velocity.VelocityManager鎺ュ彛鍚?/p>
struts.velocity.toolboxlocation
聽聽聽聽聽聽聽聽聽 The location of the Velocity toolbox
聽聽聽聽聽聽聽聽聽聽 velocity宸ュ叿鐩掔殑浣嶇疆
struts.xslt.nocache
聽聽聽聽聽聽聽聽聽 Whether or not XSLT templates should not be cached
聽聽聽聽聽聽聽聽聽聽 鏄惁XSLT妯$増搴旇琚紦瀛?
<beans>
聽聽寤虹珛涓涓暟鎹簮
聽<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
聽 <property name="driverClassName">
聽聽 <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
聽 </property>
聽 <property name="url">
聽聽 <value>jdbc:microsoft:sqlserver://192.168.0.6:1433</value>
聽 </property>
聽 <property name="username">
聽聽 <value>sa</value>
聽 </property>
聽 <property name="password">
聽聽 <value></value>
聽 </property>
聽</bean>
聽 寤虹珛浼氳瘽宸ュ巶綾伙紝榪欎釜綾諱嬌鐢╯pring涓撻棬涓篽ibernate3鎻愪緵LocalSessionFactoryBean
聽
聽<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
聽 <property name="dataSource">
聽聽 <ref local="dataSource" />聽 --寮曠敤涓婇潰鐨勬暟鎹簮
聽 </property>
聽 <property name="mappingResources">聽 --璋冨叆鏄犲皠鏂囨。
聽聽 <list>
聽聽聽 <value>com/yourcompany/User.hbm.xml</value>聽
聽聽 </list>
聽 </property>
聽 <property name="hibernateProperties">聽 --鐩稿叧璁劇疆
聽聽 <props>
聽聽聽 <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
聽聽聽 <prop key="hibernate.show_sql">true</prop>
聽聽 </props>
聽 </property>
聽</bean>
聽聽
聽聽聽 瀹氫箟浜嬪姟綆$悊鍣紝榪欎釜涔熸槸 spring涓撻棬涓篽ibernate3鎻愪緵鐨凥ibernateTransactionManager 浜嬪姟綆$悊鍣?br />聽<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
聽 <property name="sessionFactory">
聽聽 <ref local="sessionFactory" />聽聽 --寮曠敤浼氳瘽宸ュ巶綾?br />聽 </property>
聽</bean>
聽瀹氫箟瀹炰綋DAO
聽<bean id="userDAO" class="com.yourcompany.UserDAOImp">
聽 <property name="sessionFactory">
聽聽 <ref local="sessionFactory" />--寮曠敤浼氳瘽宸ュ巶綾?/font>
聽 </property>
聽</bean>
聽
聽涓轟笂闈㈢殑瀹炰綋DAO瀹氫箟涓涓唬鐞?proxy)綾伙紝榪欐槸spring涓鴻В鍐充簨鍔¢棶棰樿屾彁渚汿ransactionProxyFactoryBean鍔ㄦ佷簨鍔′唬鐞嗙被
聽<bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
聽 <property name="transactionManager">
聽聽 <ref bean="transactionManager" />聽 --鎸囧畾浜嬪姟綆$悊鍣?闇瑕佹槸spring涓撶敤鐨?
聽 </property>
聽 <property name="target"> --鐩爣瀹炰綋DAO綾?/font>
聽聽 <ref local="userDAO" />
聽 </property>
聽 <property name="transactionAttributes"> --瀹氫箟瑕佷嬌鐢ㄤ簨鍔$殑鏂規硶
聽聽 <props>
聽聽聽 <prop key="insert*">PROPAGATION_REQUIRED</prop>聽 --鎵鏈塱nsert寮澶寸殑鏂規硶閮戒嬌鐢ㄤ簨鍔★紝鍑洪敊瑕佸洖婊?/font>
聽聽聽 <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> --鎵鏈塯et寮澶寸殑鏂規硶閮戒嬌鐢ㄥ彧璇諱簨鍔?br />聽聽聽 <prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>--鎵鏈塱st寮澶寸殑鏂規硶閮戒嬌鐢ㄥ彧璇諱簨鍔?/font>
聽聽 </props>
聽 </property>
聽</bean>
聽聽涓?path="/login"聽鐨剆truts action 瀹氫箟瀹為檯鐨刟ction綾?璇ction聽宸茬粡榪涜聽type="org.springframework.web.struts.DelegatingActionProxy"璁劇疆
聽 <bean name="/login" class="com.yourcompany.struts.action.LoginAction" singleton="false">
聽聽聽 <property name="userDAO">
聽聽聽 <ref bean="userDAOProxy" />聽 --娉ㄦ剰錛岃繖閲屾寚瀹氱殑userDAO鏄笂闈㈠畾涔夌殑浠g悊綾?br />聽 </property>
聽</bean>
</beans>聽
posted on 2006-12-05 15:40 kelven 闃呰(1
銆銆鎹粙緇嶏紝鐩墠涓浗鐨勭綉緇滄父鎴忕帺瀹跺凡緇忚揪鍒?633涓囦漢銆備腑鍥藉嚭鐗堝伐浣滆呭崗浼氭父鎴忓伐浣滃鍛樹細鎻愪緵鐨勬暟瀛楄〃鏄庯紝2004騫達紝涓浗鐨勭綉緇滄父鎴忎粎閿鍞敹鍏ュ凡緇忎笂娑?7.9%錛岃揪鍒?4.7浜垮厓錛屽茍涓旇鏁板瓧鍦?009騫存湁鏈涜揪鍒?09.6浜垮厓銆?/p>
銆銆鑰屾嵁涓撳棰勬祴錛?006騫翠腑鍥界綉緇滄父鎴忓競鍦哄皢杈?3浜垮厓錛屼腑鍥芥墜鏈烘父鎴忓競鍦鴻妯″皢杈?浜垮厓銆傛父鎴忚涓氱殑浜曞柗寮忓彂灞曪紝寮曞彂浜嗘父鎴忎笓涓氫漢鎵嶇殑鏋佸害鍖箯銆傛父鎴忕爺鍙戜漢鎵嶅尞涔忥紝鐗瑰埆鏄腑楂樼駭浜烘墠濂囩己鐨勬儏鍐碉紝宸叉垚涓轟弗閲嶅埗綰︿駭涓氭寔緇彂灞曠殑鈥滅摱棰堚濄?/p>
銆銆涓崕鑻辨墠緗戣繎鏃ュ叕甯冪殑涓欏圭粺璁¤〃鏄庯紝浠庣洰鍓嶄漢鎵嶅競鍦洪渶姹傜湅錛?0綾繪父鎴忎漢鎵嶆渶鍙椾紒涓氭榪庯紝鍒嗗埆涓猴細娓告垙緹庢湳璁捐甯堬紙2D錛?D錛夈佺綉娓?amp;#8226;瀹㈡湇銆侊紦錛ゆ父鎴忚璁¢珮綰ц甯堛佹墜鏈烘父鎴忚璁¢珮綰ц甯堛佸湪綰跨綉緇滄父鎴忚璁¢珮綰ц甯堛佹墜鏈烘父鎴忓紑鍙戝伐紼嬪笀銆佺綉緇滄父鎴忓紑鍙戝伐紼嬪笀銆侊吉錛掞輯錛ユ父鎴忚蔣浠跺伐紼嬪笀銆佹父鎴忕瓥鍒掑笀銆佺墖鍖烘笭閬撶粡鐞嗐?/p>
銆銆鑱屼笟鎸囧甯堟寚鍑猴紝娓告垙浜烘墠灝嗕細鎴愪負灝變笟甯傚満涓嬩竴涓柊鐨勪寒鐐廣?
紼嬪簭鍛樻槸涓縐嶆妧鏈伐浣滐紝鍦↖T鐨勫彂灞曚腑鏈夌浉褰撻噸瑕佺殑鍦頒綅錛屼粠搴曞眰紜歡閫氳鍗忚鐨勫緩绔嬶紝鍒版暟鎹紶杈撳眰鐨勫鐞嗭紝鍒版搷浣滅郴緇熺殑寤鴻錛屽埌鏁版嵁搴撳鉤鍙扮殑寤鴻錛屼竴鐩村埌搴旂敤灞備笂鍚勭鏁版嵁钀ラ攢騫沖彴鐨勬惌寤猴紝紼嬪簭鍛樺湪閲岄潰閮芥壆婕旂潃涓捐凍杞婚噸鐨勮鑹插茍涓篒T浜嬩笟鐨勫彂灞曞仛鍑轟簡宸ㄥぇ鐨勮礎鐚?
涓浗鏈夊緢澶氬皬鏈嬪弸錛屼粬浠?8,9宀佹垨21,2宀侊紝閫氳繃鑷涔熷啓浜嗕笉灝戜唬鐮侊紝浠栦滑鏈夌殑浠g爜鍐欑殑寰堟紓浜紝涓浜涙妧鏈粏鑺傜浉褰撳嚭浼楋紝涔熷緢鏈夐捇鐮旂簿紲烇紝浣嗘槸浠栦滑琚竴浜涢敊璇殑璁よ瘑鍜岃鐐瑰乏鍙籌紝緙轟箯瀵圭郴緇燂紝瀵圭▼搴忕殑鏁翠綋鐞嗚В鑳藉姏錛岃繖浜涗漢錛屼竴涓綉涓婄殑鏈嬪弸璇村緱寰堝ソ錛屼粬浠疄闄呬笂鍙槸涓浜汣odingfans錛屽帇鏍規病鏈夎祫鏍肩О涓虹▼搴忓憳錛屼絾鏄嵁鎴戞墍鐭ワ紝涓嶅皯灝忕綉緇滃叕鍙哥殑CTO灝辨槸榪欐牱鐨刢odingfans,鎷跨潃鍚撲漢鐨勫伐璧勶紝鍋氱潃鍚撲漢鐨勯」鐩紝欏圭洰鐨勭粨灞閫氬父涔熷緢鍚撲漢銆?
紼嬪簭鍛樺熀鏈礌璐細
浣滀竴涓湡姝e悎鏍肩殑紼嬪簭鍛橈紝鎴栬呰灝辨槸鍙互鐪熸鍚堟牸瀹屾垚涓浜涗唬鐮佸伐浣滅殑紼嬪簭鍛橈紝搴旇鍏鋒湁鐨勭礌璐ㄣ?
1錛氬洟闃熺簿紲炲拰鍗忎綔鑳藉姏
鎶婂畠浣滀負鍩烘湰绱犺川錛屽茍涓嶆槸涓嶉噸瑕侊紝鎭版伆鐩稿弽錛岃繖鏄▼搴忓憳搴旇鍏峰鐨勬渶鍩烘湰鐨勶紝涔熸槸鏈閲嶈鐨勫畨韜珛鍛戒箣鏈傛妸楂樻按騫崇▼搴忓憳璇存垚鐙渚犵殑閮芥槸鍦ㄥ憮璇紝浠諱綍涓漢鐨勫姏閲忛兘鏄湁闄愮殑錛屽嵆渚垮linus榪欐牱鐨勫ぉ鎵嶏紝涔熼渶瑕侀氳繃緇勬垚寮哄ぇ鐨勫洟闃熸潵鍒涢犲榪癸紝閭d簺閬嶅竷鍏ㄧ悆鐨勪負linux鍐欐牳蹇冪殑楂樻墜浠紝娌℃湁鍗忎綔綺劇鏄笉鍙兂璞$殑銆傜嫭琛屼緺鍙互浣滀竴浜涜禋閽辯殑灝忚蔣浠跺彂鐐瑰皬璐紝浣嗘槸涓鏃﹁繘鍏ヤ竴浜涘ぇ緋葷粺鐨勭爺鍙戝洟闃燂紝榪涘叆鍟嗕笟鍖栧拰浜у搧鍖栫殑寮鍙戜換鍔★紝緙轟箯榪欑绱犺川鐨勪漢灝卞畬鍏ㄤ笉鍚堟牸浜嗐?
2錛氭枃妗d範鎯?
璇撮珮姘村鉤紼嬪簭鍛樹粠鏉ヤ笉鍐欐枃妗g殑鑲畾鏄鉤鑷湭騫茬殑姣涘瀛愶紝鑹ソ鐨勬枃妗f槸姝h鐮斿彂嫻佺▼涓潪甯擱噸瑕佺殑鐜妭錛屼綔涓轟唬鐮佺▼搴忓憳錛?0錛呯殑宸ヤ綔鏃墮棿鍐欐妧鏈枃妗f槸寰堟甯哥殑錛岃屼綔涓洪珮綰х▼搴忓憳鍜岀郴緇熷垎鏋愬憳錛岃繖涓瘮渚嬭繕瑕侀珮寰堝銆傜己涔忔枃妗o紝涓涓蔣浠剁郴緇熷氨緙轟箯鐢熷懡鍔涳紝鍦ㄦ湭鏉ョ殑鏌ラ敊錛屽崌綰т互鍙婃ā鍧楃殑澶嶇敤鏃跺氨閮戒細閬囧埌鏋佸ぇ鐨勯夯鐑︺?
3錛氳鑼冨寲錛屾爣鍑嗗寲鐨勪唬鐮佺紪鍐欎範鎯?
浣滀負涓浜涘鍥界煡鍚嶈蔣浠跺叕鍙哥殑瑙勭煩錛屼唬鐮佺殑鍙橀噺鍛藉悕錛屼唬鐮佸唴娉ㄩ噴鏍煎紡錛岀敋鑷沖祵濂椾腑琛岀緝榪涚殑闀垮害鍜屽嚱鏁伴棿鐨勭┖琛屾暟瀛楅兘鏈夋槑紜瀹氾紝鑹ソ鐨勭紪鍐欎範鎯紝涓嶄絾鏈夊姪浜庝唬鐮佺殑縐繪鍜岀籂閿欙紝涔熸湁鍔╀簬涓嶅悓鎶鏈漢鍛樹箣闂寸殑鍗忎綔銆?
鏈変簺codingfans鍙殻楂樻按騫崇▼搴忓憳鍐欑殑浠g爜鏃佷漢浠庢潵鐪嬩笉鎳傦紝榪欑鍙殻鍙兘璇佹槑浠栦滑鑷繁鍘嬫牴涓嶉厤鑷О紼嬪簭鍛樸備唬鐮佸叿鏈夎壇濂界殑鍙鎬э紝鏄▼搴忓憳鍩烘湰鐨勭礌璐ㄩ渶姹傘?
鍐嶇湅鐪嬫暣涓猯inux鐨勬惌寤猴紝娌℃湁瑙勮寖鍖栧拰鏍囧噯鍖栫殑浠g爜涔犳儻錛屽叏鐞冪殑鐮斿彂鍗忎綔鏄粷瀵逛笉鍙兂璞$殑銆?
4錛氶渶姹傜悊瑙h兘鍔?
紼嬪簭鍛橀渶瑕佺悊瑙d竴涓ā鍧楃殑闇姹傦紝寰堝灝忔湅鍙嬪啓紼嬪簭寰寰鍙叧娉ㄤ竴涓姛鑳介渶姹傦紝浠栦滑鎶婃ц兘鎸囨爣鍏ㄩ儴褰掔粨鍒扮‖浠訛紝鎿嶄綔緋葷粺鍜屽紑鍙戠幆澧冧笂錛岃屽拷瑙嗕簡鏈韓浠g爜鐨勬ц兘鑰冭檻錛屾湁浜烘浘緇忔斁璦璇村啓涓涓箍鍛婁氦鎹㈢▼搴忓緢綆鍗曪紝榪欑浜轟粠鏉ヤ笉鐭ラ亾鍦ㄧ櫨涓囩敋鑷沖崈涓囨暟閲忕駭鐨勮闂儏鍐典笅鐨勬ц兘鎸囨爣鏄浣曞疄鐜扮殑錛屽浜庤繖鏍風殑紼嬪簭鍛橈紝浣犵粰浠栨繁钃濋偅濂楃郴緇燂紝浠栦篃鍋氫笉鍑哄お鏋侀摼鐨勫茍璁胯兘鍔涖傛ц兘闇姹傛寚鏍囦腑錛岀ǔ瀹氭э紝騫惰鏀拺鑳藉姏浠ュ強瀹夊叏鎬ч兘寰堥噸瑕侊紝浣滀負紼嬪簭鍛橀渶瑕佽瘎浼拌妯″潡鍦ㄧ郴緇熻繍钀ヤ腑鎵澶勭殑鐜錛屽皢瑕佸彈鍒扮殑璐熻嵎鍘嬪姏浠ュ強鍚勭娼滃湪鐨勫嵄闄╁拰鎭舵剰鏀誨嚮鐨勫彲鑳芥с傚氨榪欎竴鐐癸紝涓涓垚鐔熺殑紼嬪簭鍛樿嚦灝戦渶瑕?鍒?騫寸殑欏圭洰鐮斿彂鍜岃窡韙粡楠屾墠鏈夊彲鑳芥湁蹇冨緱銆?
5錛氬鐢ㄦэ紝妯″潡鍖栨濈淮鑳藉姏
緇忓父鍙互鍚埌涓浜涚▼搴忓憳鏈夎繖鏍風殑鎶辨紝鍐欎簡鍑犲勾紼嬪簭錛屽彉鎴愪簡鐔熺粌宸ワ紝姣忓ぉ閮芥槸閲嶅鍐欎竴浜涙病鏈変換浣曟柊鎰忕殑浠g爜錛岃繖鍏跺疄鏄腑鍥借蔣浠朵漢鎵嶆渶澶ф氮璐圭殑鍦版柟錛屼竴浜涢噸澶嶆у伐浣滃彉鎴愪簡鐔熺粌紼嬪簭鍛樼殑涓昏宸ヤ綔錛岃岃繖浜涳紝鍏跺疄鏄畬鍏ㄥ彲浠ラ伩鍏嶇殑銆?
澶嶇敤鎬ц璁★紝妯″潡鍖栨濈淮灝辨槸瑕佺▼搴忓憳鍦ㄥ畬鎴愪換浣曚竴涓姛鑳芥ā鍧楁垨鍑芥暟鐨勬椂鍊欙紝瑕佸鎯充竴浜涳紝涓嶈灞闄愬湪瀹屾垚褰撳墠浠誨姟鐨勭畝鍗曟濊礬涓婏紝鎯蟲兂鐪嬭妯″潡鏄惁鍙互鑴辯榪欎釜緋葷粺瀛樺湪錛屾槸鍚﹀彲浠ラ氳繃綆鍗曠殑淇敼鍙傛暟鐨勬柟寮忓湪鍏朵粬緋葷粺鍜屽簲鐢ㄧ幆澧冧笅鐩存帴寮曠敤錛岃繖鏍峰氨鑳芥瀬澶ч伩鍏嶉噸澶嶆х殑寮鍙戝伐浣滐紝濡傛灉涓涓蔣浠剁爺鍙戝崟浣嶅拰宸ヤ綔緇勮兘澶熷湪姣忎竴嬈$爺鍙戣繃紼嬩腑閮借冭檻鍒拌繖浜涢棶棰橈紝閭d箞紼嬪簭鍛樺氨涓嶄細鍦ㄩ噸澶嶆х殑宸ヤ綔涓借澶鏃墮棿錛屽氨浼氭湁鏇村鏃墮棿鍜岀簿鍔涙姇鍏ュ埌鍒涙柊鐨勪唬鐮佸伐浣滀腑鍘匯?
涓浜涘ソ鐨勭▼搴忔ā鍧椾唬鐮侊紝鍗充究鏄?0騫翠唬鍐欐垚鐨勶紝鎷垮埌鐜板湪鏀懼埌涓浜涚郴緇熼噷闈綔涓哄姛鑳芥ā鍧楅兘鑳介傚悎鐨勫緢濂斤紝鑰岀幇鍦ㄦ垜鐪嬪埌鐨勬槸錛屽緢澶氬皬鍏徃杞歡涓鍗囩駭鎴栨敼榪涘氨鍔ㄨ緞鍏ㄩ儴浠g爜閲嶅啓錛屽ぇ閮ㄥ垎閲嶅鎬у伐浣滄棤璋撶殑嫻垂浜嗘椂闂村拰綺懼姏銆?
6錛氭祴璇曚範鎯?
浣滀負涓浜涘晢涓氬寲姝h鍖栫殑寮鍙戣岃█錛屼笓鑱岀殑嫻嬭瘯宸ョ▼甯堟槸涓嶅彲灝戠殑錛屼絾鏄茍涓嶆槸璇存湁浜嗕笓鑱岀殑嫻嬭瘯宸ョ▼甯堢▼搴忓憳灝卞彲浠ヤ笉榪涜鑷祴錛涜蔣浠剁爺鍙戜綔涓轟竴欏瑰伐紼嬭岃█錛屼竴涓緢閲嶈鐨勭壒鐐瑰氨鏄棶棰樺彂鐜扮殑瓚婃棭錛岃В鍐崇殑浠d環灝辮秺浣庯紝紼嬪簭鍛樺湪姣忔浠g爜錛屾瘡涓瓙妯″潡瀹屾垚鍚庤繘琛岃鐪熺殑嫻嬭瘯錛屽氨鍙互灝介噺灝嗕竴浜涙綔鍦ㄧ殑闂鏈鏃╃殑鍙戠幇鍜岃В鍐籌紝榪欐牱瀵規暣浣撶郴緇熷緩璁劇殑鏁堢巼鍜屽彲闈犳у氨鏈変簡鏈澶х殑淇濊瘉銆?
嫻嬭瘯宸ヤ綔瀹為檯涓婇渶瑕佽冭檻涓ゆ柟闈紝涓鏂歸潰鏄甯歌皟鐢ㄧ殑嫻嬭瘯錛屼篃灝辨槸鐪嬬▼搴忔槸鍚﹁兘鍦ㄦ甯歌皟鐢ㄤ笅瀹屾垚鍩烘湰鍔熻兘錛岃繖鏄渶鍩烘湰鐨勬祴璇曡亴璐o紝鍙儨鍦ㄥ緢澶氬叕鍙歌繖鎴愪簡鍞竴鐨勬祴璇曚換鍔★紝瀹為檯涓婅繕宸殑榪滈偅錛涚浜屾柟闈㈠氨鏄紓甯歌皟鐢ㄧ殑嫻嬭瘯錛屾瘮濡傞珮鍘嬪姏璐熻嵎涓嬬殑紼沖畾鎬ф祴璇曪紝鐢ㄦ埛娼滃湪鐨勫紓甯歌緭鍏ユ儏鍐典笅鐨勬祴璇曪紝鏁翠綋緋葷粺灞閮ㄦ晠闅滄儏鍐典笅璇ユā鍧楀彈褰卞搷鐘跺喌鐨勬祴璇曪紝棰戝彂鐨勫紓甯歌姹傞樆濉炶祫婧愭椂鐨勬ā鍧楃ǔ瀹氭祴璇曠瓑絳夈傚綋鐒跺茍涓嶆槸紼嬪簭鍛樿瀵硅嚜宸辯殑姣忔浠g爜閮介渶瑕佽繘琛岃繖縐嶅畬鏁存祴璇曪紝浣嗘槸紼嬪簭鍛樺繀欏繪竻閱掕璇嗚嚜宸辯殑浠g爜浠誨姟鍦ㄦ暣浣撻」鐩腑鐨勫湴浣嶅拰鍚勭鎬ц兘闇姹傦紝鏈夐拡瀵規х殑榪涜鐩稿叧嫻嬭瘯錛屽茍灝芥棭鍙戠幇鍜岃В鍐抽棶棰橈紝褰撶劧榪欓渶瑕佷笂闈㈡彁鍒扮殑闇姹傜悊瑙h兘鍔涖?
7錛氬涔犲拰鎬葷粨鐨勮兘鍔?
紼嬪簭鍛樻槸浜烘墠寰堝鏄撹娣樻卑錛屽緢瀹規槗钀戒紞鐨勮亴涓氾紝鍥犱負涓縐嶆妧鏈彲鑳戒粎浠呭湪涓変袱騫村唴鍏鋒湁棰嗗厛鎬э紝紼嬪簭鍛樺鏋滄兂瀹夎韓绔嬪懡錛屽氨蹇呴』涓嶆柇璺熻繘鏂扮殑鎶鏈紝瀛︿範鏂扮殑鎶鑳姐?
鍠勪簬瀛︿範錛屽浜庝換浣曡亴涓氳岃█錛岄兘鏄墠榪涙墍蹇呴渶鐨勫姩鍔涳紝瀵逛簬紼嬪簭鍛橈紝榪欑瑕佹眰灝辨洿鍔犻珮浜嗐備絾鏄涔犱篃瑕佹壘瀵圭洰鏍囷紝涓浜涘皬codingfans浠紝浠栦滑涔熸觸媧ヤ箰閬撲簬浠栦滑鐨勫涔犺兘鍔涳紝涓浼氬浼氫簡asp錛屼竴浼氬効瀛︿細浜唒hp錛屼竴浼氬効瀛︿細浜唈sp錛屼粬浠妸榪欎釜浣滀負鐐鐨勮祫鏈紝鐩茬洰鐨勮拷閫愪竴浜涜偆嫻呯殑錛岃〃闈㈢殑涓滆タ鍜屽悕璇嶏紝鍋氱綉緇滅▼搴忎笉鎳傞氳浼犺緭鍗忚錛屽仛搴旂敤紼嬪簭涓嶆噦涓柇鍚戦噺澶勭悊錛岃繖鏍風殑鎶鏈漢鍛橈紝涓嶇鎺屾彙浜嗗灝戞墍璋撶殑鏂拌璦錛屾案榪滀笉浼氭湁璐ㄧ殑鎻愰珮銆?
鍠勪簬鎬葷粨錛屼篃鏄涔犺兘鍔涚殑涓縐嶄綋鐜幫紝姣忔瀹屾垚涓涓爺鍙戜換鍔★紝瀹屾垚涓孌典唬鐮侊紝閮藉簲褰撴湁鐩殑鐨勮窡韙紼嬪簭鐨勫簲鐢ㄧ姸鍐靛拰鐢ㄦ埛鍙嶉錛岄殢鏃舵葷粨錛屾壘鍒拌嚜宸辯殑涓嶈凍錛岃繖鏍烽愭鎻愰珮錛屼竴涓▼搴忓憳鎵嶅彲鑳芥垚闀胯搗鏉ャ?
涓涓笉鍏峰鎴愰暱鎬х殑紼嬪簭鍛橈紝鍗充究鐪煎墠鐪嬫槸涓珮鎵嬶紝寤鴻涔熶笉瑕侀夌敤錛屽洜涓轟粬钀戒紞鐨勬椂鍊欓┈涓婂氨鍒頒簡銆?
鍏峰浠ヤ笂鍏ㄩ儴绱犺川鐨勪漢錛屽簲褰撹鏄鏍肩殑紼嬪簭鍛樹簡錛岃娉ㄦ剰浠ヤ笂鐨勫悇縐嶇礌璐ㄩ兘涓嶆槸鐢盜Q鍐沖畾鐨勶紝涔熶笉鏄ぇ瀛︽煇浜涜鏈噷鍙互瀛︿範鍒扮殑錛岄渶瑕佺殑浠呬粎鏄▼搴忓憳瀵硅嚜宸卞伐浣滅殑璁よ瘑錛屾槸涓縐嶆剰璇嗕笂鐨勯棶棰樸?br />