Java

±¾ÀàÔĶÁTOP10

¡¤Ê¹ÓÃMyEclipse¿ª·¢Struts¿ò¼ÜµÄHello World!(¼Ïñ1)
¡¤hibernateÅäÖñʼÇ
¡¤AOP±à³ÌÈëÃÅ--Javaƪ
¡¤linuxÏÂTomcat 5.0.20 Óë Apache 2 °²×°/¼¯³É/ÅäÖÃ
¡¤ÔÚwin2003ÏÂÕûºÏÁËÕûºÏTomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
¡¤¹¹½¨LinuxÏÂIDE»·¾³--Eclipseƪ
¡¤Jsp Á¬½Ó mySQL¡¢Oracle Êý¾Ý¿â±¸Íü(Windowsƽ̨)
¡¤ASP¡¢JSP¡¢PHP ÈýÖÖ¼¼Êõ±È½Ï
¡¤Tomcat5.5.9µÄ°²×°ÅäÖÃ
¡¤AWT GUI Éè¼Æ±Ê¼Ç(¶þ)

¡ú ·ÖÀർº½
VCÓïÑÔDelphi
VBÓïÑÔASP
PerlJava
ScriptÊý¾Ý¿â
ÆäËûÓïÑÔÓÎÏ·¿ª·¢
Îļþ¸ñÊ½ÍøÕ¾ÖÆ×÷
Èí¼þ¹¤³Ì.NET¿ª·¢
Apache ¼ò½é¼°»ù±¾ÅäÖÃ

×÷ÕߣºÎ´Öª À´Ô´£ºÔ¹âÈí¼þÕ¾ ¼ÓÈëʱ¼ä£º2005-2-28¡¡Ô¹âÈí¼þÕ¾

Ò». Apache¼ò½é: 
ApacheÊÇÊÀ½çÅÅÃûµÚÒ»µÄWeb·þÎñÆ÷, ¸ù¾ÝNetcraft(www.netsraft.co.uk)Ëù×÷µÄµ÷²é,ÊÀ½çÉϰٷÖÖ®ÎåÊ®ÒÔÉϵÄWeb·þÎñÆ÷ÔÚʹÓÃApache. 
1995Äê4ÔÂ, ×îÔçµÄApache(0.6.2°æ)ÓÉApache Group¹«²¼·¢ÐÐ. Apache Group ÊÇÒ»¸öÍêȫͨ¹ýInternet½øÐÐÔË×÷µÄ·ÇÓ¯Àû»ú¹¹, ÓÉËüÀ´¾ö¶¨Apache Web·þÎñÆ÷µÄ±ê×¼·¢ÐаæÖÐÓ¦¸Ã°üº¬ÄÄЩÄÚÈÝ. ×¼ÐíÈκÎÈËÐÞ¸ÄÒþ´í, ÌṩеÄÌØÕ÷ºÍ½«ËüÒÆÖ²µ½ÐÂµÄÆ½Ì¨ÉÏ, ÒÔ¼°ÆäËüµÄ¹¤×÷. µ±ÐµĴúÂë±»Ìá½»¸øApache Groupʱ, ¸ÃÍÅÌåÉóºËËüµÄ¾ßÌåÄÚÈÝ, ½øÐвâÊÔ, Èç¹ûÈÏΪÂúÒâ, ¸Ã´úÂë¾Í»á±»¼¯³Éµ½ApacheµÄÖ÷Òª·¢ÐаæÖÐ. 
Apache µÄÌØÐÔ: 
1) ¼¸ºõ¿ÉÒÔÔËÐÐÔÚËùÓеļÆËã»úƽ̨ÉÏ. 
2) Ö§³Ö×îеÄHTTP/1.1ЭÒé 
3) ¼òµ¥¶øÇÒÇ¿ÓÐÁ¦µÄ»ùÓÚÎļþµÄÅäÖÃ(HTTPD.CONF). 
4) Ö§³ÖͨÓÃÍø¹Ø½Ó¿Ú(CGI) 
5) Ö§³ÖÐéÄâÖ÷»ú. 
6) Ö§³ÖHTTPÈÏÖ¤. 
7) ¼¯³ÉPERL. 
8) ¼¯³ÉµÄ´úÀí·þÎñÆ÷ 
9) ¿ÉÒÔͨ¹ýWEBä¯ÀÀÆ÷¼àÊÓ·þÎñÆ÷µÄ״̬, ¿ÉÒÔ×Ô¶¨ÒåÈÕÖ¾. 
10) Ö§³Ö·þÎñÆ÷¶Ë°üº¬ÃüÁî(SSI). 
11) Ö§³Ö°²È«SOCKET²ã(SSL). 
12) ¾ßÓÐÓû§»á»°¹ý³ÌµÄ¸ú×ÙÄÜÁ¦. 
13) Ö§³ÖFASTCGI 
14) Ö§³ÖJAVA SERVLETS. 
... 
"ȱµã"(MAYBE IT IS, MAYBE NOT): 
APACHEûÓÐΪ¹ÜÀíÔ±ÌṩͼÐÎÓû§½Ó¿Ú(GUI), µ«×î½üµÄAPACHE°æ±¾ÒѾ­ÓÐÁËGUIµÄÖ§³Ö. 

