前言: Apache和Tomcat是非常好的开源网页服务器,而MySql则是最好的开源数据库,用来学习Java和部署Java服务,使用JDK+Tomcat也非常不错。当前最新的版本是Apache2.5.x、Tomcat6、JDK1.6和MySql5.0.3.x是当前最新的版本,本篇详细介绍了在windows下服务环境安装过程,对于Tomcat,jdbc配置和Apache+Tomcat整合进行了详尽描述,相信看完本篇之后,新手可以很方便地搭建出JSP服务器来。而且,我觉得对与曾安装过JSP环境的朋友,把本篇用来备份查看也不错哦。 网页服务器会因为系统平台或自身版本的不同而安装略有不同,所以具体还要参照当时版本的安装文档,不过,总的说来大同小异,基本类似…… Jdk1.6+Tomcat6+Apache2+MySql5 安装(Windows版) 软件下载: 1, j2se jdk1.6 http://java.sun.com/javase/downloads/index.jsp 2, Tomcat 6 http://archive.apache.org/dist/tomcat/tomcat-6/ 3, Apache 2.2.4 http://archive.apache.org/dist/httpd/ 4, MySql5.0.27 http://dev.mysql.com/downloads/mysql/ 5, mysql-connector-java-5.0.5 http://dev.mysql.com/downloads/connector/j/ 6,mod_jk-apache-2.2.4.so http://tomcat.apache.org/download-connectors.cgi 可以根据需要下载最新的或最稳定的版本,如果部署线上环境可以用稳定的版本, 但是如果在学习和调试,可以尝试新的版本,因为事物是向前发展的。 一般网页程序或服务,如果服务不是非常巨大,用Tomcat做Web server就可以了,没有必要整合apache+tomcat。 当然如果确实有必要,比如要把静态文件(html,图片等)和Java文件分别由apache和tomcat来解析, 或者为了学习、测试、以及还要运行php等等情况,可以考虑整合下apache + tomcat。整合过程也比较简单。 如果只需要一个能运行JSP,Serlvet的网页服务器的,只要安装JDK+Tomcat就可以了,安装过程非常简单。 http://Jiarry.blogchina.com ================================================================================ 安装过程 Step 1 JDK安装 ---------------------------------------------------------------------------------- 1.1 点击jdk-6u1-windows-i586-p.exe文件安装Jdk,选择目录(假如目录E:\jdk1.6),一路回车,安装完成 1.2 添加JAVA环境变量(我的电脑右键->属性->高级->环境变量->系统变量) CLASSPATH 设置变量值 .;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar JAVA_HOME 设置变量值 E:/jdk1.6 PATH 设置变量值 .;%JAVA_HOME%;%JAVA_HOME%/bin; 前面的小点别忘了加。 1.3 在DOS命令行状态下测试Java是否成功安装,敲入java -version可以查看版本 c:\>java -version java version "1.6.0_01" Java(TM) SE Runtime Environment (build 1.6.0_01-b06) Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing) 1.4 测试HelloWorld,新建一个HelloWorld.java的文件,内容如下 public class HelloWorld { public static void main(String arg[]) { System.out.println("Hello World!这是Java测试程序,说明你已成功安装了Java -- Jarry!"); } } 在命令行输入javac HelloWorld.java,编译一下,然后再执行java HelloWorld,就能看到正常的输出了。 出现错误一般是环境变量或大小写等有问题,仔细检查就没有问题了。 Step 2 Tomcat安装 ---------------------------------------------------------------------------------- 2.1 点击apache-tomcat-6.0.10.exe文件安装Tomcat,选择目录(假使E:\Tomcat6)安装完成后 2.2 添加TOMCAT环境变量(我的电脑右键->属性->高级->环境变量->系统变量) TOMCAT_HOME 设置变量值 E:/Tomcat6 2.3 从程序菜单或是服务里启动Tomcat,然后你在浏览器输入http://localhost:8080/就可以看到Tomcat欢迎页面。 正常情况下都会成功,如果启动失败,请检查jakarta_service_日期.log日志,通过它一般可以解决问题。 比如出现类似报错: [947 prunsrv.c] [error] Failed creating java 请看一下系统盘windows/system32/下是否丢失msvcr71.dll文件,如果缺失,需要从别的机器拷贝一个过来。 打开浏览器 进入http://localhost:8080/,当看见Tomcat小猫的图标了,这样表示安装成功。 至此,JSP服务器就搭建完成了,用于学习和测试没有问题了,如果想要更高级的配置,可以往下面继续看。 Tomcat 6与Tomcat 5或者之前版本首页不一样的就是没有显示具体的版本如5.0.28,猫猫ICON也变大了些。 没有admin管理页面了,admin在Tomcat 5.5来默认都没有了,不过可以下载admin包。 而Tomcat 6.0没有看见admin包,不过这并不要紧,一般情况下也不需要admin管理。 Tomcat 6.0默认也没有开启servlet浏览、禁止目录浏览。这需要去配置conf/web.xml文件。 修改listings为true即可以目录浏览, listings true 开启servlet直接访问功能,把这两段注释打开。 invoker org.apache.catalina.servlets.InvokerServlet debug 0 2 invoker /servlet/* 2.4 部署一个新项目,去conf/下配置server.xml,假如叫testApp docBase是你程序的目录,假设放在E根目录下 这样新项目testApp就建立了,重启Tomcat,访问http://127.0.0.1:8080/testApp就可以看到你的目录了 2.5 Java连接MySql 首先下载mysql java连接器,可以根据需要选择3.x 或是 5.x,之前我们通用3.x,现在可以试一下5.x 下载地址: http://dev.mysql.com/downloads/connector/j/ 将下载下来得 mysql-connector-java-5.0.5-bin.jar 文件放到 Tomcat6\commom\lib目录下 (Tomcat 6.0 修改了目录结构,原common/lib下的所有jar包现在统一到lib目录下, 因此你需要将你原来放置在common/lib目录下的jar改到lib目录下。) 2.6 使用JDBC数据库连接池,假设已经安装了mysql(没安装就先安装,见Step 4),并且建立了数据库test, 修改conf下server.xml文件 对应输入端口和用户名密码,还要注意&要写成& characterEncoding和useUnicode用来解决中文乱码问题,地版本配置会略有不同。 另外,在项目文件夹/webapps/testApp/WEB-INF/下新建web.xml文件,添加下面的内容 MySQL Test App DB Connection jdbc/testApp javax.sql.DataSource Container 这样JDBC连接池就部署完成了,可以做个测试。 2.7 建立JDBCtest.jsp,检测JDBC连接是否成功 <%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="GB2312" %> <%@ page import="java.sql.*"%> <%@ page import="javax.sql.*"%> <%@ page import="javax.naming.*"%> 数据库连接池测试结果: <% out.println("JDBC驱动检查
"); try { Class.forName("com.mysql.jdbc.Driver"); out.println("检查成功!
"); } catch (ClassNotFoundException cnfe) { out.println("JDBC驱动创建失败!
"); cnfe.printStackTrace(); } out.println("
环境命名空间检查
"); try { javax.naming.Context ctx = new javax.naming.InitialContext(); javax.naming.Context envContext = (javax.naming.Context) ctx.lookup("java:/comp/env"); out.println("检查成功!
"); out.println("
查找数据源
"); // org.apache.commons.dbcp.BasicDataSource ds = // (org.apache.commons.dbcp.BasicDataSource) envContext.lookup("jdbc/testApp"); DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/testApp"); out.println("查找成功!
"); // 早期版本可以用BasicDataSource接收以获得比DataSource接口更具体的信息,便于错误查找 out.println("
检查数据库
"); Connection conn = ds.getConnection(); DatabaseMetaData metaData = conn.getMetaData(); ResultSet rs = metaData.getCatalogs(); while (rs.next()) out.println(rs.getString(1) + "
"); rs.close(); } catch (javax.naming.NamingException e) { out.println("环境变量上下文创建失败!
"); e.printStackTrace(); } catch (SQLException e) { out.println("数据库操作执行失败!
"); e.printStackTrace(); } %> 2.7 servlet映射,如果你不想通过/servlet/com.file.web.HelloWorld来访问你的程序,添加映射是好方法, 修改项目文件夹WEB-INFO/web.xml文件,添加 HelloWorld com.file.web.HelloWorld HelloWorld /hello 这样就可以通过/hello来访问servlet程序。 Setp 3 Apache安装 ---------------------------------------------------------------------------------- 3.1 Apache 一路回车安装即可 敲入http://127.0.0.1就能看见欢迎界面。 欢迎界面与2.0.x或者1.x不一样,你看见的将是 It works!, 而不再是“您能看见这个页面,说明您已经成功安装”之类的提示信息。 3.2 连接apache 与 tomcat,通过apache来解析静态文件,tomcat解析java确实不错。 如果你打算只用Tomcat做服务器的话,那就不用安装apache了,实际上Tomcat作为服务器也非常好。 当然了,整合apahce + tomcat 也不麻烦,主要是下载mod_jk.so文件,和增加两个配置文件。 3.2.1 下载 mod_jk.so (http://mirrors.ibiblio.org/pub/mirrors/apache/tomcat/tomcat-connectors/) 参阅文章: http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html http://tomcat.apache.org/connectors-doc/reference/workers.html 这里使用的是jk而不是jk2,下载得到的是mod_jk-apache-2.2.4.so文件,可以根据apache版本来选择合适的。 将下载文件copy至Apache下面的modules目录下(Apache2/modules/)。 3.2.2 新建workers.properties,便于管理就放在apache的conf目录下。加入下面内容: JkAutoAlias E:/Tomcat6/webapps #tomcat的绝对路径webapps目录 JkMount /*.jsp ajp13 JkMount /*/servlet/ ajp13 3.2.3 新建mod_jk.conf文件,也放在apache的conf目录下,加入下面内容: # Load mod_jk module 载入mod_jk模块,地址对应 LoadModule jk_module modules/mod_jk-apache-2.2.4.so # Where to find workers.properties JkWorkersFile conf/workers.properties #对应刚新建的workers.properties文件 # Where to put jk logs JkLogFile logs/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel info # Select the log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JkOptions indicate to send SSL KEY SIZE, JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat set the request format JkRequestLogFormat "%w %V %T" # Send servlet for context /examples to worker named ajp13 JkMount /servlet/* ajp13 # Send JSPs for context /examples to worker named ajp13 JkMount /*.jsp ajp13 JkMount /*.do ajp13 # 增加testApp目录,把改目录下所有文件全部交给tomcat处理, # JkMount /testApp/* ajp13 # 也可以根据需要来设定,比如只把testApp/*.jsp交给tomcat处理 JkMount /testApp/*.jsp ajp13 3.2.4 修改conf/httpd.conf文件,把mod_jk.conf文件include装载进来,添加如下 Include conf/mod_jk.conf #jarry add for contact to tomcat 给apache添加testApp目录 #添加testApp Alias /testApp "e:/testApp" Options Indexes MultiViews Options Indexes FollowSymLinks Includes ExecCGI AllowOverride None Order allow,deny Allow from all 重启apache, 通过http://127.0.0.1:8080/testApp/或http://127.0.0.1/testApp/ 都能访问Tomcat项目,说明整合成功。 也可以建立一个jsp文件来测试,如果不用8080端口能直接解析,那说明整合成功。 如果出现问题注意查看,apache/logs/下的log文件,仔细对照,一般就能解决啦。 Setp 4 MySql安装 ---------------------------------------------------------------------------------- MySql与Apache一样,一路回车即可。 MySql5.x 与 4.x 安装区别不大,5.x会提示配置Mysql一些属性,诸如语言啦。根据需要设定即可。 启动通过mysql/bin下键入 mysql -uroot -p或者从菜单栏MySQL Command Line Client进入到命令行。 4.1 从程序菜单找到mysql命令行或在mysql/bin目录下,执行mysql -uroot -p密码就可以进入mysql Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 42 to server version: 5.0.27-community-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 4.2 敲入 \s 可以查看MySql版本信息 mysql> \s -------------- E:\MySQL5\bin\mysql.exe Ver 14.12 Distrib 5.0.27, for Win32 (ia32) Connection id: 42 Current database: Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.0.27-community-nt Protocol version: 10 Connection: localhost via TCP/IP Server characterset: gbk Db characterset: gbk Client characterset: gbk Conn. characterset: gbk TCP port: 3306 Uptime: 2 days 4 hours 52 min 9 sec Threads: 2 Questions: 382 Slow queries: 0 Opens: 28 Flush tables: 1 Open ta bles: 0 Queries per second avg: 0.002 ================================================================================ 总的说来,安装新版与老版本差不多,只是一时兼容性不是太好。 不过用来开发和学习,使用新版还是挺不错的,可以学到新的方法和东西,新版本整合更容易些 而如果部署对外的服务,还是采用经典或是成熟的版本吧。:) 安装过程要多看apache官方网站的文档,http://tomcat.apache.org/tomcat-6.0-doc/ 通过文档就可以详细了解安装步骤了,出错了也好检查,版本不同配置等难免会有一点不同,这是看官方文档就很重要了。 参考资料: http://jiarry.bokee.com/2375369.html http://jiarry.bokee.com/2425368.html