|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?攻略鉴于良多人对tomcat的设置及用法不解,特在网上搜的一篇文章济急。
==================
Tomcat4.01全攻略
一:简介
tomcat是jakarta项目中的一个主要的子项目,其被JavaWorld杂志的编纂选为
2001年度最具立异的java产物(MostInnovativeJavaProduct),同时它又
是sun公司官方保举的servlet和jsp容器(详细能够见
http://java.sun.com/products/jsp/tomcat/),因而其愈来愈多的遭到软件
公司和开辟职员的喜好。servlet和jsp的最新标准都能够在tomcat的新版本中得
到完成。
二:安装及设置
tomcat最新版本为4.0.1,这个版本用了一个新的servlet容器Catalina,完全
的完成了servlet2.3和jsp1.2标准。注重安装之前你的体系必需安装了jdk1.2以
上版本。
(一):安装
1:windows平台
从tomcat网站下载jakarta-tomcat-4.0.1.exe,依照一样平常的windows程序安
装步骤便可安装好tomcat,安装时它会主动寻觅你的jdk和jre的地位。
2:linux平台
下载jakarta-tomcat-4.0.1.tar.gz,将其解压到一个目次。
(二):设置
运转tomcat必要设置JAVA_HOME变量
setJAVA_HOME=c:/jdk(win98,在msdos体例下利用,大概放进autoexec.bat中)
exportJAVA_HOME=/usr/local/jdk(linux下利用,放到/etc/bashrc大概/etc/profile中)
(三):运转
设置终了后就能够运转tomcat服务器了,进进tomcat的bin目次,win98下用
startup启动tomcat,linux下用startup.sh,响应的封闭tomcat的命令为
shutdown和shutdown.sh。
启动后能够在扫瞄器中输出http://localhost:8080/测试,因为tomcat自己具
有web服务器的功效,因而我们不用安装apache,固然其也能够与apache集成
到一同,上面会先容。
上面你能够测试其自带的jsp和servlet示例。
三:使用
(一):目次布局
tomcat的目次布局以下:
目次名:简介
bin:寄存启动和封闭tomcat剧本
conf:包括分歧的设置文件,server.xml(Tomcat的次要设置文件)和web.xml
work:寄存jsp编译后发生的class文件
webapp:寄存使用程序示例,今后你要部署的使用程序也要放到此目次
logs:寄存日记文件
lib/japser/common:这三个目次次要寄存tomcat所需的jar文件
(二):server.xml设置简介
上面我们将报告这个文件中的基础设置信息,更详细的设置信息见tomcat的文
档
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中的一
样):
className指定Valve利用的类名,如用org.apache.catalina.valves.AccessLogValve类能够纪录使用程序的会见信
息
directory指定log文件寄存的地位
pattern有两个值,common体例纪录远程主机名或ip地点,用户名,日期,第
一行哀求的字符串,HTTP呼应代码,发送的字节数。combined体例比common
体例纪录的值更多
注重:
1:经由我测试,我设置Context的path="",reloadable=true,然后放一个
WAR文件到webapps目次,了局tomcat不克不及检测出此文件(重起tomcat可
以),而把此文件解压,则tomcat会主动检测出这个新的使用程序。假如不克不及主动
检测WAR文件,我们能够使用上面办理中讲的办法来部署使用程序。
2:默许的server.xml中,Realm元素只设置了一个className属性,但此文件
中也包括几个经由过程JDBC毗连到数据库举行考证的示例(被正文失落了),经由过程Realm
元素我们能够完成容器平安办理(ContainerManagedSecurity)。
3:另有一些元素我们没有先容,如Parameter,loader,你能够经由过程tomcat
的文档猎取这些元素的信息。
(三):办理
1:设置
在举行详细的办理之前,我们先给tomcat增加一个用户,使这个用户有权限来进
行办理。
翻开conf目次下的tomcat-users.xml文件,在响应的地位增加上面一行:
<username="zf"password="zf"roles="standard,manager"/>
注重:这一行的最初部分必定是/>,tomcat的文档失落了/标记,假如没有/标记的
话,tomcat重起时将没法会见使用程序。经由过程logs/catalina.out文件你能够看
到这个毛病的具体信息。
然后重起tomcat,在扫瞄器中输出http://localhost:8080/manager/,会弹
出对话框,输出下面的用户名和暗码便可。
2:使用程序列表
在扫瞄器中输出http://localhost:8080/manager/list,扫瞄器将会显现以下
的信息:
OK-Listedapplicationsforvirtualhostlocalhost
/ex:running:1
/examples:running:1
/webdav:running:0
/tomcat-docs:running:0
/manager:running:0
/:running:0
下面的信息分离为使用程序的路径,以后形态(running大概stopped),与这个
程序相连的session数。
3:从头装载使用程序
在扫瞄器中输出http://localhost:8080/manager/reload?
path=/examples,扫瞄器显现以下:
OK-Reloadedapplicationatcontextpath/examples
暗示example使用程序装载乐成,假如我们将server.xml的Context元素的
reloadable属性设为true(见下面表格),则没需要使用这类体例从头装载使用程
序,由于tomcat会主动装载。
4:显现session信息
在扫瞄器中输出http://localhost:8080/manager/sessions?
path=/examples,扫瞄器显现以下:
OK-Sessioninformationforapplicationatcontextpath/examples
Defaultmaximumsessioninactiveinterval30minutes
5:启动和封闭使用程序
在扫瞄器中输出http://localhost:8080/manager/start?path=/examples
和http://localhost:8080/manager/stop?path=/examples分离启动和关
闭examples使用程序。
6:部署及打消部署
WAR有两种构造体例,一种是按必定的目次布局构造文件,一种是一个后缀为
WAR的紧缩包,因而它的部署体例也有两种:
(1):在扫瞄器中输出:http://localhost:8080/manager/install?
path=/examples&war=file:/c:examples
就会将按目次布局构造的WAR部署
(2):假如输出:http://localhost:8080/manager/install?path=/examples&war=jar:file:/c:examples.war!/
就会将按紧缩包构造的WAR部署,注重此url后半部分必定要有!/号。
部署后就能够用http://localhost:8080/examples会见了。
在扫瞄器中输出:http://localhost:8080/manager/remove?path=/examples就会打消方才部署的使用程序。
(四):与apache集成
固然tomcat也能够作web服务器,但其处置静态html的速率比不上apache,且其
作为web服务器的功效远不如apache,因而我们想把apache和tomcat集成起
来。
我们以linux体系为例先容.
从apache网站下载apache1.3.22源代码版本,然后利用以下命令设置安装
apache:
mkdir/usr/local/apache
tarzxvfapache.1.32.tar.gz
cdapache.1.32
./configure--prefix=/usr/local/apache--enable-module=so
make
makeinstall
注重configure命令指定方针安装目次,而且到场DSO(DynamicShared
Object)撑持,注重必定不要忘了这一个选项。
然后下载webapp模块,将解压后mod_webapp.so文件放进apache的
libexec目次,编纂apache的conf目次下的httpd.conf,在这个文件的最初到场
上面三行:
LoadModulewebapp_modulelibexec/mod_webapp.so
WebAppConnectionwarpConnectionwarplocalhost:8008
WebAppDeployexampleswarpConnection/examples/
第一行是到场webapp模块,假如编译apache时不增添DSO撑持,则没法利用
LoadModule指令,第二行指定tomcat与apache的毗连,第三行指定部署谁人
使用,这两个指令利用格局以下:
WebAppConnection[connectionname][provider][host:port]
WebAppDeploy[applicationname][connectionname][urlpath]
个中connectionname指定毗连名,provider只能是warp,port端口与你的
tomcat的设置文件server.xml最初几行指定的要坚持分歧。文件以下:
<Servicename="Tomcat-Apache">
<ConnectorclassName="org.apache.catalina.connector.warp.WarpConnector"
port="8008"minProcessors="5"maxProcessors="75"
enableLookups="true"
acceptCount="10"debug="0"/>
******
</Service>
applicationname与你在tomcat中部署的使用名分歧,urlpath指定会见这个
使用的url。比方下面的例子能够经由过程http://localhost/examples/来会见
tomcat中的examples使用。
(五):中文成绩
一样平常jsp的乱码成绩能够经由过程在jsp中到场<%@pagecontentType="text/html;charset=GB2312"%>来办理,至于servlet的乱
码在可使用servlet2.3中供应的HttpServeletRequest.setCharacterEncoding函数。更具体的中文成绩请见
JSP/Servlet中的汉字编码成绩。
四:综述
tomcat作为一个servlet(jsp也被编译为servlet实行)容器,其使用远景长短常
好的,假如与jboss分离起来,则能够完成sun的j2ee标准(用jboss作ejb服务
器)。jboss的官方网站也供应集成了tomcat3.2*的jboss以供下载。别的一个开
源的使用服务器(enhydra)也是基于tomcat的,其供应了更友爱的办理界面,部署使用程序也更复杂,功效也更壮大。
学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解 |
|