ÒÔÏÂÊÇAPACHEµÄÐí¿ÉÖ¤ 
/* ==================================================================== 
* The Apache Software License, Version 1.1 

* Copyright (c) 2000 The Apache Software Foundation. All rights 
* reserved. 

* Redistribution and use in source and binary forms, with or without 
* modification, are permitted provided that the following conditions 
* are met: 

* 1. Redistributions of source code must retain the above copyright 
* notice, this list of conditions and the following disclaimer. 

* 2. Redistributions in binary form must reproduce the above copyright 
* notice, this list of conditions and the following disclaimer in 
* the documentation and/or other materials provided with the 
* distribution. 

* 3. The end-user documentation included with the redistribution, 
* if any, must include the following acknowledgment: 
* "This product includes software developed by the 
* Apache Software Foundation (http://www.apache.org/)." 
* Alternately, this acknowledgment may appear in the software itself, 
* if and wherever such third-party acknowledgments normally appear. 

* 4. The names "Apache" and "Apache Software Foundation" must 
* not be used to endorse or promote products derived from this 
* software without prior written permission. For written 
* permission, please contact apache@apache.org. 

* 5. Products derived from this software may not be called "Apache", 
* nor may "Apache" appear in their name, without prior written 
* permission of the Apache Software Foundation. 

* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
* SUCH DAMAGE. 
* ==================================================================== 

* This software consists of voluntary contributions made by many 
* individuals on behalf of the Apache Software Foundation. For more 
* information on the Apache Software Foundation, please see 
* <http://www.apache.org/>. 

* Portions of this software are based upon public domain software 
* originally written at the National Center for Supercomputing Applications, 
* University of Illinois, Urbana-Champaign. 
*/ 


¿ÉÒÔ¿´³ö, APACHE²»ÒªÇóÈκÎÈ˰ѶÔAPACHEµÄÐ޸Ĺ«¿ª(²»ÊÜGPLÌõ¿îÔ¼Êø). 

¶þ. ApacheµÄ»ù±¾ÅäÖü°ËµÃ÷: 

1.»ñµÃApache: 

»ñµÃapacheÔ´´úÂë×î·½±ãµÄ·½·¨Êǵ½http://www.apache.org,Ñ¡Ôñ×îеİ汾¡£È»ºó, 
tar xvzf apache_x.x.xx.tar.gz 

2. ±àÒëApache 
ÔÚsrcĿ¼Ï 
./configure ¿ÉÓà./configure--help|less µÃµ½°ïÖú, 
make, make install, install 

