仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 945|回复: 7
打印 上一主题 下一主题

[学习教程] JAVA网页编程之Tomcat4.01全攻略

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:08:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解
老尸 该用户已被删除
沙发
发表于 2015-1-18 16:24:29 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.ckuyun.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-22 11:49:38 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
不帅 该用户已被删除
地板
发表于 2015-1-31 06:17:21 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
莫相离 该用户已被删除
5#
发表于 2015-2-6 17:45:23 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
因胸联盟 该用户已被删除
6#
发表于 2015-2-17 20:38:04 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
深爱那片海 该用户已被删除
7#
发表于 2015-3-5 22:43:52 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
只想知道 该用户已被删除
8#
发表于 2015-3-12 16:13:12 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-10 19:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表