Win2000 Server + Java 2(JDK1.4.0)+ Apache1.3.23 + tomcat-4.0.3

类别:Java 点击:0 评论:0 推荐:

//////////////////////////////////////////////////////////////////////////////////////////////
//  JSP + Java Servlets 编程环境的建立与实现〈一〉        //
//               //
//  Win2000 Server + Java 2(JDK1.4.0)+ Apache1.3.23 + tomcat-4.0.3 + webapp-module-1.0 篇   //
//               //
//////////////////////////////////////////////////////////////////////////////////////////////
//               //
//   作者:josser chai  (现己改为 Abner Tsai)       //
//   联系地址:[email protected]  或 [email protected]      //
//      2002.3.7        //
//声明:              //
//    本人提供此文件只供学习之用,任何个人和组织都可以使用。同时,若你在使用过程中发现有比  //
//些方法更好、更简单的方法,烦请E-mail给我一份。多谢!同时,烦请任何人在转贴本文件内容时,请//
//保持本文件声明。             //
//////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                          //
//修定说明:                                                                                //
//        本人于2002.6.11又对此文章进行修改和增加了部分内容,增加的内容主要是:              //
//        如何设置并运行自己的JSP和Servlet目录和程序,同时由于有许多网友写信给我说在安装过程 //
//        中出现了错误,没有实现,由于本人工作太忙,有许多网友的信我都没有回,请见谅。以后一//
//        一定尽量做到。同时修改了安装时设置classpath的部分,使之更加简捷。                 //
//                                                                                          //
//                                                                                          //
//////////////////////////////////////////////////////////////////////////////////////////////
说明:
    目前网络上有各种配置JSP编程的方法,如使用Jserv+Apache+Tomcat、JSDK+IIS等。但做为个人学习
之用,本人首推Apache+Tomcat。但目前网络上有许多配置的方法,大多数很麻烦,如使用mod_jk等。而且
那些方法用在此处最新的发行版软件上都不适用(本人试过,你可试试,注意在windows系列中,若和
Tomcat4.0结合的话,Apache1.3.23是最稳定的版本,Apache1.3.6或Apache2.0都会出问题)。

Java 2 (jdk1.4.0-b92)是sun 公司发行的<<最新版>>的Java编译器。下载地址为:www.sun.com/j2se/1.4/

Tomcat-4.0是Apache组织最新发行的支持JSP的Web服务器。下载地址为:
 http://jakarta.apache.org/builds/jakarta-tomcat/release/

Apache1.3.23-win32是Apache组织发行了支持window 98/NT/2000的最稳定的Web服务器。下载地址为:
 http://www.apache.org/dist/httpd/

webapp-module-1.0是Apache组织写的连接Apache和Tomcat较好的一种支持接口。下载地址为:
 http://www.apache.org/dist/httpd/

win2000 (family) Server 就不用说明了吧。//呵呵,如果不知道的话,就不要往下看了。

配置方法:

一、安装win2000,如果你己经在使用它了,此步可不要。