3. apacheµÄÆô¶¯ºÍ¹Ø±Õ 
sbin/apachectl start 
sbin/apachectl stop 
sbin/apachectl restart (ÖØÆð) 

4. Ò»Ð©Ä£¿é½éÉÜ: 
ÏÂÁеÄ×éÄ£¿é¿ØÖƽøÈëºÍÑéÖ¤ 
Acess ½øÈë¿ØÖÆ 
auth ¼ì²éUnix-style¿ÚÁîºÍ×éÎļþµÄ»ù±¾µÄÑéÖ¤¡£ 
auth-anon Ê¹ÓÃÄäÃûµÄFTP-style usernamesºÍ¿ÚÁî¡£ 
auth-dbm Ê¹ÓÃBerkeley dbÎļþ´æ´¢usernames£¬¿ÚÁºÍ×éÐÅÏ¢¡£Èç¹ûÄãÓкܶàusernames²¢¹ØÐÄÐÔÄÜ£¬ ÕâÊǺÜÓÐÓõġ£ 
digest Ê¹Ó**TTPÎÄÕªÈÏÖ¤£¬Õâ±È»ù±¾ÈÏÖ¤¸ü°²È«¡£ 
expire Ä£¿éÈÃÄã¶¨ÖÆExpire¹ýÆÚʱ¼ä 

5. Apache1.3µÄȱʡĿ¼²¼¾ÖÊÇ£º 
./bin 
·þÎñÆ÷¶þ½øÖÆ£¬apachectlÔ­±¾ 
./conf 
ApacheÅäÖÃÎļþ 
./include/apache 
Apache±êÌâÎļþ 
./libexec 
¹²ÓõĶÔÏóÎļþ 
./man 
man Ò³ 
./sbin 
·þÎñÆ÷¶þ½øÖÆ£¬apachectlÔ­±¾£¬log rotator 
./cgi-bin 
ȱʡCGIÔ­±¾/¶þ½øÖƵÄĿ¼ 
./share/htdocs 
ȱʡÎļþ¸ù 
./htdocs/manual 
ApacheÊÖ²á 
./share/icon 
°üº¬¸÷ÖÖͼ±êGIFsµÄĿ¼ 
./var/apache/log 
logÎļþµÄĿ¼ 
./var/apache/proxy 
proxy»º´æÄ¿Â¼ 
./var/apache/run 
httpd.pid(°üº¬Ö÷ÒªµÄhttpd¹ý³Ì±êʶ·ûµÄÎļþ)ÔÚ´ËĿ¼ 

6. Ö÷ÒªÎļþÈçÏÂ: 
httpd.conf, ÔÚ/usr/local/apache/conf»ò/etc/httpd/confÏ 
apachectl, ÔÚ/usr/local/apache/bin»ò/etc/httpd/binÏ 
access_log, ¼Í¼Óû§·ÃÎÊÐÅÏ¢, ÔÚ../logsÀï 
error_log, ¼Í¼Óû§·ÃÎÊ´íÎóÐÅÏ¢, Ò²ÔÚ../logsÀï 

7. httpd.conf »ù±¾ÉèÖà
Port, Apache ÔÚÄÄÒ»¸ö TCP ¶Ë¿Ú½øÐÐÕìÌý£¬HTTP µÄĬÈ϶˿ÚΪ 80¡£Èç¹ûÄãʹÓÃÆäËü¶Ë¿Ú£¬Äã²»µÃ²»ÔÚ URLs ÖÐÖ¸¶¨¶Ë¿ÚÀ´Á¬½ÓÄãµÄ·þÎñÆ÷£¬ 

User,Group ÓÉÓÚ°²È«ÉϵÄÔ­Òò£¬ÔÚ Linux ÉÏ£¬¿ÉÒÔͨ¹ý°Ñ User ºÍ Group ¶¼ÉèÖóɠnobody 

