1.openwrt javaç¯å¢
2.è°è½ä»ç»ä¸äºåç¹ç»å½ç³»ç»
3.mac,快进快出选股源码windows,linuxå个系ç»ä»ç»
openwrt javaç¯å¢
jikes jamvm å classpath
æ¥çæ¹æ³ï¼
ipkg list |grep jamvm
å®è£
ipkg install jikes classpath jamvm
ç¶åbinä¸é¢ä¼æ jamvm
ln -s /opt/bin/jamvm /opt/bin/java
java -> /opt/bin/jamvm
===================
/opt/bin # java -version
java version "1.5.0"
JamVM version 1.5.4
Copyright (C) - Robert Lougher <rob@jamvm.org.uk>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2,
or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Build information:
Execution Engine: inline-threaded interpreter with stack-caching
Compiled with: gcc 4.2.3
Boot Library Path: /opt/lib/classpath
Boot Class Path: /opt/share/jamvm/classes.zip:/opt/share/classpath/glibj.zip
===================
javaå½ä»¤å¯ç¨ï¼åæ ·å¨æ¾ tomcatçæ¹æ³ï¼çè¿ä¸ä¸ªå¸ååç
tomcatéè¦ä¿®æ¹confæ件ï¼ä½¿ç¨jikes解æclassæ件
å®å¨çä¸ä¸å»å°å¤è´´ winç¯å¢çç©æçï¼å å享ä¸é¨åç»éªå§~
è°è½ä»ç»ä¸äºåç¹ç»å½ç³»ç»
tomcatççä¸è½½å°å
è¯è ï¼éå
--
ç¼è æï¼ç°å¨å¼åJava Webåºç¨ï¼å»ºç«åé¨ç½²Webå 容æ¯ä¸ä»¶å¾ç®åçå·¥ä½ã使ç¨Jakarta Tomcatä½ä¸ºServletåJSP容å¨ç人已ç»éåå ¨ä¸çãTomcatå ·æå è´¹ã跨平å°ç诸å¤ç¹æ§ï¼å¹¶ä¸æ´æ°å¾å¾å¿«ï¼ç°å¨é常çæµè¡ã
ä½ æéè¦åçå°±æ¯ï¼æç §ä½ çéæ±é ç½®Tomcatï¼åªè¦ä½ æ£ç¡®é ç½®ï¼Tomcatä¸è¬é½è½éåä½ çè¦æ±ãä¸é¢æ¯ä¸ç³»åå ³äºTomcatçé ç½®æå·§ï¼è¿äºæå·§æºèªäºæç书ï¼ãTomcatæå¨æåãï¼å¸æå¯¹ä½ ææ帮å©ãââ Jason Brittain
1ï¼ é 置系ç»ç®¡çï¼Admin Web Applicationï¼
大å¤æ°åä¸åçJ2EEæå¡å¨é½æä¾ä¸ä¸ªåè½å¼ºå¤§ç管ççé¢ï¼ä¸å¤§é½éç¨æäºç解çWebåºç¨çé¢ãTomcatæç §èªå·±çæ¹å¼ï¼åæ ·æä¾ä¸ä¸ªæçç管çå·¥å ·ï¼å¹¶ä¸ä¸æ¯«ä¸éäºé£äºåä¸åçç«äºå¯¹æãTomcatçAdmin Web Applicationæåå¨4.1çæ¬æ¶åºç°ï¼å½æ¶çåè½å æ¬ç®¡çcontextãdata sourceãuserågroupçãå½ç¶ä¹å¯ä»¥ç®¡çååå§ååæ°ï¼userãgroupãroleçå¤ç§æ°æ®åºç®¡ççãå¨åç»ççæ¬ä¸ï¼è¿äºåè½å°å¾å°å¾å¤§çæ©å±ï¼ä½ç°æçåè½å·²ç»é常å®ç¨äºã
Admin Web Application被å®ä¹å¨èªå¨é¨ç½²æ件ï¼CATALINA_BASE/webapps/admin.xml ã
ï¼è¯è 注ï¼CATALINA_BASEå³tomcatå®è£ ç®å½ä¸çserverç®å½ï¼
ä½ å¿ é¡»ç¼è¾è¿ä¸ªæ件ï¼ä»¥ç¡®å®Contextä¸çdocBaseåæ°æ¯ç»å¯¹è·¯å¾ãä¹å°±æ¯è¯´ï¼CATALINA_BASE/webapps/admin.xml çè·¯å¾æ¯ç»å¯¹è·¯å¾ãä½ä¸ºå¦å¤ä¸ç§éæ©ï¼ä½ ä¹å¯ä»¥å é¤è¿ä¸ªèªå¨é¨ç½²æ件ï¼èå¨server.xmlæ件ä¸å»ºç«ä¸ä¸ªAdmin Web Applicationçcontextï¼æææ¯ä¸æ ·çãä½ ä¸è½ç®¡çAdmin Web Applicationè¿ä¸ªåºç¨ï¼æ¢èè¨ä¹ï¼é¤äºå é¤CATALINA_BASE/webapps/admin.xml ï¼ä½ å¯è½ä»ä¹é½åä¸äºã
å¦æä½ ä½¿ç¨UserDatabaseRealmï¼é»è®¤ï¼ï¼ä½ å°éè¦æ·»å ä¸ä¸ªuser以åä¸ä¸ªroleå°CATALINA_BASE/conf/tomcat-users.xml æ件ä¸ãä½ ç¼è¾è¿ä¸ªæ件ï¼æ·»å ä¸ä¸ªåå«âadminâçrole å°è¯¥æ件ä¸ï¼å¦ä¸ï¼
<role name="admin"/>
ä½ åæ ·éè¦æä¸ä¸ªç¨æ·ï¼å¹¶ä¸è¿ä¸ªç¨æ·çè§è²æ¯âadminâã象åå¨çç¨æ·é£æ ·ï¼æ·»å ä¸ä¸ªç¨æ·ï¼æ¹åå¯ç ä½¿å ¶æ´å å®å ¨ï¼ï¼
<user name="admin" password="deep_dark_secret" roles="admin"/>
å½ä½ å®æè¿äºæ¥éª¤åï¼è¯·éæ°å¯å¨Tomcatï¼è®¿é® -->
<Host name="www.example.com" appBase="/home/example/webapp">
<Context path="" docBase="."/>
</Host>
</Engine>
</Service>
</Server>
Tomcatçserver.xmlæ件ï¼å¨åå§ç¶æä¸ï¼åªå æ¬ä¸ä¸ªèæ主æºï¼ä½æ¯å®å®¹æ被æ©å å°æ¯æå¤ä¸ªèæ主æºãå¨åé¢çä¾åä¸å±ç¤ºçæ¯ä¸ä¸ªç®åçserver.xmlçæ¬ï¼å ¶ä¸ç²ä½é¨åå°±æ¯ç¨äºæ·»å ä¸ä¸ªèæ主æºãæ¯ä¸ä¸ªHostå ç´ å¿ é¡»å æ¬ä¸ä¸ªæå¤ä¸ªcontextå ç´ ï¼æå å«çcontextå ç´ ä¸å¿ é¡»æä¸ä¸ªæ¯é»è®¤çcontextï¼è¿ä¸ªé»è®¤çcontextçæ¾ç¤ºè·¯å¾åºè¯¥ä¸ºç©ºï¼ä¾å¦ï¼path=ââï¼ã
5ï¼é ç½®åºç¡éªè¯ï¼Basic Authenticationï¼
容å¨ç®¡çéªè¯æ¹æ³æ§å¶çå½ç¨æ·è®¿é®åä¿æ¤çwebåºç¨èµæºæ¶ï¼å¦ä½è¿è¡ç¨æ·ç身份é´å«ãå½ä¸ä¸ªwebåºç¨ä½¿ç¨äºBasic Authenticationï¼BASICåæ°å¨web.xmlæ件ä¸auto-methodå ç´ ä¸è®¾ç½®ï¼ï¼èæç¨æ·è®¿é®åä¿æ¤çwebåºç¨æ¶ï¼Tomcatå°éè¿HTTP Basic Authenticationæ¹å¼ï¼å¼¹åºä¸ä¸ªå¯¹è¯æ¡ï¼è¦æ±ç¨æ·è¾å ¥ç¨æ·ååå¯ç ãå¨è¿ç§éªè¯æ¹æ³ä¸ï¼ææå¯ç å°è¢«ä»¥ä½çç¼ç æ¹å¼å¨ç½ç»ä¸ä¼ è¾ã
注æï¼ä½¿ç¨Basic Authenticationéè¿è¢«è®¤ä¸ºæ¯ä¸å®å ¨çï¼å 为å®æ²¡æ强å¥çå å¯æ¹æ³ï¼é¤éå¨å®¢æ·ç«¯åæå¡å¨ç«¯é½ä½¿ç¨HTTPSæè å ¶ä»å¯ç å å¯ç æ¹å¼ï¼æ¯å¦ï¼å¨ä¸ä¸ªèæç§äººç½ç»ä¸ï¼ãè¥æ²¡æé¢å¤çå å¯æ¹æ³ï¼ç½ç»ç®¡çåå°è½å¤æªè·ï¼æ滥ç¨ï¼ç¨æ·çå¯ç ãä½æ¯ï¼å¦æä½ æ¯åå¼å§ä½¿ç¨Tomcatï¼æè ä½ æ³å¨ä½ çwebåºç¨ä¸æµè¯ä¸ä¸åºäºå®¹å¨çå®å ¨ç®¡çï¼Basic Authenticationè¿æ¯é常æäºè®¾ç½®å使ç¨çãåªéè¦æ·»å <security-constraint>å<login-config>两个å ç´ å°ä½ çwebåºç¨çweb.xmlæ件ä¸ï¼å¹¶ä¸å¨CATALINA_BASE/conf/tomcat-users.xml æ件ä¸æ·»å éå½ç<role>å<user>å³å¯ï¼ç¶åéæ°å¯å¨Tomcatã
ä¸é¢ä¾åä¸çweb.xmlæèªä¸ä¸ªä¿±ä¹é¨ä¼åç½ç«ç³»ç»ï¼è¯¥ç³»ç»ä¸åªæmemberç®å½è¢«ä¿æ¤èµ·æ¥ï¼å¹¶ä½¿ç¨Basic Authenticationè¿è¡èº«ä»½éªè¯ã请注æï¼è¿ç§æ¹å¼å°ææç代æ¿Apache webæå¡å¨ä¸ç.htaccessæ件ã
<!--
Define the Members-only area, by defining
a "Security Constraint" on this Application, and
mapping it to the subdirectory (URL) that we want
to restrict.
-->
<security-constraint>
<web-resource-collection>
<web-resource-name>
Entire Application
</web-resource-name>
<url-pattern>/members/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>member</role-name>
</auth-constraint>
</security-constraint>
<!-- Define the Login Configuration for this Application -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>My Club Members-only Area</realm-name>
</login-config>
6ï¼é ç½®åç¹ç»å½ï¼Single Sign-Onï¼
ä¸æ¦ä½ 设置äºrealmåéªè¯çæ¹æ³ï¼ä½ å°±éè¦è¿è¡å®é çç¨æ·ç»å½å¤çãä¸è¬è¯´æ¥ï¼å¯¹ç¨æ·èè¨ç»å½ç³»ç»æ¯ä¸ä»¶å¾éº»ç¦çäºæ ï¼ä½ å¿ é¡»å°½éåå°ç¨æ·ç»å½éªè¯ç次æ°ãä½ä¸ºç¼ºççæ åµï¼å½ç¨æ·ç¬¬ä¸æ¬¡è¯·æ±åä¿æ¤çèµæºæ¶ï¼æ¯ä¸ä¸ªwebåºç¨é½ä¼è¦æ±ç¨æ·ç»å½ãå¦æä½ è¿è¡äºå¤ä¸ªwebåºç¨ï¼å¹¶ä¸æ¯ä¸ªåºç¨é½éè¦è¿è¡åç¬çç¨æ·éªè¯ï¼é£è¿çèµ·æ¥å°±æç¹åä½ å¨ä¸ä½ çç¨æ·ææãç¨æ·ä»¬ä¸ç¥éææ ·æè½æå¤ä¸ªå离çåºç¨æ´åæä¸ä¸ªåç¬çç³»ç»ï¼ææä»ä»¬ä¹å°±ä¸ç¥éä»ä»¬éè¦è®¿é®å¤å°ä¸ªä¸åçåºç¨ï¼åªæ¯å¾è¿·æï¼ä¸ºä»ä¹æ»è¦ä¸åçç»å½ã
Tomcat 4çâsingle sign-onâç¹æ§å 许ç¨æ·å¨è®¿é®åä¸èæ主æºä¸ææwebåºç¨æ¶ï¼åªéç»å½ä¸æ¬¡ã为äºä½¿ç¨è¿ä¸ªåè½ï¼ä½ åªéè¦å¨Hostä¸æ·»å ä¸ä¸ªSingleSignOn Valveå ç´ å³å¯ï¼å¦ä¸æ示ï¼
<Valve className="org.apache.catalina.authenticator.SingleSignOn"
debug="0"/>
å¨Tomcatåå§å®è£ åï¼server.xmlç注ééé¢å æ¬SingleSignOn Valveé ç½®çä¾åï¼ä½ åªéè¦å»æ注éï¼å³å¯ä½¿ç¨ãé£ä¹ï¼ä»»ä½ç¨æ·åªè¦ç»å½è¿ä¸ä¸ªåºç¨ï¼å对äºåä¸èæ主æºä¸çææåºç¨åæ ·ææã
使ç¨single sign-on valveæä¸äºéè¦çéå¶ï¼
1> valueå¿ é¡»è¢«é ç½®ååµå¥å¨ç¸åçHostå ç´ éï¼å¹¶ä¸ææéè¦è¿è¡åç¹éªè¯çwebåºç¨ï¼å¿ é¡»éè¿contextå ç´ å®ä¹ï¼é½ä½äºè¯¥Hostä¸ã
2> å æ¬å ±äº«ç¨æ·ä¿¡æ¯çrealmå¿ é¡»è¢«è®¾ç½®å¨åä¸çº§Hostä¸æè åµå¥ä¹å¤ã
3> ä¸è½è¢«contextä¸çrealmè¦çã
4> 使ç¨åç¹ç»å½çwebåºç¨æ好使ç¨ä¸ä¸ªTomcatçå ç½®çéªè¯æ¹å¼ï¼è¢«å®ä¹å¨web.xmlä¸ç<auth-method>ä¸ï¼ï¼è¿æ¯èªå®ä¹çéªè¯æ¹å¼å¼ºï¼Tomcatå ç½®ççéªè¯æ¹å¼å æ¬basicãdigestãformåclient-certã
5> å¦æä½ ä½¿ç¨åç¹ç»å½ï¼è¿å¸æéæä¸ä¸ªç¬¬ä¸æ¹çwebåºç¨å°ä½ çç½ç«ä¸æ¥ï¼å¹¶ä¸è¿ä¸ªæ°çwebåºç¨ä½¿ç¨å®èªå·±çéªè¯æ¹å¼ï¼èä¸ä½¿ç¨å®¹å¨ç®¡çå®å ¨ï¼é£ä½ åºæ¬ä¸å°±æ²¡æäºãä½ çç¨æ·æ¯æ¬¡ç»å½åæ¥ææåºç¨æ¶éè¦ç»å½ä¸æ¬¡ï¼å¹¶ä¸å¨è¯·æ±æ°ç第ä¸æ¹åºç¨æ¶è¿å¾åç»å½ä¸æ¬¡ãå½ç¶ï¼å¦æä½ æ¥æè¿ä¸ªç¬¬ä¸æ¹webåºç¨çæºç ï¼èä½ åæ¯ä¸ä¸ªç¨åºåï¼ä½ å¯ä»¥ä¿®æ¹å®ï¼ä½é£ææä¹ä¸å®¹æåã
6> åç¹ç»å½éè¦ä½¿ç¨cookiesã
7ï¼é ç½®ç¨æ·å®å¶ç®å½ï¼Customized User Directoresï¼
ä¸äºç«ç¹å 许个å«ç¨æ·å¨æå¡å¨ä¸åå¸ç½é¡µãä¾å¦ï¼ä¸æ大å¦çå¦é¢å¯è½æ³ç»æ¯ä¸ä½å¦çä¸ä¸ªå ¬å ±åºåï¼æè æ¯ä¸ä¸ªISPå¸æç»ä¸äºweb空é´ç»ä»ç客æ·ï¼ä½è¿åä¸æ¯èæ主æºãå¨è¿ç§æ åµä¸ï¼ä¸ä¸ªå ¸åçæ¹æ³å°±æ¯å¨ç¨æ·ååé¢å ä¸ä¸ªç¹æ®å符ï¼~ï¼ï¼ä½ä¸ºæ¯ä½ç¨æ·çç½ç«ï¼æ¯å¦ï¼
/~username
Tomcatæä¾ä¸¤ç§æ¹æ³å¨ä¸»æºä¸æ å°è¿äºä¸ªäººç½ç«ï¼ä¸»è¦ä½¿ç¨ä¸å¯¹ç¹æ®çListenerå ç´ ãListenerçclassNameå±æ§åºè¯¥æ¯org.apache.catalina.startup.UserConfigï¼userClasså±æ§åºè¯¥æ¯å 个æ å°ç±»ä¹ä¸ãå¦æä½ çç³»ç»æ¯Unixï¼å®å°æä¸ä¸ªæ åç/etc/passwdæ件ï¼è¯¥æ件ä¸çå¸å·è½å¤è¢«è¿è¡ä¸çTomcatå¾å®¹æç读åï¼è¯¥æ件æå®äºç¨æ·ç主ç®å½ï¼ä½¿ç¨PasswdUserDatabase æ å°ç±»ã
<Listener className="org.apache.catalina.startup.UserConfig"
directoryName="public_html"
userClass="org.apache.catalina.startup.PasswdUserDatabase"/>
webæ件éè¦æ¾ç½®å¨å/home/users/ian/public_html æè /users/jbrittain/public_htmlä¸æ ·çç®å½ä¸é¢ãå½ç¶ä½ ä¹å¯ä»¥æ¹åpublic_html å°å ¶ä»ä»»ä½åç®å½ä¸ã
å®é ä¸ï¼è¿ä¸ªç¨æ·ç®å½æ ¹æ¬ä¸ä¸å®éè¦ä½äºç¨æ·ä¸»ç®å½ä¸éé¢ãå¦æä½ æ²¡æä¸ä¸ªå¯ç æ件ï¼ä½ä½ åæ³æä¸ä¸ªç¨æ·åæ å°å°å ¬å ±çå/homeä¸æ ·ç®å½çåç®å½éé¢ï¼åå¯ä»¥ä½¿ç¨HomesUserDatabaseç±»ã
<Listener className="org.apache.catalina.startup.UserConfig"
directoryName="public_html" homeBase="/home"
userClass="org.apache.catalina.startup.HomesUserDatabase"/>
è¿æ ·ä¸æ¥ï¼webæ件就å¯ä»¥ä½äºå/home/ian/public_html æè /home/jasonb/public_htmlä¸æ ·çç®å½ä¸ãè¿ç§å½¢å¼å¯¹Windowsèè¨æ´å æå©ï¼ä½ å¯ä»¥ä½¿ç¨ä¸ä¸ªåc:\homeè¿æ ·çç®å½ã
è¿äºListenerå ç´ ï¼å¦æåºç°ï¼åå¿ é¡»å¨Hostå ç´ éé¢ï¼èä¸è½å¨contextå ç´ éé¢ï¼å 为å®ä»¬é½ç¨åºç¨äºHostæ¬èº«ã
8ï¼å¨Tomcatä¸ä½¿ç¨CGIèæ¬
Tomcat主è¦æ¯ä½ä¸ºServlet/JSP容å¨ï¼ä½å®ä¹æ许å¤ä¼ ç»webæå¡å¨çæ§è½ãæ¯æéç¨ç½å ³æ¥å£ï¼Common Gateway Interfaceï¼å³CGIï¼å°±æ¯å ¶ä¸ä¹ä¸ï¼CGIæä¾ä¸ç»æ¹æ³å¨ååºæµè§å¨è¯·æ±æ¶è¿è¡ä¸äºæ©å±ç¨åºãCGIä¹æ以被称为éç¨ï¼æ¯å 为å®è½å¨å¤§å¤æ°ç¨åºæèæ¬ä¸è¢«è°ç¨ï¼å æ¬ï¼Perlï¼Pythonï¼awkï¼Unix shell scriptingçï¼çè³å æ¬Javaãå½ç¶ï¼ä½ 大æ¦ä¸ä¼æä¸ä¸ªJavaåºç¨ç¨åºå½ä½CGIæ¥è¿è¡ï¼æ¯ç«è¿æ ·å¤ªè¿åå§ãä¸è¬èè¨ï¼å¼åServletæ»è¦æ¯CGIå ·ææ´å¥½çæçï¼å 为å½ç¨æ·ç¹å»ä¸ä¸ªé¾æ¥æä¸ä¸ªæé®æ¶ï¼ä½ ä¸éè¦ä»æä½ç³»ç»å±å¼å§è¿è¡å¤çã
Tomcatå æ¬ä¸ä¸ªå¯éçCGI Servletï¼å è®¸ä½ è¿è¡éçä¸æ¥çCGIèæ¬ã
为äºä½¿Tomcatè½å¤è¿è¡CGIï¼ä½ å¿ é¡»åå¦ä¸å 件äºï¼
1. æservlets-cgi.renametojar ï¼å¨CATALINA_HOME/server/lib/ç®å½ä¸ï¼æ¹å为servlets-cgi.jarãå¤çCGIçservletåºè¯¥ä½äºTomcatçCLASSPATHä¸ã
2. å¨TomcatçCATALINA_BASE/conf/web.xml æ件ä¸ï¼æå ³äº<servlet-name> CGIçé£æ®µç注éå»æï¼é»è®¤æ åµä¸ï¼è¯¥æ®µä½äºç¬¬è¡ï¼ã
3. åæ ·ï¼å¨TomcatçCATALINA_BASE/conf/web.xmlæ件ä¸ï¼æå ³äºå¯¹CGIè¿è¡æ å°çé£æ®µç注éå»æï¼é»è®¤æ åµä¸ï¼è¯¥æ®µä½äºç¬¬è¡ï¼ã注æï¼è¿æ®µå 容æå®äºHTMLé¾æ¥å°CGIèæ¬ç访é®æ¹å¼ã
4. ä½ å¯ä»¥æCGIèæ¬æ¾ç½®å¨WEB-INF/cgi ç®å½ä¸ï¼æ³¨æï¼WEB-INFæ¯ä¸ä¸ªå®å ¨çå°æ¹ï¼ä½ å¯ä»¥æä¸äºä¸æ³è¢«ç¨æ·çè§æåºäºå®å ¨èèä¸æ³æ´é²çæ件æ¾å¨æ¤å¤ï¼ï¼æè ä½ ä¹å¯ä»¥æCGIèæ¬æ¾ç½®å¨contextä¸çå ¶ä»ç®å½ä¸ï¼å¹¶ä¸ºCGI Servletè°æ´cgiPathPrefixåå§ååæ°ãè¿å°±æå®çCGI Servletçå®é ä½ç½®ï¼ä¸ä¸è½ä¸ä¸ä¸æ¥æå®çURLéåã
5. éæ°å¯å¨Tomcatï¼ä½ çCGIå°±å¯ä»¥è¿è¡äºã
å¨Tomcatä¸ï¼CGIç¨åºç¼ºçæ¾ç½®å¨WEB-INF/cgiç®å½ä¸ï¼æ£å¦åé¢ææ示çé£æ ·ï¼WEB-INFç®å½åä¿æ¤çï¼éè¿å®¢æ·ç«¯çæµè§å¨æ æ³çª¥æ¢å°å ¶ä¸å 容ï¼æ以对äºæ¾ç½®å«æå¯ç æå ¶ä»ææä¿¡æ¯çCGIèæ¬èè¨ï¼è¿æ¯ä¸ä¸ªé常好çå°æ¹ã为äºå ¼å®¹å ¶ä»æå¡å¨ï¼å°½ç®¡ä½ ä¹å¯ä»¥æCGIèæ¬ä¿åå¨ä¼ ç»ç/cgi-binç®å½ï¼ä½è¦ç¥éï¼å¨è¿äºç®å½ä¸çæ件æå¯è½è¢«ç½ä¸å¥½å¥çå²æµªè çå°ãå¦å¤ï¼å¨Unixä¸ï¼è¯·ç¡®å®è¿è¡Tomcatçç¨æ·ææ§è¡CGIèæ¬çæéã
9ï¼æ¹åTomcatä¸çJSPç¼è¯å¨ï¼JSP Compilerï¼
å¨Tomcat 4.1ï¼ææ´é«çæ¬ï¼å¤§æ¦ï¼ï¼JSPçç¼è¯ç±å å«å¨Tomcatéé¢çAntç¨åºæ§å¶å¨ç´æ¥æ§è¡ãè¿å¬èµ·æ¥æä¸ç¹ç¹å¥æªï¼ä½è¿æ£æ¯Antææ为ä¹çä¸é¨åï¼æä¸ä¸ªAPIææ¡£æ导å¼åè å¨æ²¡æå¯å¨ä¸ä¸ªæ°çJVMçæ åµä¸ï¼ä½¿ç¨Antãè¿æ¯ä½¿ç¨Antè¿è¡Javaå¼åçä¸å¤§ä¼å¿ãå¦å¤ï¼è¿ä¹æå³çä½ ç°å¨è½å¤å¨Antä¸ä½¿ç¨ä»»ä½javacæ¯æçç¼è¯æ¹å¼ï¼è¿éæä¸ä¸ªå ³äºApache Ant使ç¨æåçjavac pageå表ã使ç¨èµ·æ¥æ¯å®¹æçï¼å ä¸ºä½ åªéè¦å¨<init-param> å ç´ ä¸å®ä¹ä¸ä¸ªååå«âcompilerâï¼å¹¶ä¸å¨valueä¸æä¸ä¸ªæ¯æç¼è¯çç¼è¯å¨ååï¼ç¤ºä¾å¦ä¸ï¼
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>
org.apache.jasper.servlet.JspServlet
</servlet-class>
<init-param>
<param-name>logVerbosityLevel</param-name>
<param-value>WARNING</param-value>
</init-param>
<init-param>
<param-name>compiler</param-name>
<param-value>jikes</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
å½ç¶ï¼ç»åºçç¼è¯å¨å¿ 须已ç»å®è£ å¨ä½ çç³»ç»ä¸ï¼å¹¶ä¸CLASSPATHå¯è½éè¦è®¾ç½®ï¼é£å¤å³äºä½ éæ©çæ¯ä½ç§ç¼è¯å¨ã
ï¼éå¶ç¹å®ä¸»æºè®¿é®ï¼Restricting Access to Specific Hostsï¼
ææ¶ï¼ä½ å¯è½æ³éå¶å¯¹Tomcat webåºç¨ç访é®ï¼æ¯å¦ï¼ä½ å¸æåªæä½ æå®ç主æºæIPå°åå¯ä»¥è®¿é®ä½ çåºç¨ãè¿æ ·ä¸æ¥ï¼å°±åªæé£äºæå®çç客æ·ç«¯å¯ä»¥è®¿é®æå¡çå 容äºã为äºå®ç°è¿ç§ææï¼Tomcatæä¾äºä¸¤ä¸ªåæ°ä¾ä½ é ç½®ï¼RemoteHostValve åRemoteAddrValveã
éè¿é ç½®è¿ä¸¤ä¸ªåæ°ï¼å¯ä»¥è®©ä½ è¿æ»¤æ¥èªè¯·æ±ç主æºæIPå°åï¼å¹¶å 许ææç»åªäºä¸»æº/IPãä¸ä¹ç±»ä¼¼çï¼å¨Apacheç/products/jsp/tomcat/)ï¼å æ¤å ¶è¶æ¥è¶å¤çåå°è½¯ä»¶å ¬å¸åå¼å人åçåç±ãservletåjspçææ°è§èé½å¯ä»¥å¨tomcatçæ°çæ¬ä¸å¾å°å®ç°ã
äºï¼å®è£ åé ç½®
tomcatææ°çæ¬ä¸º4.0.1ï¼è¿ä¸ªçæ¬ç¨äºä¸ä¸ªæ°çservlet容å¨Catalinaï¼å®æ´çå®ç°äºservlet2.3åjsp1.2è§èã注æå®è£ ä¹åä½ çç³»ç»å¿ é¡»å®è£ äºjdk1.2以ä¸çæ¬ã
(ä¸)ï¼å®è£
1ï¼windowså¹³å°
ä»tomcatç½ç«ä¸è½½jakarta-tomcat-4.0.1.exeï¼æç §ä¸è¬çwindowsç¨åºå®è£ æ¥éª¤å³å¯å®è£ 好tomcat,å®è£ æ¶å®ä¼èªå¨å¯»æ¾ä½ çjdkåjreçä½ç½®ã
2ï¼linuxå¹³å°
ä¸è½½jakarta-tomcat-4.0.1.tar.gzï¼å°å ¶è§£åå°ä¸ä¸ªç®å½ã
(äº)ï¼é ç½®
è¿è¡tomcatéè¦è®¾ç½®JAVA_HOMEåé
set JAVA_HOME=c:/jdk (winï¼å¨msdosæ¹å¼ä¸ä½¿ç¨ï¼æè æ¾å ¥autoexec.batä¸)
export JAVA_HOME=/usr/local/jdk (linuxä¸ä½¿ç¨ï¼æ¾å°/etc/bashrcæè /etc/profileä¸)
(ä¸)ï¼è¿è¡
设置å®æ¯åå°±å¯ä»¥è¿è¡tomcatæå¡å¨äºï¼è¿å ¥tomcatçbinç®å½ï¼winä¸ç¨startupå¯å¨tomcatï¼linuxä¸ç¨startup.shï¼ç¸åºçå ³étomcatçå½ä»¤ä¸ºshutdownåshutdown.shã
å¯å¨åå¯ä»¥å¨æµè§å¨ä¸è¾å ¥p.os.minixåå¸äºå¤§çº¦æä¸ä¸è¡ä»£ç çLinux v0.çæ¬ã
å°äºå¹´ï¼å¤§çº¦æ人å¨ä½¿ç¨Linuxï¼å¼å¾ä¸æçæ¯ï¼ä»ä»¬åºæ¬ä¸é½å±äºçæ£æä¹ä¸çhackerã
å¹´ï¼å¤§çº¦æä½åç¨åºååä¸äºLinuxå æ ¸ä»£ç ç¼å/ä¿®æ¹å·¥ä½ï¼å ¶ä¸æ ¸å¿ç»ç±5人ç»æï¼æ¤æ¶Linux 0.ç代ç æ大约æåä¸è¡ï¼ç¨æ·å¤§çº¦æä¸å·¦å³ã
å¹´3æï¼Linux1.0åå¸ï¼ä»£ç éä¸è¡ï¼å½æ¶æ¯æç §å®å ¨èªç±å è´¹çåè®®åå¸ï¼éåæ£å¼éç¨GPLåè®®ãè³æ¤ï¼ Linuxç代ç å¼åè¿å ¥è¯æ§å¾ªç¯ãå¾å¤ç³»ç»ç®¡çåå¼å§å¨èªå·±çæä½ç³»ç»ç¯å¢ä¸å°è¯linuxï¼å¹¶å°ä¿®æ¹ç代ç æ交ç»æ ¸å¿å°ç»ãç±äºæ¥æäºä¸°å¯çæä½ç³»ç» å¹³å°ï¼å è Linuxç代ç ä¸ä¹å å®äºå¯¹ä¸å硬件系ç»çæ¯æï¼å¤§å¤§çæé«äºè·¨å¹³å°ç§»æ¤æ§ã
å¹´ï¼æ¤æ¶çLinux å¯å¨IntelãDigital 以åSun SPARCå¤çå¨ä¸è¿è¡äºï¼ç¨æ·éä¹è¶ è¿äºä¸ï¼ç¸å ³ä»ç»LinuxçLinux Journalæå¿ä¹åè¡äºè¶ è¿ä¸åä¹å¤ã
å¹´6æï¼Linux 2.0å æ ¸åå¸ï¼æ¤å æ ¸æ大约ä¸è¡ä»£ç ï¼å¹¶å¯ä»¥æ¯æå¤ä¸ªå¤çå¨ãæ¤æ¶çLinux å·²ç»è¿å ¥äºå®ç¨é¶æ®µï¼å ¨ç大约æä¸äººä½¿ç¨ã
å¹´å¤ï¼å¤§çãæ³°å¦å°¼å å·ãå¨å¶ä½ç¹æä¸ä½¿ç¨çå°Alphaå¾å½¢å·¥ä½ç«ä¸ï¼æå°éç¨äºLinuxæä½ç³»ç»ã
å¹´æ¯Linuxè¿ çåå±çä¸å¹´ã1æï¼å°çº¢å¸½é«çº§ç åå®éªå®¤æç«ï¼åå¹´RedHat 5.0è·å¾äºInfoWorldçæä½ç³»ç»å¥é¡¹ã4æMozilla 代ç åå¸ï¼æ为linuxå¾å½¢çé¢ä¸çççæµè§å¨ãRedhat 宣å¸åä¸æ¯æ计åï¼ç½ç»äºå¤åä¼ç§ææ¯äººåå¼å§åä¸è¿ä½ãççæç´¢å¼æ"Google"ç°èº«ï¼éç¨çä¹æ¯Linuxæå¡å¨ãå¼å¾ä¸æçæ¯ï¼ Oracle åInformix 两家æ°æ®åºååæ确表示ä¸æ¯æLinuxï¼è¿ä¸ªå³å®ç»äºäºMysqlæ°æ®åºå åçåå±æºä¼ãåå¹´æï¼IntelåNetscape宣å¸å°é¢æèµçº¢å¸½è½¯ 件ï¼è¿è¢«ä¸çè§ä½Linuxè·å¾åä¸è®¤åçä¿¡å·ãåæï¼å¾®è½¯å¨æ³å½åå¸äºåLinuxå ¬å¼ä¿¡ï¼è¿è¡¨æå¾®è½¯å ¬å¸å¼å§å°Linuxè§ä½äºä¸ä¸ªå¯¹ææ¥å¯¹å¾ ãåäº æï¼IBMåå¸äºéç¨äºLinuxçæ件系ç»AFS 3.5以åJikes Java ç¼è¾å¨åSecure MaileråDB2æµè¯çï¼IBMçæ¤çªè¡ä¸ºï¼å¯ä»¥çä½æ¯ä¸Linuxç¾ççå°ç¬¬ä¸æ¬¡äº²å¯æ¥è§¦ãè¿«äºWindowsåLinuxçååï¼Sunéæ¸å¼æ¾ äºJavaåè®®ï¼å¹¶ä¸å¨UltraSparcä¸æ¯æLinuxæä½ç³»ç»ãå¹´å¯è¯´æ¯Linuxä¸åä¸æ¥è§¦çä¸å¹´ã
å¹´ï¼IBM宣å¸ä¸Redhatå ¬å¸å»ºç«ä¼ä¼´å ³ç³»ï¼ä»¥ç¡®ä¿Redhatå¨IBMæºå¨ä¸æ£ç¡®è¿è¡ãä¸æï¼ç¬¬ä¸å± LinuxWorld 大ä¼çå¬å¼ï¼è±¡å¾Linuxæ¶ä»£çæ¥ä¸´ãIBMãCompaqåNovell宣å¸æèµRedhatå ¬å¸ï¼ä»¥åä¸ç´å¯¹Linuxæå¦å®æ度çOracleå ¬ å¸ä¹å®£å¸æèµãäºæï¼SGIå ¬å¸å®£å¸åLinux移æ¤å ¶å è¿çXFSæ件系ç»ã对äºæå¡å¨æ¥è¯´ï¼é«æå¯é çæ件系ç»æ¯ä¸å¯æ缺çï¼SGIçæ ·æ ¨ç§»æ¤åä¸æ¬¡ 帮å©äºLinuxç¡®ç«å¨æå¡å¨å¸åºçä¸ä¸æ§ã7æIBMå¯å¨å¯¹Linuxçæ¯ææå¡ååå¸äºLinux DB2ï¼ä»æ¤ç»æäºLinuxå¾ä¸å°æ¯ææå¡çåå²ï¼è¿å¯ä»¥è§ä½Linuxçæ£æ为æå¡å¨æä½ç³»ç»ä¸åçéè¦éç¨ç¢ã
å¹´åå§ï¼Sunå ¬å¸å¨Linuxçååä¸å®£å¸Solaris8éä½å®ä»·ãäºå®ä¸Linux对Suné æçå²å»è¿æ¯å¯¹ Windowsæ¥å¾æ´å¤§ã 2æRed Hatåå¸äºåµå ¥å¼Linuxçå¼åç¯å¢ï¼Linuxå¨åµå ¥å¼è¡ä¸çæ½åéæ¸è¢«åæåºæ¥ãå¨4æï¼æææå ¬å¸å®£å¸äºæ¨åºä¸å½é¦å®¶Linuxå·¥ç¨å¸è®¤è¯è è¯ï¼ä»æ¤ä½¿Linuxæä½ç³»ç»ç®¡çåçæ°´åå¯ä»¥å¾å°æå¨æºæçèµæ ¼è®¤è¯ï¼æ¤ä¸¾å¤§å¤§å¢å äºå½å Linuxç±å¥½è å¦ä¹ ççæ ãä¼´éçå½é ä¸çLinuxçæ½®ï¼ å½å çèæ³åèé¦æ¨åºäº"幸ç¦Linux家ç¨ç"ï¼åå¹´7æä¸ç§é¢ä¸æ°åç§æåä½åå±çº¢æLinux, æ¤ä¸¾è®©æ´å¤çå½å 个人ç¨æ·è®¤è¯å°äºåå¨çLinuxè¿ä¸ªæä½ç³»ç»ãæï¼Intel ä¸ Xteamåä½ï¼æ¨åºåºäºLinuxçç½ç»ä¸ç¨æå¡å¨ï¼æ¤ä¸¾ç»æäºå¨Linuxåå顺åºç¡¬ä»¶å硬件å¼å驱å¨çåå²ã
ææ°å¹´ä¾ä½¿å°±çåºæ°é»ï¼Oracle宣å¸å¨OTNä¸çææä¼åé½å¯å 费索åOracle 9içLinuxçæ¬ï¼ä»å å¹´åç"ç»ä¸æ¶è¶³Linuxç³»ç»"å°å¦ä»ç主å¨ç®åªï¼è¶³ä»¥ä½ç°Linuxçåå±è¿ çãIBMåå³å®æå ¥äº¿ç¾å æ©å¤§ Linuxç³»ç»çè¿ç¨ï¼æ¤ä¸¾ç¹å¦ä¸é强å¿åï¼ä»¤åå°è¡çæèµè 们é»é£èå¨ãå°äº5æè¿ä¸ªåå¤çæ¶èï¼å¾®è½¯å ¬å¼å对"GPL"å¼èµ·äºä¸åºå¤§è§æ¨¡ç论æã8æ 红è²ä»£ç çåï¼å¼å¾è®¸å¤ç«ç¹çº·çº·ä»windowsæä½ç³»ç»è½¬ålinuxæä½ç³»ç»ï¼è½ç¶æ¯ä¸æ¬¡è¢«å¨ç转åï¼ä¸è¿ä¹ç®æ¯ä¸æ¬¡åºç¨æ®åå§ãæRed Hat 为IBM s/大å计ç®æºæä¾äºLinux解å³æ¹æ¡ï¼ä»æ¤ç»æäºAIXå¤åç¬è¡æ 人伴çåå²ã
å¹´æ¯Linuxä¼ä¸åçä¸å¹´ã2æï¼å¾®è½¯å ¬å¸è¿«äºåæ´²æ¿åºçååï¼å®£å¸æ©å¤§å ¬å¼ä»£ç è¡å¨ï¼è¿å¯æ¯Linuxå¼æºå¸¦æ¥çæ·±å»å½±åçç»æã3æï¼å æ ¸å¼åè 宣å¸æ°çLinuxç³»ç»æ¯æä½ç计ç®æºã
å¹´1æï¼NEC宣å¸å°å¨å ¶ææºä¸ä½¿ç¨Linuxæä½ç³»ç»ï¼ä»£è¡¨çLinuxæåè¿åææºé¢åã5æä¹ä¸SCO表示就 Linux使ç¨çæ¶å«æªææ代ç çé®é¢å¯¹IBMè¿è¡èµ·è¯ï¼æ¤æ¶äººä»¬æçæå°ï¼åæ¬ç±SCOåæçé¶è¡/éèé¢åï¼ä»½é¢å·²ç»è¢«Linuxæ¢å äºä¸å°ï¼ä¹é¾æª SCOå¦æ¤æ°æ¥è´¥åäºã9 æä¸ç§çº¢æåå¸Red Flag Server4çæ¬ï¼æ§è½æ¹è¿è¯å¤ãæIBM注èµNovell以2.1亿æ¶è´SuSEï¼åæRedhat计ååæ¢å è´¹çLinuxï¼é¡¿æ¶ä¸å éªå£°å èµ·ãLinuxå¨åä¸åçè·¯ä¸æ¸è¡æ¸è¿ã
å¹´ç第1æï¼æ¬ç"天ä¸äºåä¹ å¿ åï¼åä¹ å¿ å"ä¹å¤©çï¼SuSEå«å°äºNovellï¼SCO继ç»é¡¶çéªååå¤å¼ºè¡"åç¼ "ï¼ Asianuxï¼ MandrakeSoftä¹å¨äºå¹´ä¸é¦æ¬¡å®£å¸å£åº¦èµ¢å©ã3æSGI宣å¸æåå®ç°äºLinuxæä½ç³»ç»æ¯æ个Itanium 2å¤çå¨ã4æéç¾å½æ¯å¦ç¦å¤§å¦Linux大åæºç³»ç»è¢«é»å®¢æ»é·ï¼å次è¯æäºæ²¡æç»å¯¹å®å ¨çOSãå æçç»è®¡æ¥åæ¾ç¤ºå¨ä¸çå¼ºè¶ çº§è®¡ç®æºç³»ç»ä¸ï¼ä½¿ ç¨Linuxæä½ç³»ç»çå·²ç»å å°äºå¸ï¼æ¢å äºåæ¬å±äºåç§Unixç份é¢ã9æHPå¼å§ç½ç½Linuxå æ ¸ä»£ç 人åï¼ä»¥å½±åæ°çæ¬çå æ ¸æ对HPæ å©çæ¹å¼åå±ï¼èIBMååå¤æ¨åºOpenPoweræå¡å¨ï¼ä» è¿è¡Linuxç³»ç»ã
Linuxçåºç¨
没æåä¸æ´»å¨ï¼å°±æ²¡æLinuxï¼æ²¡æä¿¡æ¯èªç±çèªè§ï¼æ´ä¸å¯è½æLinuxãLinuxé¤äºæ¯ä¼è¯ç软件å¼åå¹³å°ä¹å¤ï¼ä¹æ¯å·¥ä½ãå®¶å± ç好ä¼ä¼´ãæ人说â¶æäºLinuxï¼å°±çäºæäºé¿æç¥ç¯ãæ¤è¨ä¸åç£ãåæ人说â¶å°ç°å¨è¿æ²¡æ移æ¤å°Linuxç软件ï¼è¯å®æ¯ä¸ç¹ä»·å¼ä¹æ²¡æçãè¿è¯ä¹ä¸å·®åã
Linuxçåå±è¯å®äºä¿¡æ¯ä¼ææ¥æ便å®çè¶å¿ï¼å 为便å®ï¼å¸åºä¾¿æ éæ©å¼ ãåä¸æ´»å¨ä¹è½¬å为以æå¡ä¸ºå¯¼åçåæãæç´æ¥çæ¡ä¾ä¾¿æ¯ISPçåºç¨ãLinuxå¯ä»¥ç¨æ¥æ¶è®¾ISPï¼
Linux Journalçåè¡äººSSCï¼Specialized System Consultantsï¼ä¾¿æ¯ä»¥Linuxå为ç½ç»æ¨æ¥æå¡å¹³å°çãè¦æ为ISPä¸è ï¼éè¦æè¿æ¥è³å ç¹ç½çè½åï¼å¤åºåéæ¨æ¥æå¡ï¼å¦ CycadesãMaxspeedãGtekçå ¬å¸ææä¾ç软件系ç»ï¼ï¼PPPåSLIPçæå¡ï¼Usenetæ°é»ç¾¤ç»ï¼å¦INNï¼ï¼é®ä»¶ééï¼å¦ sendmailï¼ï¼ç½é¡µæå¡å¨ï¼å¦Apacheï¼ï¼å¤ä»½åè½ï¼å¦tarãcpioï¼çççåºç¨è½¯ä»¶ãç±æ¤è§å¯ï¼ä¸»è¦çæ§å¶ææ¬ä¼è½å¨å ç¹ç½çé讯ç§è´¹ ä¸ï¼æèµLinuxçè´¹ç¨æ¯é常ä½çã
ä¸é¢æ¯æ¯è¾èåãæµè¡çLinuxåè¡çæ¬
Mandriva
MandrivaååMandrakeï¼ææ©ç±Gaël Duvalå建并å¨å¹´7æåå¸ãè®°å¾å两年å½å åå¼å§æ®åLinuxæ¶ï¼Mandrakeé常æµè¡ã说起Mandrakeçåå²ï¼å ¶å®ææ© Mandrakeçå¼åè æ¯åºäºRedhatè¿è¡å¼åçãRedhaté»è®¤éç¨GNOMEæ¡é¢ç³»ç»ï¼èMandrakeå°ä¹æ¹ä¸ºKDEãèç±äºå½æ¶ç Linuxæ®éæ¯è¾é¾å®è£ ï¼ä¸éå第ä¸æ¬¡æ¥è§¦Linuxçæ°æï¼æ以Mandrakeè¿ç®åäºå®è£ ç³»ç»ãææ³è¿ä¹æ¯å½æ¶Mandrakeå¨å½å å¦æ¤çº¢ç«ç åå ä¹ä¸ãMandrakeå¨æç¨æ§æ¹é¢çç¡®æ¯ä¸äºä¸å°å夫ï¼å æ¬é»è®¤æ åµä¸ç硬件æ£æµçã
Mandrakeçå¼åå®å ¨éæåï¼å æ¬âcookerâãå½ç³»ç»æäºæ°çæµè¯çæ¬åï¼ä¾¿å¯ä»¥å¨cookerä¸æ¾å°ãä¹åMandrakeçæ°çæ¬çåå¸é度å¾å¿«ï¼ä½ä»9.0ä¹å便å¼å§åç¼ã估计æ¯å¸æè½å¤å»¶é¿çæ¬ççå½å以确ä¿ç¨³å®åå®å ¨æ§ã
ä¼ç¹ï¼å好çæä½çé¢ï¼å¾å½¢é ç½®å·¥å ·ï¼åºå¤§ç社åºææ¯æ¯æï¼NTFSååºå¤§å°åæ´
缺ç¹ï¼é¨åçæ¬bugè¾å¤ï¼ææ°çæ¬åªå åå¸ç»Mandrake俱ä¹é¨çæå.
ä½ èªå·²æå§ï¼ï¼ï¼