- 论坛徽章:
- 2
|
安装Tomcat服务器
安装Tomcat之前要先安装JDK,可从http://java.sun.com上下载最新版本的JDK。 Tomcat可从Apache Jakarta Project站点(http://jakarta.apache.org/site/binindex.cgi)上下载,本书使用的Tomcat版本是 5.5.7,它需要安装J2SE 5.0(JDK 1.5)以上的版本才能运行。对于Windows操作系统,Tomcat 5.5.7提供了两种安装文件,一种是jakarta-tomcat-5.5.7.exe,一种是jakarta-tomcat-5.5.7.zip(如 果读者使用的是Linux系统,请下载jakarta-tomcat-5.5.7.tar.gz)。jakarta-tomcat-5.5.7.exe是 可执行的安装程序,读者只需要双击这个文件,就可以开始安装Tomcat了。在安装过程中,安装程序会自动搜寻JDK和JRE的位置。安装完成后,在 Windows系统的“开始”->“程序”菜单下会添加Apache Tomcat 5.5菜单组。jakarta-tomcat-5.5.7.zip是一个压缩包,只需要将它解压到硬盘上就可以了。在这里,我建议读者下载jakarta -tomcat-5.5.7.zip压缩包,通过解压缩的方式安装Tomcat,因为解压缩的方式也适用于其他的操作系统,例如Linux系统。下面我们 主要介绍jakarta-tomcat-5.5.7.zip的安装与Tomcat运行环境的设置。
1 安装Tomcat
使用WinZip或WinRAR等解压缩工具将jakarta-tomcat-5.5.7.zip解压到指定的驱动 器和目录中。笔者是在D盘上直接解压,产生了目录jakarta-tomcat-5.5.7,解压后的文件存放于D:\ jakarta-tomcat-5.5.7下。
Tomcat安装后的目录层次结构如图5-2所示。
![]()
图5-2 Tomcat 5.5.7目录层次结构
各目录的用途如表5-1所示。
表5-1 Tomcat的目录结构及其用途
目 录
用 途
/bin
存放启动和关闭 Tomcat 的脚本文件
/common/lib
存放 Tomcat 服务器及所有 Web 应用程序都可以访问的 JAR 文件
/conf
存放 Tomcat 服务器的各种配置文件,其中包括 server.xml ( Tomcat 的主要配置文件)、 tomcat-users.xml 和 web.xml 等配置文件
/logs
存放 Tomcat 的日志文件
/server/lib
存放 Tomcat 服务器运行所需的各种 JAR 文件
/server/webapps
存放 Tomcat 的两个 Web 应用程序: admin 应用程序和 manager 应用程序
/shared/lib
存放所有 Web 应用程序都可以访问的 JAR 文件
/temp
存放 Tomcat 运行时产生的临时文件
/webapps
当发布 Web 应用程序时,通常把 Web 应用程序的目录及文件放到这个目录下
/work
Tomcat 将 JSP 生成的 Servlet 源文件和字节码文件放到这个目录下
从表5-1中可以看到,/common/lib目录、/server/lib和/shared/lib目录下都可以存放JAR文件,它们的区别在于:
— 在/server/lib目录下的JAR文件只能被Tomcat服务器访问;
— 在/shared/lib目录下的JAR文件可以被所有的Web应用程序访问,但不能被Tomcat服务器访问;
— 在/common/lib目录下的JAR文件可以被Tomcat服务器和所有的Web应用程序访问。
此外,对于后面将要介绍的Java Web应用程序,在它的WEB-INF目录下,也可以建立lib子目录,在lib子目录下可以存放各种JAR文件,这些JAR文件只能被当前Web应用程序所访问。
2 运行Tomcat
在Tomcat安装目录下的bin子目录中,有一些批处理文件(以.bat作为后缀名的文件),其中的startup.bat就是启动Tomcat的脚本文件,用鼠标双击这个文件,将会看到如图5-3所示的画面。
![]()
图5-3 运行Tomcat提示出错信息
笔者以前碰到过很多学员,在初次运行Tomcat时,看到如图5-3所示的信息就不知所措了。有的学员以前还配置过Tomcat,但是再次使用的时候,由于忘记了上次是如何配置的,同样感觉无从下手。
我们在学习软件开发时,一定要养成查看错误提示信息,进而根据错误提示解决问题的良好习惯。笔者第一次配置 Tomcat时,就是根据错误提示信息一步一步配置成功的。很多人一看见错误信息,立即单击“确定”按钮,这样就错过了提示信息。当看到错误信息时,首先 不要慌张和无所适从,仔细看清楚错误提示,不要着急单击按钮。
查看图5-3中的错误提示信息,可以看到这样一句话“The JAVA_HOME environment variable is not defined”,从画面中可以看到,在执行到“Using JAVA_HOME”这句时出现了错误,由此,我们可以想到,出错的原因可能是因为没有设置JAVA_HOME环境变量。那么JAVA_HOME环境变量 的值应该是什么呢?很容易就能想到应该是JDK所在的目录,在笔者的机器上,JDK所在的目录是D:\Java\jdk1.5.0_01。
在Windows 2000操作系统下设置环境变量的步骤如下。
① 在桌面“我的电脑”上单击右键,选择“属性”,出现如图5-4所示的画面。
![]()
图5-4 “我的电脑”属性
② 单击“高级”选项卡,选择“环境变量( E )…”,如图5-5和图5-6所示。
![]()
![]()
图5-5 “高级”选项卡 图5-6 “环境变量”对话框
③ 在“系统变量”下方单击“新建”按钮。在“变量名”中输入“JAVA_HOME”,在变量值中输入JDK所在的目录“D:\Java\jdk1.5.0_01”,然后单击“确定”按钮,如图5-7所示。
![]()
图5-7 新建JAVA_HOME环境变量
④ 最后在“环境变量”对话框上单击“确定”按钮,结束JAVA_HOME环境变量的设置。
我们再一次转到D:\ jakarta-tomcat-5.5.7\bin目录下,用鼠标双击startup.bat文件,可以看到如图5-8所示的启动信息。
![]()
图5-8 Tomcat启动信息
然后,打开浏览器,在地址栏中输入http://localhost:8080/(localhost表示本地机器,8080是Tomcat默认监听的端口号),将出现如图5-9所示的Tomcat页面。
![]()
图5-9 Tomcat的默认主页
注意图5-9中鼠标(小手形状)指向的链接——Tomcat Documentation,单击将进入Tomcat的文档页面,有关Tomcat的帮助信息可以在文档页面中找到;读者也可以直接访问Tomcat的文 档,文档首页的位置是Tomcat安装目录下的webapps\tomcat-docs\index.html。如果要关闭Tomcat服务器,可以用鼠 标双击D:\ jakarta-tomcat-5.5.7\bin目录下的shutdown.bat文件。
如果你机器上的Tomcat启动失败,有可能是因为TCP的8080端口被其他应用程序所占用,如果你知道是哪一个应用程序占用了8080端口,那么先关闭此程序。如果你不知道或者不想关闭占用8080端口的应用程序,你可以修改Tomcat默认监听的端口号。
前面介绍了,Tomcat安装目录下的conf子目录用于存放Tomcat服务器的各种配置文件,其中的 server.xml是Tomcat的主要配置文件,这是一个格式良好的XML文档,在这个文件中可以修改Tomcat默认监听的端口号。用 UltraEdit(你可以用记事本程序或其他的文本编辑工具)打开server.xml,找到修改8080端口的地方。读者也许要问了,“这个配置文 件,我都不熟悉,怎么知道在哪里修改端口号呢?”对于初次接触server.xml的读者,确实不了解这个文件的结构,但是我们应该有一种开放的思路,既 然Tomcat的监听端口号是在server.xml中配置,那么只要我们在这个文件中查找“8080”这些数字字符序列,不就能找到修改端口号的地方了 吗!在UltraEdit中,同时按下键盘上的“Ctrl”和“F”键,出现如图5-10所示的查找对话框。
![]()
图5-10 UltraEdit查找对话框
然后在“查找内容”中输入“8080”,单击“查找下一个”按钮。重复这个过程,直到找到如图5-11所示的在server.xml中配置端口号位置。
![]()
图5-11 server.xml中配置端口号的位置
找到后,如果我们不能确定此处就是修改端口号的地方,也没有关系,可以先尝试着修改一下端口号,然后启动 Tomcat,如果启动成功,也就证明了我们修改的地方是正确的。学习时,我们应该养成这种探索并不断实验的精神。在这里,我们可以修改端口号为8000 (读者可以根据自己机器的配置选择一个端口号),然后保存。再次启动Tomcat,在Tomcat启动完毕后,打开浏览器,在地址栏中输入http: //localhost:8000/(读者根据自己设置的端口号做相应的修改),就可以看到Tomcat的默认主页了。关闭Tomcat服务器时,执行 bin目录下的shutdown.bat文件。
Tomecat数据源的配置
Tomcat的数据源配置各个版本(4.*\5.*\5.5.*,这里不考虑低于4.0的版本)都不同,总的来说tomcat4.*版本直接在server.xml中进行配置,tomcat5.*及tomcat5.5.*则建议把配置信息独立放在%Tomcat_Home%\conf\Catalina\localhost\yourapp.xml文件的之中,而不是直接在server.xml中进行配置,最后都需要在Web应用的文件夹的WEB-INF\web.xml中加入引用下面就各个版本进行配置:
一:Tomcat4.*
第一步: 用(你习惯的)文本编辑器打开%Tomcat_Home%\conf\server.xml并查找标记,找到后在中加入(注意,为了不出错,请直接把光标定位在,然后复制
Context path="/report" docBase="D:\runqianBase\Test-Tomcat41\show" debug="0" privileged="true">
Resource name="jdbc/dbsource" auth="Container" type="javax.sql.DataSource"/>
ResourceParams name="jdbc/dbsource">
parameter>
name>username/name>
value>sa/value>
/parameter>
parameter>
name>password/name>
value>lgl/value>
/parameter>
parameter>
name>driverClassName/name>
value>com.newatlanta.jturbo.driver.Driver/value>
/parameter>
parameter>
name>url/name>
value>jdbc:JTurbo://localhost/tempdb
/parameter>
/ResourceParams>
/Context>
下面就各个部分进行说明,您好根据你的应用进行修改.
中,path属性为用户的虚拟路径,如果为空的话应用请求路径为根路径.比如说这里的请求路径为 http://localhost:8080/report/
docBase属性为应用在计算机上所存储的物理位置,可以为绝对路径,也可以是相对%Tomcat_Home%\webapps的路径.本人建议填写绝对路径.Resource标签中,name属性与esourceParams中的name属性为JNDI名,这里一定要两个地方根相同,比如可能你会写上jdbc/dbsource等.其它是一些参数的设置,如数据库用户名username,数据密码password,驱动名driverClassName及数据库所在的位置定位url等,这些可以根据你具体的环境来进行配置.
第二步: 打开润乾报表应用的web.xml,找到dataSource,把sqlsvr,sqlsvr,iso8859-1;设置成形如数据源名,数据库类型,编码类型;....(这里配置多个数据源的话用分号分开)
第三步 :很简单,把与server.xml中配置相对应的数据库驱动拷到%Tomcat_Home%\common\lib下,这个步骤大家可能不容易重视,一般都会出现形如"org.apache.jasper.JasperException: 单元格A2中有错误: 表达式 ds1.select(NAME,false)中数据集未产生,可能因为未连接数据库"的错误
用这个数据源测试程序进行测试,可能会出现形如"javax.servlet.ServletException: Cannot load JDBC driver class ..."的错误.
现把数据源测试程序源码附上:
%@ page contentType="text/html;charset=gb2312" %>
%@ page import="javax.sql.*,javax.naming.*,java.sql.*" %>
%
String lookupName = "java:comp/env/jdbc/dbsource"; //这里的jdbc/dbsource根据您的配置进行相应修改
Context ctx = new InitialContext();
Connection con;
DataSource ds;
System.out.println( "开始查找数据源exercise" );
Object obj = ctx.lookup( lookupName );
ds = ( DataSource ) obj;
con = ds.getConnection();
if( con !=null ){
out.println("exercise配置成功:"+ obj.getClass().getName() );
out.println("exercise配置成功:"+ lookupName );
}
%>
二:Tomcat5.*
Tomcat5.*与以前版本差不多,区别是把配置信息独立放在%Tomcat_Home%\conf\Catalina\localhost\yourapp.xml文件,而不是在server.xml中配置了,最简单的办法是把Tomcat4.*中的第一步代码拷到%Tomcat_Home%\conf\Catalina\localhost\yourapp.xml就可以了
其它与Tomcat4.*同.
三:Tomcat5.5.*
这个版本与Tomcat5.*一样,把配置信息独立放在%Tomcat_Home%\conf\Catalina\localhost\yourapp.xml文件中,但这个文件中的内容有了很大的变化
以下是我配置的一个
Context path="/input" docBase="D:\demo\input" debug="0" privileged="true">
Resource name="input" auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="sa" password="" driverClassName="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:hsql://localhost:9009/demodb"/>
/Context
四:Tomcat6.0
这个版本的数据源配置与Tmcat5.5.*的完全一样,在此不再赘述.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/29/showart_359247.html |
|