ServerRoot ²ÎÊýÓ¦¸ÃÊÇ Apache °²×°µÄ»ù´¡¡£³ý·ÇÄãÒÆ¶¯ÁËÖÜΧµÄ×ÊÁÏ£¬·ñÔòÆäÖµÓëÄãËù¸ø¶¨µÄÖµÒ»Ñù¡£ 

ServerName, Èç¹ûÄãµÄ»úÆ÷Óжà¸öÃû³Æ»òÕß IP µØÖ·£¬ÉèÖàApache ±íÕ÷·þÎñÆ÷µÄÃû³Æ¡£ 

DocumentRoot ÊÇ Web Ê÷µÄ¸ùĿ¼£¬ 

UserDir ÔÚÆôÓà~username ´¦ÀíÇëÇóʱ, ´ËÖ¸Áî¸æËß Apache ÄĸöĿ¼׷¼Óµ½Óû§µÄÖ÷Ŀ¼£¨home£©¡£UserDir ±»ÉèÖÃΪ public_html¡£Óû§½«Ö»Óлù±¾µÄÍøÒ³·þÎñ¹¦ÄÜ£¬ 

<Directory>ÊÇÒ»¸öÈÝÆ÷Ö¸Áî¡£</Directive>¸ñʽµÄ½áÊøÖ¸Áî¡£ 

<Directive>¼°Ïà¹ØµÄ<Files>ºÍ<FilesMatch>Ö¸ÁîµÄÄ¿µÄ£¬ÊÇΪÁËÈÃÄãÔÚÿ¸öĿ¼»òÕßÿ¸öÎļþµÄ»ù´¡ÉÏ£¬¿ØÖÆApacheÐÐΪµÄ·½Ê½¡£Ö¸Áî·ÅÔÚ<Directory>ÖУ¬Ò²ÊÊÓÃÓÚ×ÓĿ¼¡£ 

FollowSymLinksÑ¡Ï¸æËß Apache Ëü¿ÉÒÔ´ÓÎĵµ¸ùĿ¼ÄÚ²¿µ½Îĵµ¸ùĿ¼Íⲿ¸ú×Ù·ûºÅÁ´½Ó¡£ÔÚÎĵµ¸ùĿ¼ÄÚ²¿£¬FollowSymLinks ºÍ Indexes ¶¼´¦ÓÚ¿ªÆô״̬£¨on£©¡£ÍòһȱʡµÄË÷ÒýÎļþ£¨Í¨³£Îª index.html)²»´æÔÚʱ£¬×îºóÔÊÐíĿ¼ÁбíÏÔʾ¡£ 

Directory ÖУ¬ÓàOptions Ö¸ÁîÄã¿ÉÒÔ¿ØÖÆÊ²Ã´Ñ¡ÏîÊDZ»ÔÊÐíµÄ¡£ 

Options Ö¸Áî: 
1) ExecCGI CGI ½Å±¾³ÌÐòÄܹ»ÔËÐÐÓÚ¸ÃĿ¼Ê÷¡£ 
2) FollowSymLinks ÔÚ¸ÃĿ¼ÖУ¬·þÎñÆ÷½«¸ú×Ù·ûºÅÁ´½Ó¡£×¢Ò⣺¼´Ê¹·þÎñÆ÷¸ú×Ù·ûºÅÁ´½Ó£¬ËüÒ²²»»á¸Ä±äÓÃÀ´Æ¥Åä²»Í¬ÇøÓòµÄ·¾¶Ãû¡£×¢Ò⣺Èç¹ûÔÚÇøÓòÄÚÉèÖ㬸ÃÑ¡Ïî»á±»ºöÂÔ¡£ 
3) Includes ·þÎñÆ÷¶Ë°üÈݱ»ÔÊÐí¡£ 
4) IncludesNOEXEC ·þÎñÆ÷¶ËÒýÓñ»ÔÊÐí£¬µ« #exec ÃüÁîºÍ CGI ½Å±¾³ÌÐòµÄ #include ±»½ûÖ¹¡£ 
5) Indexes Èç¹ûÒªÇóÓ³É䵽Ŀ¼µÄ URL ºÍÔÚ¸ÃĿ¼ÀïûÓРDirectoryIndex£¨ÀýÈ磬index.html£©£¬ÄÇô·þÎñÆ÷½«·µ»Ø¸ñʽ»¯µÄĿ¼ÁÐ±í¡£ 
6) MultiViews ´¦Àí¶àÖØä¯ÀÀÄÚÈݱ»ÔÊÐí¡£ 
7) SymLinksIfOwnerMatch Í¨¹ýÓëÓû§ id Ò»ÑùµÄÁ´½Ó£¬·þÎñÆ÷Ö»¸ú×ÙÄ¿±êÎļþ»òÕßĿ¼ËùÓµÓеķûºÅÁ´½Ó¡£ 
8) All ³ý MultiViews ÍâµÄÒ»Çж«Î÷¡£ÒªÊÇûÓРOptions Ö¸ÁĬÈÏΪall. 

