老早就在?外的?站上看到Jsp(Java Server Pages)的介?,?它如何如何的好, 如何如何的?大,可是只知道jsp?玩意不?,?一直?有??用上。??unix下 配置jsp?境????,因此一直?敢去碰。後?在??的站?上找到了一份??老 ?的在Linux下配置jsp?境的文章,如?至?,於是就?上操刀上?,想??如何。 可惜照?子?葫?未果。 於是到????大的bbs?到?查找,????前?,找到一些零碎的配置方法。 ?些方法大都是gnujsp0.9x/1.0配合ApacheJser-1.x.x??行jsp的,我都一一照? ?行配置,?果?多是?ApacheJserv?行起?而已。一直?法?行jsp。 最後?者?心自己?立?配置方法摸透,於是所有套???都?量?官方?站下?回?。 以下是?者配置?程中使用到的套???: Apache_1.3.12.tar.gz (?www.apache.org下?) ApacheJserv-1.1.2.tar.gz(?java.apache.org下?) gnujsp-1.0.tar.gz(?教育???得) JSDK-2.0.tar.gz(?教育???得) JDK-1.2.2.tar.gz(For Linux版本,?freesoft.online.sh.cn及www.sun.com可下?) ????8?小?反?琢磨gnujsp-1.0 中的安?文?以及?合手??份安?文章, ?有?java.apache.org上下?的??安?配置文章,?者最後?於成功?jsp?境 配置成功?成功地?行了?用bean的jsp程式。 以下就安?和配置的原理、?程、注意事?以及???等?行??描述。 一、配置要求 RedHat 5.x 或 6.x (?者在TurboLinux 4.02/6.0 Bluepoint1.0/2.0 等系?中都?利??、配置通?) JSDK2.0(其?就是需要一? 70多k的jsdk.jar) gnujsp1.0(其?就是需要?面的jar文件而已) JDK-1.x.x or JDK-1.2.x(??版本都能??利通???和配置) ApacheJserv1.0 or 1.x.x ??需要的make,gcc等程式、??器?函?? 二、基本配置原理 要?jsp能?正?解析??行良好的?,需要?保ajp1.2(apacheJserv protocol1.2)可以正常地在本地(local)埠8007通信,Servlet需要能?正常?行,?且要合理配置好Jserv的配置文件使gnujsp正?解析jsp文件。本文?用static(??)??方式?? ApacheJserv。 三、基本步? 首先要?保ApacheJserv正??????通?。然後正?配置ApacheJserv的配置文件,?gnujsp可以解析jsp文件。 以下是安?步?示意?: JDK-->JSDK-->apache(基本配置)-->ApacheJserv(配置/??)-->apache(配置/??/安?) -->gnujsp-->??ApacheJserv配置文件-->??-->OK 四、???程 1、安?JDK 其?不存在什麽安?,只需要?JDK拷?到一?固定目?就可以了。???者?用JDK-1.2.2的二?位版本。?於?用1.1.x的?者,如果是??了static的方式 ?Apache和ApacheJserv整和,出?故障的?候可以?用DSO模式(建?JDK-1.1.x版本的都采 用DSO模式比?好)。 #tar xfz JDK-1.2.2-linux-i386.tar.gz #mv JDK-1.2.2 /www/JDK122 2、安?JSDK 和安?JDK道理一?,只需要解包後拷?到一?固定目?就可以了。 不?要注意的是,????上只是用到??包的jsdk.jar文件,所以一定要知道??文件的路?。 #tar xfz jsdk-2.0.tar.gz #mv JSDK-2.0 /www/jsdk #ls -l /www/jsdk/lib total 80 -r--r--r-- 1 root root 76453 Jun 28 01:03 jsdk.jar 3、apache基本配置 ??其??不能?是真正的配置,只是在第一次解包的?候要生成一些必?的.h文件才需要 的一步而已。相?於?配置。 #tar xfz apache_1.3.12.tar.gz #cd apache_1.3.12 #./configure #cd .. ??就?生成了?如httpd.h等的?文件。如果?有?些文件的?,以後配置ApacheJserv或者 Php3等都???的。 4、ApacheJserv配置??? ??需要使用的指令至少有: --with-apache-src= (指定了apache源?的路?,用於static方式的??) --with-jdk-home= (指定jdk的根目?) --with-JSDK= (指定jsdk.jar的目?,注意是大?的JSDK!!!) 至於其他的?不是一定要?,但是建??是要指定?如安?目?,jdk平???(1或者2)等。 其中java-platform是??指定的:即如果使用的是jdk-1.1.x的就是1(默?是1,可以不?)。如果是jdk-1.2.x就指定是2。 #tar xfz ApacheJserv-1.1.2.tar.gz #cd ApacheJserv-1.1.2 #./configure --with-apache-src=../apache_1.3.12 --prefix=/www/jserv >--with-jdk-home=/www/jdk122 --with-java-platform=2 >--with-JSDK=/www/jsdk/lib/jsdk.jar --disable-debugging #make #make install #cd .. 5、Apache的配置?? ?於Apache的配置很多文?都有?明,??就不?述了。 #cd apache_1.3.12 #./configure --prefix=/www/httpd --activate-module=src/modules/jserv/libjserv.a #make #make install 6、gnujsp安? 其?只是需要gnujsp-1.0中的??jar文件而已。 #tar xfz gnujsp-1.0.tar.gz #mkdir /www/gnujsp #cp gnujsp-1.0/lib/*.jar /www/gnujsp #mkdir /www/gnujsp/bean_jsp #ls -l /www/gnujsp drwxr-xr-x 10 root root 4096 Sep 15 15:56 bean_jsp/ -rw-rw-r-- 1 root root 125972 Sep 15 12:55 gnujsp10.jar -rw-rw-r-- 1 root root 153015 Sep 15 12:55 gnujsp10test.jar -rw-rw-r-- 1 root root 37291 Sep 15 12:55 servlet-2.0-plus.jar -rw-r--r-- 1 root root 38826 Sep 15 12:55 servlet-2.1.jar 7、Jserv配置文件的?? ??是jsp是否能?正?解析使用的??,也是本文的重?。 ???在於?置好jserv的相?文件: jserv.conf jserv.properties zone.properties 或者新建立一?properties文件,??的?序大概是: jserv.conf-->jserv.properties-->zone.properties-->自定?的properties文件。 ?在假?你需要定?一?叫gsp的zone,那麽可以按照以下步?和方法??相??容: *jserv.conf在????文件前,??"include /www/jserv/etc/jserv.conf"?句 添加到apache的httpd.conf文件?。文?中??句?可以放到任何地方,不???????:最好?是放到httpd.conf的末尾!!!!! 你可以???行:#echo "include /www/jserv/etc/jserv.conf" >> /www/httpd/conf/httpd.conf 做好後,再用例如vi??器??jserv.conf。如果你想??(log)jserv的所有?作,那麽最好是允?log,去掉以下?句注?:ApJServLogFile /www/jserv/logs/mod_jserv.log 然後找到"# Mount point for Servlet zones"?行,??是定?Servlet zones 的mount?的(?似linux的安??)。我?加入以下?行: ApJServMount /gsp /gsp 接著找到ApJServAction??字,加入以下?行:ApJServAction .jsp /gsp/gnujsp ??是定?了.jsp文件是?gnujsp解析的。??jserv.conf文件就基本?置好了。 *jserv.properties??要?置一下wrapper.classpath,找到wrapper.classpath??字,添加以下?行:wrapper.classpath=/www/jdk122/lib/tools.jar 接著找到"# Servlet Zones parameters"?行,修改zones=root成?: zones=root,gsp (添加gsp??zone) 接著下面?行在 root.properties=/www/jserv/etc/zone.properties後添加定?gsp的properties行: gsp.properties=/www/jserv/etc/gsp.properties 基本上jserv.properties就?置好了。 *gsp.properties 至於zone.properties就不需要?置,因???定?了一?新的zone-->gsp,起作用的是gsp.properties。 找到: # List of Repositories ?行,然後添加以下?行: repositories=/www/gnujsp/gnujsp10.jar repositories=/www/gnujsp/servlet-2.0-plus.jar repositories=/www/gnujsp/bean_jsp 其中第三行是定?了bean的回?目?,??目?可以?便定?。但是必?是真?存在的。 找到"# Servlet Aliases" ?行,添加?名行: servlet.gnujsp.code=org.gjt.jsp.JspServlet servlet.gnujsp.initArgs=checkclass=true,(?注意不要?行回?) <pagebase=/www/httpd/htdocs,scratchdir=/www/httpd/jsp,(?注意不要?行回?) <debug=true,compiler=builtin-javac -classpath %classpath%:%scratchdir%:/www/gnujsp/servlet-2.0-plus.jar :/www/gnujsp/gnujsp10.jar :/www/gnujsp/bean_jsp -d %scratchdir% -deprecation %source% 其中第二行?始到最後?束其?是同一?,由於篇幅??才加入了?行符?。 ?大家一定要注意?量使用同一行!!!!!!!,?且注意其中的符?不可以缺少任何一?。 其中一些??做一下解?: pagebase意思是允?解析jsp文件的起始目?。 scratchdir是生成的.java 和.class文件的??目?。 ?大家一定要注意??目?必??nobody是可?的!!!所以必?用chown命令???目?的owner和 group改成nobody。 其後的是classpath是定?搜索的路?,其中要包括bean的目?,否???法使用bean的。另外你也可以增加多???似的目?,但是必?在以上文件中都要有定?。 至此:基本的?置就全部完成了。接下?就可以?行??了。 8、?? 首先,?定你已?重新??了apache使所有?置生效。然後可以在??器??入“http://localhost/gsp/Hello”,如果出?: Example Apache JServ Servlet Congratulations, ApacheJServ 1.1.2 is working! 那麽?明servlets?行正常。 然後,就是?建一?test.jsp的文件: <html> <body> <h1>The Famous JSP Hello Program</h1> <% SString s = "GNUJSP"; %> The following line should contain the text "Hello GNUJSP World!". <br>If thats not the case start debugging ... <p>Hello <%= s %> World! </body> </html> 然後放到htdocs目??,??行。如果正?被?行的??明一切都基本正常了。 接下???一下gnujsp支援中文是否正?。?以上的test.jsp文件修改成中文的字元就可以看出是否正?了。?者的??中??gnujsp?中文支援很不?,不需要任何?丁。 五、注意事? 在??步?中?者也??多次了。??再??一次。?些也是成功的???: 第一次解包apache後要先?行configure以?生相?的?文件。 ?建的scratchdir目?必?是?任何人都是可?的,用nobody的owner。 ?於要使用bean目?必?也在gsp.properties中定?好,而且需要使用的 bean元件必?放到你指定的bean目?中。 不需要?系?的path?行修改,一些文章?需要修改,其??不需要,因?配置文件中有classpath。 (6)?束? 本文之所以??不是非常??的配置?程和原理?述得如此??,就是希望?者??後能?正?配置jsp?境,不要再?jsp?境?疼了。其?除了?用? ?方案外,?可以?用tomcat,jrun等等。gnujsp只是一?廉?的方案。性能和 功能?不是很好。 ?者???了一???的安??本,?助?者更加方便地安?配置jsp?境。 ??可?考?者另外的文章。