1. 从 http://tomcat.apache.org 下载 tomcat 6 的 zip 包版本。
2. 解压到 C:Tomcat6.0 (选取一个简单的目录名,有利于配置)
3. 打开命令提示符 cmd.exe ,进入目录 C:Tomcat6.0bin ,进行服务安装。
(已有的 Tomcat 4.0 服务,已占用了 Apache Tomcat 这个 "服务显示名",因此需要修改 service.bat 这个文件,把里面的 "Apache Tomcat" 这个服务显示名改为 "Apache Tomcat 6" 。)
执行安装:
C:Tomcat6.0bin> service install
4. 修改 java_HOME 环境变量。“我的电脑”=>“属性”=>“高级”=>“环境变量”。
要求 JAVA_HOME 指向 jdk1.5 或 jdk1.6
5. 修改配置,改变 web 所在目录。打开 conf/server.xml ,在 Host 内添加 Context :
<Context path="" docBase="D:/Inetpub/wwwroot"></Context>
6. 添加数据库连接池。server.xml 中在 Context 内添加 Resource :
<Resource name="jdbc/testDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" passWord="ok" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver" url="jdbc:odbc:DRIVER=SQL Server;UID=user;PWD=test;DATABASE=test_db;SERVER=127.0.0.1" />
(后来发现,用 jdbc.odbc 时,同一个 conn 不能同时创建多个 statement 。需要另一个 jdbc 驱动才可以,driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test_db;" )
WEB-INF/web.xml 中,在 web-app 内添加 resource-ref :
<resource-ref> <description>Datasource</description> <res-ref-name>jdbc/testDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
在 jsp 代码中,添加:
<%@page import="javax.naming.*"%> <%@page import="javax.sql.*"%> <%@page import="java.sql.*"%> <% Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("java:/comp/env/jdbc/testDB"); Connection conn = ds.getConnection(); //etc.
conn.close(); %>
7. 与 IIS 集成。
(1) 在 C:Tomcat6.0 下创建目录 jakarta2 ,将 isapi_redirector2.dll 放入该目录。
(2) 创建文本文件 C:Tomcat6.0confworkers2.PRoperties ,内容为:
[shm] file=C:/tomcat6.0/logs/jk2.shm size=1048576
# Example socket channel, override port and host. [channel.socket:localhost:8009] port=8009 host=127.0.0.1
# define the worker [ajp13:localhost:8009] channel=channel.socket:localhost:8009
# Uri mapping [uri:/*.jsp] [uri:/servlet/*] worker=ajp13:localhost:8009
(3) 创建注册表文件,内容为:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREApache Software FoundationJakarta Isapi Redirector2.0] "workersFile"="C:Tomcat6.0confworkers2.properties" "extensionUri"="/jakarta2/isapi_redirector2.dll" "logLevel"="error" "serverRoot"="C:Tomcat6.0"
(4) 创建 IIS 虚拟目录: /jakarta2 ,实际绝对目录为 C:Tomcat6.0jakarta2
目录权限为:“脚本和可执行文件”
(5) 创建 ISAPI 过滤器。IIS管理中站点属性 => ISAPI 筛选器,添加:
筛选器名称: jakarta2
可执行文件: C:Tomcat6.0jakarta2isapi_redirector2.dll
(重新启动“World Wide Web Publishing”服务后,才能看到效果)
8. 牢记惨痛经验。( ISAPI 往往容易出错,并且不易调试。)
在 IIS 虚拟目录中,要注意开放可执行文件权限。
如果文件格式是 NTFS ,要注意 /jakarta 的实际目录及 /conf 目录的“安全”设置,要让 User 能够“读取、运行、写入”,通常就是 C:tomcat6.0 的权限 => 替换子文件夹 权限。因为从其他地方复制过来的文件,不知道保留了什么权限。
在 Windows 2003 中,IIS 管理器中专门有个 Web 服务扩展 管理,把 redirector.dll 添加为允许。
装好 tomcat 6 服务之后,采用直接执行 startup.bat 能启动,但开启服务却不能启动。原因在于,使用服务启动时,采用原来的 jdk1.4 ,而直接启动时,采用的是环境变量 JAVA_HOME 里面的 jdk 1.6 。因此,需要使用 tomcat 6 服务管理界面,把 tomcat 6 使用的 jdk 设为 1.6 。
9. Tomcat 6 与 Tomcat 4 在 <%@ include file="inc.jsp" %> 时的区别:
在 tomcat 4 中,被包含的文件的文件编码,以包含它的文件编码为准,换句话说,是按“字节”包含。
在 tomcat 6 中,被包含的文件需要自己指定编码,换句话说,是按“字符”包含。而自己指定编码的 <%@ page pageEncoding="GBK" %> 在 tomcat 4 中会以“多次指定编码”而报错。
以上就是JSP配置 Tomcat 6.0,希望大家喜欢,请继续关注乐呵呵网。