AccessFileName ÃüÁîÀ´ÉèÖã¨È±Ê¡ÉèÖÃΪ .htaccess£©¡£ÔÚÈκÎĿ¼ÖУ¬Apache ÅäÖÃÖ¸Áî¿É±»·ÅÈëÒ»¸ö½Ð×ö .htaccess µÄÎļþ¡£Ö¸ÁîÒ²¿ÉÓ¦ÓÃÓÚĿ¼ÀïµÄ×ÓĿ¼¡£ÔÚ·ÃÎÊÎļþÖУ¬ 

AllowOverride ¿ØÖÆÄĸöÖ¸Á±»Ê¹Óá£Èç¹û AllowOverride ±»ÉèÖÃΪ none¡£Apache ÉõÖÁ²»»á¼ì²é·ÃÎÊÎļþ¡£ 

AllowOverride ²ÎÊý: 
1) AuthConfig£¬ ÊÚȨָÁîÄÄÒ»¸öÔÊÐíʹÓã» 
2) FileInfo£¬ÓÃÀ´¿ØÖÆÎĵµÀàÐͺʹ¦Àí·½·¨µÄÖ¸Á 
3)Indexes£¬Ê¹ÓÃÆäÖеÄÒ»¸öÖ¸ÁîÀ´¿ØÖÆÄ¿Â¼ÁÐ±í¡¢Í¼±êµÈµÄÏÔʾ£» 
4) Limit£¬ÔÊÐíʹÓÃÖ¸ÁîÀ´¿ØÖÆÖ÷»ú·ÃÎÊ£» 
5) Options£¬Ê¹ÓàOptions Ö¸ÁîÖеÄÒ»¸ö¡£ 

“allow”ºÍ“deny”Ö¸Áî¾ÍÊÇÓÃÀ´¿ØÖÆ·ÃÎʵġ£µÚÈý¸öÖ¸Áî“order”£¬¿ØÖÆÕâЩָÁîµÄʹÓÃ˳Ðò¡£Èç¹ûÄã°Ñ˳ÐòÉèÖóɠallow,deny£¬¶øÃ»ÓÐÖ¸¶¨ÄĸöÖ÷»úÊDZ»¾Ü¾øµÄ»°£¬ÔòËùÓÐÖ÷»ú¶¼±»¼Ù¶¨Îª½ûÖ¹·ÃÎÊ¡£ÔÚ±¾Àý×ÓÖУ¬allow Ö¸ÁѡÖУ¬deny Ö¸Áî±»ÆÕ±éÓ¦Óá£ÔÚ .htaccess Îļþ»òÕß <Directory> Ö¸ÁîÄÚ£¬¸ü¶àµäÐ͵ÄÅäÖÿÉÄÜÊÇ£º 
order allow,deny 
allow from all 
deny aaa.com 
ËùÓÐÖ÷»ú±»ÔÊÐí£¬³ýÁËÄÇЩÀ´×Ô aaa.com ÓòµÄÖ÷»ú¡£ 