二、A:下载Java2(jdk1.4.0),下载后的文件名为:j2sdk-1_4_0-win.exe。
       双击运行,按默认安装到c:\j2sdk1.4.0目录下。jre将自动安装到
       C:\Program Files\Java\j2re1.4.0下,Jre是运行Java程序必需的支持环境。

    B:安装好后,需要设置路径了:
       方法如下:点击“我的电脑”右键--属性--高级--环境变量,在“系统变量”中
       新建"JAVA_HOME"值为:C:\j2sdk1.4.0

       注:下面前面带//的行与下下面带//的行选择一个做即可,即二者只需做一次即可以了.
       //新建:CLASSPATH值为:
       //C:\j2sdk1.4.0\lib\dt.jar;C:\j2sdk1.4.0\lib\tools.jar;C:\j2sdk1.4.0\lib\htmlconverter.jar;C:\Program Files\Apache Tomcat 4.0\common\lib\servlet.jar
       //注意要连着写,用“;”隔开;
       //新建:JAVA_OPTS,值为空(什么也不写)
       //新建:JAVA_ENDORSED_DIRS,值为:C:\Program Files\Apache Tomcat 4.0\bin;C:\Program Files\Apache Tomcat 4.0\common\lib
       //注意要连着写,用“;”隔开;
       //新建:_RUNJAVA,值为:C:\j2sdk1.4.0\bin\java
       //新建:_RUNJAVAW,值为:C:\j2sdk1.4.0\bin\javaw
       //新建:_RUNJDB,值为:C:\j2sdk1.4.0\bin\jdb
       //以上这建的几个变量是以编译jsp和Servlets时所需要用的

       然后,在此处双击path变量,在后面加上:;C:\j2sdk1.4.0\bin,以便在其它地方可以编译java文件。

    C:测试JDK安装成功:
    在C:\j2sdk1.4.0下建一个myjava目录,然后把C:\j2sdk1.4.0\demo\applets\Clock下的
    clock.java和example1.html 拷到myjava目录下,然后执行:
    >javac clock.java
    >appletviewer example1.html
    就可以看到弹出一个走动的时钟了,此时表明测试applet成功。
    然后测试java application
    把下面的程序用记事本记入一个名字test.java的文件中,注意扩展名为.java。
      public class test
 {
 public static void main(String args[])
   {
      System.out.print("hello world ,JDK setup successful!\n");
   }
 }
    把此test.java文件放入myjava目录中,然后执行:
       >javac test.java
       >java test
    就可以看到打出一行"hello world ,JDK setup successful!"文字,此时表明JDK就安装好了。

三、A:安装Tomcat-4.0,下载后的文件名字为:
    jakarta-tomcat-4.0.3.exe,直接运行它并按它默认的目录安装到
    C:\Program Files\Apache Tomcat 4.0下面。
   
    B:配置TOMCAT路径:
    1:点击“我的电脑”右键--属性--高级--环境变量,在“系统变量”
       新建"CATALINA_HOME"值为:C:\Program Files\Apache Tomcat 4.0
    //2:找到C:\Program Files\Apache Tomcat 4.0\bin\setclasspath.bat文件,把其中所有的%BASEDIR%
    //   换成%CATALINA_HOME%
    //   并找到其中的set CLASSPATH一项,改为:
    //   set CLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%CATALINA_HOME%\common\lib\servlet.jar
    //   setclasspath.bat文件是tomcat提供的一个设置库文件的批处理文件,它可以测试你的运行环境的
    //   classpath是否正确。对它修改后的内容应如下:
if not "%JAVA_HOME%" == "" goto gotJavaHome
echo The JAVA_HOME environment variable is not defined
echo This environment variable is needed to run this program
goto end
:gotJavaHome
if exist "%JAVA_HOME%\bin\java.exe" goto okJavaHome
echo The JAVA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okJavaHome
if not "%CATALINA_HOME%" == "" goto gotBasedir
echo The CATALINA_HOME environment variable is not defined
echo This environment variable is needed to run this program
goto end
:gotBasedir
if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okBasedir
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okBasedir
rem Set the default Java options for all scripts
set JAVA_OPTS=

rem Set the default -Djava.endorsed.dirs argument
set JAVA_ENDORSED_DIRS=%CATALINA_HOME%\bin;%CATALINA_HOME%\common\lib

rem Set standard CLASSPATH
rem Note that there are no quotes as we do not want to introduce random
rem quotes into the CLASSPATH
set CLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%CATALINA_HOME%\common\lib\servlet.jar

rem Set standard command for invoking Java.
rem Note that NT requires a window name argument when using start.
rem Also note the quoting as JAVA_HOME may contain spaces.
set _RUNJAVA="%JAVA_HOME%\bin\java"
set _RUNJAVAW="%JAVA_HOME%\bin\javaw"
set _RUNJDB="%JAVA_HOME%\bin\jdb"
:end
//若对批文件指令有一点了解的,可以很容易看明白上面的代码.
//以后在编译jsp,或servlet 或java文件时,总要先运行以上文件才能正确编译

