J2SDK 1.5 beta1 http://java.sun.com
Apache 2.0.48 http://archive.apache.org/dist/httpd/
Tomcat 5.0.19 http://archive.apache.org/dist/jakarta/tomcat-5/
Mysql 4.0.18 http://www.mysql.com/downloads/index.html
Mysql Control Center 0.9.4  http://www.mysql.com/downloads/index.html
Mysql MySQL Connector/J 3.1 http://www.mysql.com/downloads/index.html
mod_jk2-2.0.43.dll http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/1. J2SDK安装与环境配置1.1 安装J2SDK可以按自己的意愿随意安装在任何目录1.2 设置环境变量(以本人的安装目录为例)在我的电脑上右键->高级->新建变量     变量 变量值 
JAVA_HOME D:\Program Files\Java\j2sdk1.5.0 
CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib;%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\jre\lib\rt.jar;%TOMCAT_HOME%\common\lib\mysql-connector-java.jar;%TOMCAT_HOME%\common\lib 
PATH %JAVA_HOME%;%JAVA_HOME%\bin 
TOMCAT_HOME c:\Tomcat 5.0 注:变量的具体值,请根据自己的情况设置,以上可以做为参考,其中mysql-connector-java.jar文件及TOMCAT_HOME将在下文陆续介绍2. Apache 2.0.48的安装与配置2.1 Apache 的安装按照默认安装即可,我的安装目录是C:\,安装完成后在C:上会有一个Apache2的目录,下文我以$Apache_Dir表示此安装目录2.2 Apache的配置2.2.1 在$Apache_Dir/conf目录下新建一个workers2.properties的文本文件,内容如下#---------------------------------------------------------------
[shm]
#根据自己的安装目录更改
file=c:/apache2/logs/shm.file 
size=1048576# socket channel
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
#tomcatid=127.0.0.1:8009# worker for the connector
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009#------------------------------------------------------------------2.2.2 修改$Apache_Dir/conf/httpd.conf文件,用任一文本编辑器打开2.2.2.1 搜索 "DocumentRoot" 关键字,将原来的设置改为#------------------------------------------------------------------
#根据自己设定的目录,d:/webapps为我的WEB发布根目录DocumentRoot "d:/webapps"#-------------------------------------------------------------------2.2.2.2 搜索  "DocumentRoot to" 关键字,也就是在上面一段的下方几行
找到,并修改为WEB发布目录,与DocumentRoot一致,也与TOMCAT的发布目录一致
#-------------------------------------------------------------------
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "d:/webapps">2.2.2.3 搜索 "AddDefaultCharset ISO-8859-1" 
改为#------------------------------------------------------------------#添加中文支持
# AddDefaultCharset ISO-8859-1AddDefaultCharset GB2312 
DefaultLanguage GB2312 
AddLanguage zh-cn .cn#-------------------------------------------------------------------
2.2.2.4#------------------------------------------------------
LoadModule jk2_module modules/mod_jk2.dll<Location "/*.jsp">
JkUriSet worker ajp13:localhost:8009
</Location><Location "/servlet/*">
JkUriSet worker ajp13:localhost:8009
</Location>
#--------------------------------------------------------------------------------------------------------------------------------------
需要注意的,这里是jk2_module不是jk_module,两者的配置方法是不一样的,JK2更为强大 这里的目的是将以下位置的相应后缀名的文件提交到TOMCAT,由TOMCAT来解释执行,因为Apache执行纯HTML文件的效率要比TOMCAT高得多.这里为了提高执行效率,建议将Servlet放在单独一个目录下,并且只放入Servlet文件."/servlet/*"表示WEB发布目录下servlet目录下的所有文件,/*.jsp表示WEB发布目录下的所有*.jsp文件,大家可以根据需要添加----待续 

解决方案 »

  1.   

    3 Tomcat 5.0.19的安装与配置3.1 Tomcat 5.0.19的安装最好把Service部分也选上,我的安装目录是c:\Tomcat 5.0,下文以$TOMCAT_HOME来表示3.2 在$TOMCAT_HOME\conf目录下,打开jk2.properties文本文件,添加以下内容channelSocket.port=80093.3 在$TOMCAT_HOME\conf目录下,打开Server.xml文件,在文件的最后</Host>之前,加入--------------------------------------------------------------------------------
         <Context path="" docBase="d:/webapps" debug="5" reloadable="true" crossContext="true"><!-- 此处将Tomcat的发布目录由$TOMCAT_HOME\webapps\Root改到d:/webapps目录下,与Apache发布目录一致,这里其实具体什么目录无所谓,因为我们要使Tomcat 与Apache整合,所以最好使两者的发布目录一致,会比较方便 ,path=""表示根目录,path="/servlet"表示虚拟目录/servlet或者根目录下servlet目录 -->  <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_DBTest_log." suffix=".txt" timestamp="true"/>  <Resource name="jdbc/Test" auth="Container" type="javax.sql.DataSource"/><!--这里jdbc/Test,Test为要连接的数据库的库名,请自行修改-->  <ResourceParams name="jdbc/Test">
        <parameter>
          <name>factory</name>
          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>    <!-- Maximum number of dB connections in pool. Make sure you
             configure your mysqld max_connections large enough to handle
             all of your db connections. Set to 0 for no limit.
             -->
        <parameter>
          <name>maxActive</name>
          <value>10</value>
        </parameter>    <!-- Maximum number of idle dB connections to retain in pool.
             Set to 0 for no limit.
             -->
        <parameter>
          <name>maxIdle</name>
          <value>5</value>
        </parameter>    <!-- Maximum time to wait for a dB connection to become available
             in ms, in this example 10 seconds. An Exception is thrown if
             this timeout is exceeded.  Set to -1 to wait indefinitely.
             -->
        <parameter>
          <name>maxWait</name>
          <value>10000</value>
        </parameter>    <!-- MySQL dB username and password for dB connections  ,test和testpwd为我的mysql数据库的一个用户名和密码,大家根据自己的设置进行更改-->
        <parameter>
         <name>username</name>
         <value>test</value>
        </parameter>
        <parameter>
         <name>password</name>
         <value>testpwd</value>
        </parameter>    <!-- Class name for mm.mysql JDBC driver -->
        <parameter>
           <name>driverClassName</name>
           <value>com.mysql.jdbc.Driver</value>
        </parameter>    <!-- The JDBC connection url for connecting to your MySQL dB.
             The autoReconnect=true argument to the url makes sure that the
             mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
             connection.  mysqld by default closes idle connections after 8 hours.
             -->
        <parameter>
          <name>url</name>
          <value>jdbc:mysql://localhost/testdb?autoReconnect=true</value>
        </parameter>
      </ResourceParams>
    </Context> 
    --------------------------------------------------------------------------------
    3.4 将mod_jk2-2.0.43.dll文件改名为mod_jk2.dll,主要是为了方便,没有别的目的,只要与$Apache_Dir\conf\httpd.conf文件里的文件名一致即可,然后复制到$Apache_Dir\modules下,里面只有这个文件后缀名为dll3.5 Tomcat 的启动及后台服务安装进入命令提示符(DOS界面),在$TOMCAT_HOME\bin下运行startup.bat就可以,记得不能关了那个DOS窗口也可以将Tomcat5当做后台服务加载,在$TOMCAT_HOME\bin下命令如下service installnet start Tomcat5如果想让Tomcat5做为服务自动启动,请到服务中自行修改4 安装mysql 以及mysql control center
    4-1 建议mysql安装在默认目录c:\mysql下,因为mysql不安装在默认目录的话,有时服务会无法启动,需要修改的比较麻烦
    4-2 配置JDBC连接
    将 Mysql MySQL Connector/J 3.1 文件解压后,将其中jar文件复制到 $TOMCAT_HOME\common\lib 目录下,并且在 环境变量设置中加入地址
    我在j2sdk安装配置时已经提前将路径添加了,只需要根据你改的jar文件名改一下就OK了
      

  2.   

    5 测试与补充说明5.1 整合到目前为止告一段落,下面对系统进行测试,首先,请重启Apache,Tomcat及mysql服务5.1.1 用mysql control center在mysql建一个"testdb"的数据库,并建立一个数据库用户 test ,密码 testpwd 然后建一个user的表,里有三个字段name varchar 
    password varchar 
    id int 
    5.1.2 JSP测试在WEB发布目录下,建一个WEB-INF目录,可以从$TOMCAT\webapps\root下复制一份过来,保留原来的目录,然后修改WEB-INF目录下的web.xml文件,内容改为如下<?xml version="1.0" encoding="ISO-8859-1"?><!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><!--这一段加入是对jdbc,mysql数据连接的支持-->  <resource-ref>
          <description>DB Connection</description>
          <res-ref-name>jdbc/Test</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
      </resource-ref> <!-- JSPC servlet mappings start -->    <servlet>
            <servlet-name>org.apache.jsp.index_jsp</servlet-name>
            <servlet-class>org.apache.jsp.index_jsp</servlet-class>
        </servlet>    <servlet-mapping>
            <servlet-name>org.apache.jsp.index_jsp</servlet-name>
            <url-pattern>/index.jsp</url-pattern>
        </servlet-mapping><!-- JSPC servlet mappings end -->
    </web-app>注意:每次改完 web.xml文件后都得重启一下Tomcat才能生效
    然后根据前文的设置在D:/webapps下新建一个test.jsp文件内容如下:<%@ page import="javax.naming.Context" %>
    <%@ page import="javax.sql.DataSource"%>
    <%@ page import="javax.naming.InitialContext"%>
    <%@ page import="java.sql.*"%><%@ page contentType="text/html;charset=gb2312" %>
    <!-- <%request.setCharacterEncoding("GB2312");%>-->
     <%
       DataSource ds = null;
       try{
         Context initCtx = new InitialContext();
         Context envCtx = (Context) initCtx.lookup("java:comp/env");
         ds = (DataSource)envCtx.lookup("jdbc/Test");
    if(ds!=null)
     out.println("数据库连接成功");
    else 
     out.println("数据库连接失败");
       }catch(Exception ne){ out.println(ne);}
     %>--------------------------------------------------------------------------------
    然后访问http://127.0.0.1:8080/test.jsp和http://127.0.0.1/test.jsp 应该显示同样结果如果显示数据库连接成功,则表示你已经成功整合,如果显示数据库连接失败则表示至少JSP的配置是成功的,但数据库连接方面有问题,如果显示错误,请自行检查5.1.3 Servlet配置及测试5.1.3.1 编译一个Hello.java文件,内容如下
    import javax.servlet.*;         
    import javax.servlet.http.*;    
    import java.io.*;            public class Hello extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException String name = request.getParameter("username"); if (name == null) 
         name = (String)request.getSession().getAttribute("username"); if (name == null) name = "World";
     response.setContentType("text/html");
     PrintWriter out = response.getWriter();
     out.println("Hello " + name + "!");    public void doPost(HttpServletRequest request,HttpServletResponse response)
            throws IOException
        {
     doGet(request, response);
        }
    }
    5.1.3.2 在WEB发布目录下建立一个servlet目录,专门放置servlet,提高运行效率,前文已经在httpd.conf文件中做了相应的配置,然后再将上文提到的d:\webapps\WEB-INF目录复制到servlet目录下,然后将刚才编译的Hello.java的Hello.class文件放到d:\webapps\servlet\WEB-INF\classes目录下,再打开d:\webapps\servlet\WEB-INF\web.xml文件,在<web-app></web-app>之间添加内容如下:    <servlet>
            <servlet-name>Hello</servlet-name>
            <servlet-class>Hello</servlet-class>
        </servlet>    <servlet-mapping>
            <servlet-name>Hello</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>--------------------------------------------------------------------------------
    添加servlet的映射,注意<url-pattern>/hello</url-pattern>这样访问http://127.0.0.1/servlet/hello或者http://127.0.0.1:8080/servlet/hello就可以访问到这个servlet,如果servlet目录为XXX目录<url-pattern>/helloworld</url-pattern>,则访问http://127.0.0.1/XXX/helloworld即可,注意要同时对$Apache\httpd.conf文件内容做相应修改,然后重启一下Apache,Tomcat等服务如果显示成功,恭喜,你已经完成了Win2000/xp Apache2.0.48+Tomcat5.0.19+mysql4.0.18+JDK1.5(1.4)+JSP/servlet整合--------------------------------------------------------------------------------
    我对JSP和Servlet并不是十分了解,刚刚学了没多久,以上的内容是我这几天查找了大量资料,自己不断实验后,请教网友后总结出来的文章,目的主要是为了抛砖引玉,一来给初学者做参考,二来请大家多多指教.文章写的仓促,难免有错误和不足之错,谢谢指正,不要丢鸡蛋就好了