Èç¹ûÏà·´£¬ 
order deny,allow 
deny from all 
allow from 11.23.44 
deny Ê×Ïȱ»¼ì²é¡£Ö»ÓÐÀ´×Ô 11.23.44 IP ÍøÂçµÄÖ÷»ú²Å±»ÔÊÐí·ÃÎÊ¡£ËüÒ²¿ÉÄÜÖ¸¶¨ÍøÂçÑÚÂ룬²ÎÊý 11.23.44.0/255.255.255.0 Ï൱ÓÚÉÏÃæµÄÀý×Ó¡£ 

Èý. ÌØÊâÅäÖÃ: 
1. Ö§³ÖÓû§¸öÈËÖ÷Ò³: 
ÔÚ../conf/httpd.confÖмÓÈë 
UserDir /home/*/public_html 
ÉèÖÃÓû§¿ÉÒÔʹÓÃCGIµÈ: 
<Directory /home/*/public_html/cgi-bin> 
options ExecCGI 
SetHandler cgi-bin #Èç¹ûÔÚÈ«¾ÖÉèÖÃÁËAddHandler cgi-bin .cgi ..., 
#Õâ¶ù¾Í²»ÓÃÉèÁË 
</Directory> 

2. ÐéÄâÖ÷»úÉèÖÃ: 

1)»ùÓÚIPµÄÐéÄâÖ÷»ú 
Èô¸Ã»úÆ÷µÄIPµØÖ·Îª192.168.0.2,ÐéÄâµÄIPΪ192.168.0.3 
Ê×ÏÈ, ÔÚһ̨»úÆ÷µÄÍø¿¨Éϰ󶨶à¸öIPµØÖ·È¥·þÎñ¶à¸öÐéÄâÖ÷»ú¡£ 
#/sbin/ifconfig eth0:0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.11.255 up 
#/sbin/route add -host 192.168.0.2 eth0:0 

ÉèÖÃ../conf/httpd.confÎļþ£º 
¿´DocumentRootÊÇʲô, Èç¹ûΪ/home/httpd 
<VirtualHost 192.168.0.3> 
DocumentRoot /home/httpd/aaa 
</VirtualHost> 

´´½¨Ä¿Â¼ 
/home/httpd/aaa, 

2)»ùÓÚÃû×ÖµÄÐéÄâÖ÷»ú£º 
±à¼­../conf/httpd.conf 

NameVirtualHost 192.168.0.2 
<VirtualHost 192.168.11.2> 
DocumentRoot /home/httpd/aaa 
ServerName aaa.yourdomain.com 
</VirtualHost> 

ÒªÓÐNameVirtualHostÔÚ×îÇ°Ãæ£¬ÏÂÃæÒÀ´ÎΪ¸÷¸öÐéÄâÖ÷»ú£¬ 
»¹ÐèÒª°Ñaaa.yourdomain.comµÄDNS¶¼Ö¸ÏòIPµØÖ·192.168.0.2 

3. ApacheÓû§ÈÏÖ¤ 
»ù±¾µÄApacheÓû§ÈÏÖ¤ 
¼Ù¶¨, ¶ÔĿ¼/home/aaaϵÄÎļþÐèÒª×öµ½Óû§ÈÏÖ¤£¬ÔÚhttpd.conf 
ÖмÓÈëÏÂÃæµÄÐР
<Directory "/home/aaa"> 
allowoverride authconfig 
order allow,deny 
allow from all 
</Directory> 
ÓÃÔÚĿ¼/home/aaaÏ·ÅÎļþ.htaccess£¬ÄÚÈÝÈçÏ£º 
authname "Please give me your ID number and Password" 
authtype basic 
authuserfile /etc/.passwd 
require valid-user 

ÓÃhtpasswd Éú³ÉÎļþ/etc/.passwd, 
htpasswd -c /etc/.passwd username 


Ïà¹ØÎÄÕ£º

Ïà¹ØÈí¼þ£º