注:上面前面带//的行与上上面带//的行选择一个做即可,即二者只需做一次即可以了.
       
    C:配置Tomcat的配置文件,在C:\Program Files\Apache Tomcat 4.0\conf\server.xml中,此处不配置即可,若想配置,在下面再配它。
    D:测试Tomcat安装成功:打开IE,在地址栏中输入:http://localhost:8080就可以看到Tomcat的页面了。
      或输入http://xxx.xxx.xx.xxx:8080其中xxx.xxx.xx.xxx为你的win2000的IP地址。
    E:如何配置Tomcat使它可以运行自己的JSP文件和Java Servlet,下面将详细说明:
      1:配置Tomcat的server.xml文件使它支持自己的JSP文件。
        用记事本打开conf下面的server.xml文件,找到其中的:
        ............
          <!-- Tomcat Root Context -->
          <!--
          <Context path="" docBase="ROOT" debug="0"/>
           -->

          <!-- Tomcat Manager Context -->
          <Context path="/manager" docBase="manager"
           debug="0" privileged="true"/>

          <!-- Tomcat Examples Context -->
          <Context path="/examples" docBase="examples" debug="0" reloadable="true" crossContext="true">
        ...........
        几行。然后在上面        
           <!--
           <Context path="" docBase="ROOT" debug="0"/>
            -->后面加上以下几行:
   <Context path="/myjsp" docBase="ROOT/myjsp" debug="0" reloadable="true">
   </Context>       
          这样就在webapps目录(Tomcat的默认页面目录)下面的ROOT目录(Tomcat默认的页面根目录)下建了一个放自己JSP文件的目录myjsp,当然,在做以上几步之前,
          你必须首先在ROOT目录下建一个空的myjsp目录。若想多加几个属于自己的JSP目录,则在上面用同样的方面添加即可。
       2:测试自己的JSP文件
         在myjsp目录中建一个文件名为:HelloWorld.jsp,用记事本编辑使其内容为:
           <html>
           <body bgcolor="white">
            <%
            String Msg="Welcome to Abner's JSP world!";
            out.print("Hello World!");
            %>
            <h2><%=Msg%></h2>
            </body>
            </html>
          保存文件,起动TOMCAT服务器,然后在浏览器中输入http://xxx.xxx.xxx.xx:8080/myjsp/HelloWorld.jsp即可看到输出了。
          或输入http://xxx.xxx.xxx.xx:8080/myjsp/即可以浏览目录,然后点击文件即可。注xxx.xxx.xxx.xx是你的IP地址,也可是localhost。
          注意:文件名是大小写区别的。
       3:设置使Tomcat运行自己的Servlet
         在ROOT下面的WEB-INF目录下建一个classes目录,然后用记事本打开ROOT下面WEB-INF目录中的web.xml
         把web.xml的内容在<web-app>和</web-app>之间增加内容,使之为如下所示的web.xml内容:
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
   <web-app>
    <servlet>
      <servlet-name>hello</servlet-name>
      <description>
        This servlet plays the "Hello World Example" role.
        just a Hello World program!
      </description>
      <servlet-class>hello</servlet-class>
      <load-on-startup>5</load-on-startup>
    </servlet>
    <servlet-mapping>
      <servlet-name>hello</servlet-name>
      <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <session-config>
      <session-timeout>30</session-timeout>    <!-- 30 minutes -->
    </session-config>
   </web-app>
    以上的web.xml即是对servlet进行的最简单的声明,它声明了一个叫hello的servlet,用做下面我们测试用.
    web.xml中
      <servlet-mapping>
      <servlet-name>hello</servlet-name>
      <url-pattern>*.do</url-pattern>
      </servlet-mapping>的几行是声明在浏览器中以servletname.do来浏览该servlet,此处可用localhost:8080/hello.do来浏览。
      此处的*.do是任意设置的,也可以设置为*.pl等。
      也可用
      <servlet-mapping>
      <servlet-name>hello</servlet-name>
      <url-pattern>*</url-pattern>
      </servlet-mapping>来替代,此时就是用servlet名来浏览该servlet,此处即是localhost:8080/hello
      还可以用
      <servlet-mapping>
      <servlet-name>hello</servlet-name>
      <url-pattern>/servlet/*</url-pattern>
      </servlet-mapping>来替代,此时就是用路径名和servlet名来浏览该servlet,此处即是localhost:8080/servlet/hello
      
        4:测试自己的servlet
          在WEB-INF下面的classes目录中建一个名为hello.java的文件,输入它的内容如下:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class hello extends HttpServlet
{
 public void init(ServletConfig config) throws ServletException
 {
  super.init(config);
 }
 public void destroy()
 {
  super.destroy();
 }
 public void service(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException
 {
  resp.setContentType("text/html");
  PrintWriter out=new PrintWriter(resp.getOutputStream());
  out.println("<html>");
  out.println("<head><title>helloworldExample</title></head>");
  out.println("<body>");
  out.println("Hello! This is My first Servlet program!");
  out.println("</body>");
  out.println("</html>");
  out.close();
 }
}
          然后到DOS下,进入classes目录中,运行:

          >javac hello.java

          即可看到在classes目录下产生一个hello.class文件,若此处编译有问题,则请检查上面设置classpath和path时是否正确设置。
          然后在浏览器中输入http://xxx.xxx.xxx.xx:8080/hello.do来看到该servlet运行的结果了。
          其中xxx.xxx.xx.xxx为你的IP地址。
          至此你就配置好了自己的jsp 和 servlet运行环境了。
          下面讲如何和Apache联接起来使用。

四、A:安装Apache ,去下载一个Apache安装文件,下载后的文件名为:
 apache_1.3.23-win32-x86-no_src.exe,直接运行它并按它默认的目录安装到
        C:\Program Files\Apache Group\Apache下面。
        注意:在安装此版本的Apache时,系统会自动找到你的Servername(你的计算机名),并自动设置端口
              号为80,并要求你填写administrator的联系E-mail地址,一切默认即可。

    B:配置Apache,用记事本打开C:\Program Files\Apache Group\Apache\conf下的http.conf文件,
       找到: #Listen 3000
  #Listen 12.34.56.78:80
       两行,把前面的#号去掉,把以上两行改为:
                Listen 80
  #Listen xxx.xxx.xx.xxx:80
       其中xxx.xxx.xx.xxx为你的IP地址。然后找到port一行,并确认它后为:80;然后找到
        ServerName一行,并确认它后面跟的是不是你的计算机名如:worker16.soft.com(注意此处名称要搞
        清,下面还要用到),其中worker16为你的计算机标识名,soft.com为你的win2k所在的域名。

    C:到此,你的Apache就好了,测试它:在IE中输入:http://xxx.xxx.xx.xxx看看是不是出现了Apache默认的目录
       页面。

五、用mod_webapp把Apache和Tomcat结合起来,使Apache支持JSP功能。
    A:去www.apache.org把mod_webapp for windows下载回来,下载回来的文件是:
        webapp-module-1.0-tc40-windows.zip。把它解压缩到一个目录如test中。

    B:把test目录中的libapr.dll拷到C:\Program Files\Apache Group\Apache下面,注意此目录是Apache安
       装的目录。此目录下同时还有lib、libexec、bin、logs等目录,即libapr.dll要放到Apache安装的根
       目录下。

    C:把test目录中的mod_webapp.so文件拷到C:\Program Files\Apache Group\Apache\modules下面。

    D:用记事本打开C:\Program Files\Apache Group\Apache\conf\http.conf文件,在文件的"最后面"加上
       以下几行:
         LoadModule webapp_module modules/mod_webapp.so
         WebAppConnection warpConnection warp localhost:8008
         WebAppDeploy examples warpConnection /examples/

    E:用记事本打开C:\Program Files\Apache Tomcat 4.0\conf\server.xml文件,找到文件最后面的以下几行:
         <!-- Define an Apache-Connector Service -->
   <Service name="Tomcat-Apache">
   <Connector className="org.apache.catalina.connector.warp.WarpConnector"
         port="8008" minProcessors="5" maxProcessors="75"
           enableLookups="true" appBase="webapps" acceptCount="10" debug="0"/>
         <!-- Replace "localhost" with what your Apache "ServerName" is set to -->
      把上面的Service name="Tomcat-Apache"一行中的“Tomcat-Apache”改为你的计算机名:
      即上面设置的worker16.soft.com。改后的上面几行应为:
          <!-- Define an Apache-Connector Service -->
   <Service name="worker16.soft.com">
   <Connector className="org.apache.catalina.connector.warp.WarpConnector"
         port="8008" minProcessors="5" maxProcessors="75"
           enableLookups="true" appBase="webapps" acceptCount="10" debug="0"/>
          <!-- Replace "localhost" with what your Apache "ServerName" is set to -->
     存盘。到此为止,就把Tomcat和Apache联接起来了。

六、1:测试Apache是否持JSP
    打开IE,在地址栏中输入:http://xxx.xxx.xx.xxx/myjsp/HelloWorld.jsp
    就可以看到页面,运行其中的例子,就可以看到JSP运行的结果了。
   
    2:测试Apache是否持servlets
    打开IE,在地址栏中输入:http://xxx.xxx.xx.xxx/hello.do
    就可以看到页面,运行其中的例子,就可以看到servlets运行的结果了。

    到此为止,一个编写JSP的系统环境就配置好了。是不是很容易,一切只要默认安装,然后小改一
部分,就一切搞定了。如果对于个人学习用,可以只安装Tomcat就可以了,即不进行上面的第四和第五步。


七:补充说明:
    1:在运行自己的Servlet时,若改动了.java源程序,需要重新编译,并且需要重新启动Tomcat和Apache。
      在需要时,还需要重新设置web.xml文件。在Tomcat和Apache配全使用时,需先启动Tomcat,再启动Apache才行。
    2:在上面设置web.xml时,还可以向servlet传参数,具体如何做,请参考Tomcat的说明文件。
    3:在上面提供的web.xml程序中采用:
      <servlet-mapping>
      <servlet-name>hello</servlet-name>
      <url-pattern>*.do</url-pattern>
      配置时,在访问时用http://xxx.xxx.xxx.xx:8080/hello.do和http://xxx.xxx.xxx.xx:8080/servlet/hello
      两种方式均可看到输出,本人不知为何原因?你在使用过程中若找到原因,烦请告知我:[email protected]
      多谢!
    4:补充说明如何配置Tomcat的用户和使用基于WEB的远程管理工具
      请用记事本打开Tomcat安装目录下的conf目录下的tomcat-users.xml文件,可以看到如下内容:
<!--
  NOTE:  By default, no user is included in the "manager" role required
  to operate the "/manager" web application.  If you wish to use this app,
  you must define such a user - the username and password are arbitrary.
-->
<tomcat-users>
  <user name="tomcat" password="tomcat" roles="tomcat" />
  <user name="role1"  password="tomcat" roles="role1"  />
  <user name="both"   password="tomcat" roles="tomcat,role1" />
</tomcat-users>

      找到行  <user name="tomcat" password="tomcat" roles="tomcat" />
      把roles的值改为manager,即:roles="manager"
      保存文件,重新启动TOMCAT,在浏览器中输入http://xxx.xxx.xxx.xx:8080/manager/command
      这里command代表的是管理程序的名字,Tomcat4.0支持install,list,roload,remove,
      sessions,start,stop等七个程序,每个程序都有自己的参数。至于如何调用这些程序,
      请查阅Tomcat的Tomcat Manager Application说明。
      例输入:http://xxx.xxx.xxx.xx:8080/manager/list
      看看有什么输出吧!

   

本文地址:http://com.8s8s.com/it/it18281.htm