tomcat60配置.docx
《tomcat60配置.docx》由会员分享,可在线阅读,更多相关《tomcat60配置.docx(14页珍藏版)》请在冰豆网上搜索。
![tomcat60配置.docx](https://file1.bdocx.com/fileroot1/2022-12/1/35a57bd8-8146-408e-8b57-f3af78e4e54f/35a57bd8-8146-408e-8b57-f3af78e4e54f1.gif)
tomcat60配置
tomcat6.0配置
第一步:
下载jdk和tomcat:
最新的jdk为1.6.10,tomcat为6.0,建议jdk1.4以上,tomcat4.0以上
第二步:
安装和配置你的jdk和tomcat:
执行jdk和tomcat的安装程序,然后设置按照路径进行安装即可。
1.安装jdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的jdk安装在C:
\ProgramFiles\Java):
JAVA_HOME=C:
\ProgramFiles\Java\jdk1.6.0_10
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
path=%JAVA_HOME%\bin
接着可以写一个简单的java程序来测试JDK是否已安装成功:
publicclassTest{
publicstaticvoidmain(Stringargs[]){
System.out.println("Thisisatestprogram.");
}
}
将上面的这段程序保存为文件名为Test.java的文件。
然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
javacTest.java
javaTest
此时如果看到打印出来Thisisatestprogram.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:
\tomcat):
CATALINA_HOME:
c:
\tomcat
CATALINA_BASE:
c:
\tomcat
TOMCAT_HOME:
C:
\Tomcat
然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下:
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;
【注意最新版本的Tomcat中可能没有common这个文件夹了。
所以servlet-api.jar应该的路径为%CATALINA_HOME%\lib\servlet-api.jar;请根据自己的情况自己修改!
】
接着可以启动tomcat,在IE中访问http:
//localhost:
8080,如果看到tomcat的欢迎页面的话说明安装成功了。
体验把你的网页拷到webapps/ROOT目录下,然后再通过浏览器访问即可,默认如下格式:
http:
//localhost:
8080/<你的网页>
第三步:
建立自己的jspapp目录
1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples,tomcat-docs之类Tomcat自带的的目录;
2.在webapps目录下新建一个目录,起名叫myapp;
3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
4.WEB-INF下新建一个文件web.xml,内容如下:
xmlversion="1.0"encoding="ISO-8859-1"?
>
DOCTYPEweb-app
PUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN"
"
MyWebApplication
Aapplicationfortest.
最好拷贝Tomcat的安装目录的webappswebapps\ROOT\WEB-INF下的web.xml,然后修改。
5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
Nowtimeis:
<%=newjava.util.Date()%>
6.重启Tomcat
7.打开浏览器,输入http:
//localhost:
8080/myapp/index.jsp看到当前时间的话说明就成功了。
第四步:
建立自己的Servlet:
写入你的第一个Servlet:
在你新建的Applicationmyapp/WEB-INF/classes/test目录下新建HelloWorld.java
packagetest;
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassHelloWorldextendsHttpServlet
{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)th
rowsServletException,IOException
{
response.setContentType("text/html");
PrintWriterout=response.getWriter();
out.println("
");out.println("ThisismyfirstServlet");
out.println("
");
out.println("
Hello,World!
");
out.println("");
}
}
然后照样用javacHelloWorld.java来编译这个文件,如果出现无法importjavax.servl
et.*
查看classpath设置,加入%catalina%\lib\servlet-api.jar
然后在Tomcat目录里面的C:
\Tomcat\webapps\myapp里面按如下的文件结构:
myapp\index.jsp
myapp\WEB-INF\classes\test\HelloWorld.class(把上面生成的HelloWorld.class文件放在这个
里面)
然后在浏览器中输入,于是Server众望所归的报错了:
Error404--NotFound
怎么回事呢?
Servlet必须使用C:
\Tomcat\webapps\myapp\WEB-INF这个目录下面的web.xml文件进行注册,
用EditPlus打开这个web.xml文件,
在添加下面这段程序:
HelloWorld
test.HelloWorld
HelloWorld
/HelloWorld
为什么呢?
因为这样的结构
HelloWorld
test.HelloWorld//类的路径
表示指定包含的servlet类
而以下的结构
HelloWorld
/HelloWorld
表示指定HelloServlet应当映射到哪一种URL模式。
在修改web.xml完毕过后,重新启动Server,然后再输入,http:
//localhost:
8080/myapp/HelloWorld,那么偌大一个Hello,World!
等
着你呢,恭喜你!
第五步:
建立自己javaBean
1.在你新建的Applicationmyapp/WEB-INF/classes/test目录下新建TestBean.java
packagetest;
publicclassTestBean
{
privateStringname=null;
publicTestBean(StringnameInit){
this.name=nameInit;
}
publicvoidsetName(StringnewName){
this.name=newName;
}
publicStringgetName(){
returnthis.name;
}
}
然后照样用javacTestBean.java来编译这个文件。
2.然后在你新建的应用程序目录myapp下新建一个新的jsp文件:
testBean.jsp
<%@pageimport="test.TestBean"%>
TestBean<%
TestBeantestBean=newTestBean("Http:
//");
%>
JavaBeanTest:
Theauthor'sblogaddressis<%=testBean.getName()%>
好了,确定各个文件的位置:
myapp\index.jsp
myapp\testBean.jsp
myapp\WEB-INF\web.xml
myapp\WEB-INF\classes\test\HelloWorld.class
myapp\WEB-INF\classes\test\TestBean.class
3.重启Tomcat如果需要的话,在浏览器输入:
幸运的话就会看到:
JavaBeanTest:
Theauthor'sblogaddressisHttp:
//
这样就完成了整个Tomcat下的jsp、servlet和javabean的配置。
第六步:
配置虚拟目录
打开Tomcat6.0\conf\server.xml文件,在和之间加入
\myapp"debug="0"reloadable="true"crossContext="true"/>
假设你已将Tomcat解压,你已得到下列目录结构:
目录名--描述
bin 包含启动/关闭脚本
conf 包含不同的配置文件,
包括server.xml(Tomcat的主要配置文件)和为不同的Tomcat配置的web应用设置缺省值的文件web.xml
doc 包含各种Tomcat文档
lib 包含Tomcat使用的jar文件.unix平台此目录下的任何文件都被加到Tomcat的classpath中
logs Tomcat摆放日志文件的地方
src ServletAPI源文件
webapps 包含web项目示例,文件夹主要用于web应用程序部署,比如你可以把你的应用程序包,如war文件拷到该目录下,容器会自动部署。
work Tomcat自动生成,放置Tomcat运行时的临时文件(如编译后的JSP文件).如在Tomcat运行时删除此目录.JSP页面将不能运行,
classes 你可以创建此目录来添加一些附加的类到类路径中.任何你加到此目录中的类都可在Tomcat的类路径中找到自身.
Tomcat的配置文件
Tomcat的配置基于两个配置文件:
1.server.xml-Tomcat的全局配置文件
2.web.xml-在Tomcat中配置不同的关系环境
web.xml
Tomcat可以让用户通过将缺省的web.xml放入conf目录中来定义所有关系环境的web.xml的缺省值.建立一个新的关系环境时,Tomcat使用缺省的web.xml文件作为基本设置和应用项目特定的web.xml(放在应用项目的WEB-INF/web.xml文件)来覆盖这些缺省值.
1、默认(欢迎)文件的设置
在tomcat4\conf\web.xml中,与IIS中的默认文件意思相同。
index.html
index.htm
index.jsp
2、报错文件的设置
404
/notFileFound.jsp
java.lang.NullPointerException
/null.jsp
如果某文件资源没有找到,服务器要报404错误,按上述配置则会调用\webapps\ROOT\notFileFound.jsp。
如果执行的某个JSP文件产生NullPointException,则会调用\webapps\ROOT\null.jsp
3、会话超时的设置
设置session的过期时间,单位是分钟;
30
4、过滤器的设置
FilterSource
project4.FilterSource
FilterSource
/WwwServlet
(/haha/*)
过滤:
1)身份验证的过滤AuthenticationFilters
2)日志和审核的过滤LoggingandAuditingFilters
3)图片转化的过滤ImageconversionFilters
4)数据压缩的过滤DatacompressionFilters
5)加密过滤EncryptionFilters
6)TokenizingFilters
7)资源访问事件触发的过滤FiltersthattriggerresourceaccesseventsXSL/T过滤XSL/Tfilters
9)内容类型的过滤Mime-typechainFilter注意监听器的顺序,如:
先安全过滤,然后资源,
然后内容类型等,这个顺序可以自己定。
容器的配置(server.xml)
到主目录/conf文件夹下server.xml文件是对web服务器的配置:
以下是一些常见的设置,http端口设置,找到以下:
maxThreads="150"minSpareThreads="25"maxSpareThreads="75" enableLookups="false"redirectPort="8443"acceptCount="100"
connectionTimeout="20000"disableUploadTimeout="true"/>
把8080端口改为你喜欢使用的端口,如常见的80,以后你就可以利用该端口进行访问你的网站了:
http:
//localhost:
80期中80是默认的,可以不写,其他的一下配置,可以参观相关的内容,入门就是这么简单。
找到以下:
unpackWARs="true"autoDeploy="true"
xmlValidation="false"xmlNamespaceAware="false">
....
在他们之间可以添加一个元素,如:
,其中属性path代表是网络访问的上下文路径,reloadable表示可以在运行时在classes与lib文件夹下自动加载类包,docBase属性表示你的应用程序的路径,在windows在如:
docBase="E:
\Sun\axis",workDir表示是缓存文件的放置地点,可以方便跨平台移植时不用重编译。
这样,你的应用程序就可以放到硬盘上的任意地方了。
还有一个方法可以做到这点(推荐):
编写一个xml文件,然后放到tomcat目录/conf/Catalina/<相应的网站>/目录下,如:
现在我有个应用程序ACMEWeb,我编了一个文件ACMEWeb.xml内容如下:
\eclipseproject\ACMEWeb"workDir="E:
\eclipseproject\ACMEWeb\work"/>
我把它放到了tomcat目录/conf/Cataline/localhost下,在浏览器打开http:
//localhost/ACMEWeb就会转向我放在E:
\eclipseproject\ACMEWeb下的程序了。
Tomcat配置文件server.xml中常用元素简介
Server
○ port指定一个端口,这个端口负责监听关闭tomcat的请求
○ shutdown指定向端口发送的命令字符串
● Service
○ name指定service的名字
● Connector(表示客户端和service之间的连接)
○ port指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求
○ minProcessors服务器启动时创建的处理请求的线程数
○ maxProcessors最大可以创建的处理请求的线程数
○ enableLookups如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址
○ redirectPort指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号
○ acceptCount指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
○ connectionTimeout指定超时的时间数(以毫秒为单位)
● Engine(表示指定service中的请求处理机,接收和处理来自Connector的请求)
○ defaultHost指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的
● Context(表示一个web应用程序,通常为WAR文件,关于WAR的具体信息见servlet规范)
○ docBase应用程序的路径或者是WAR文件存放的路径
○ path表示此web应用程序的url的前缀,这样请求的url为http:
//localhost:
8080/path/****
○ reloadable这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序
● Host(表示一个虚拟主机)
○ name指定主机名
○ appBase应用程序基本目录,即存放应用程序的目录
○ unpackWARs如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序
● Logger(表示日志,调试和错误信息)
○ className指定logger使用的类名,此类必须实现org.apache.catalina.Logger接口
○ prefix指定log文件的前缀
○ suffix指定log文件的后缀
○ timestamp如果为true,则log文件名中要加入时间,如下例:
localhost_log.2001-10-04.txt
● Realm(表示存放用户名,密码及role的数据库)
○ className指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口
● Valve(功能与Logger差不多,其prefix和suffix属性解释和Logger中的一样)
○