Tomcat入门指南

转自javaresearch.com由timgball 整理

Tomcat是一个免费的开源Web服务器,最新版本是5.5.1,支持Servlet2.4,JSP2.0,非常适合初学者学习Java Web开发。下面是一个简单的Tutorial:[安装Tomcat],在安装Tomcat之前,必须首先安装JDK1.4,因为Tomcat本身是纯Java程序,需要JVM运行,此外JSP页面需要javac来编译运行,因此必须安装JDK(单装JRE不行)。然后从Tomcat官方站点下载最新版的Tomcat:Windows版本:http://apache.linuxforum.net/dist/jakarta/tomcat-5/v5.5.1/bin/jakarta-tomcat-5.5.1.zip ,Linux版本:http://apache.linuxforum.net/dist/jakarta/tomcat-5/v5.5.1/bin/jakarta-tomcat-5.5.1.tar.gz
Tomcat不需安装,直接解压到某个目录即可(请注意整个路径不要有中文名)。

[配置Tomcat]
先设置如下环境变量:
JAVA_HOME = <JDK安装目录>
TOMCAT_HOME = <Tomcat根目录>
在Path最后附加:
Path = ......;%JAVA_HOME%/bin

如果使用linux,请用export设置环境变量。

然后打开控制台窗口,输入javac,如果能够运行,说明能找到JDK的编译器,输入java -version,如果显示1.4.x_xx则配置正确,否则检查是否安装了低版本的JDK(比如1.3版本),如果有低版本的JDK,把它从Path中移除即可。

[启动和关闭Tomcat]
打开目录%TOMCAT_HOME%/bin,运行startup.bat(linux下是startup.sh),稍等片刻,直到出现信息: Server startup in XXXXX ms表示启动成功!要关闭Tomcat,最好不要直接关掉控制台窗口,运行%TOMCAT_HOME%/bin/shutdown.bat(linux下是shutdown.sh)。

[第一个JSP程序]
运行在Tomcat的Web程序全部放在%TOMCAT_HOME%/webapps下,每个应用单独一个目录,我们开始写第一个"Hello, world"JSP页面。
首先,我们在%TOMCAT_HOME%/webapps下新建一个hello目录,作为整个Web应用程序的根目录,然后在hello目录下新建hello.jsp,用任何文本编辑器输入以下内容:
<% out.println("Hello, world."); %>
然后启动Tomcat,打开浏览器,输入http://localhost:8080/hello/hello.jsp,稍等片刻,浏览器显示“Hello, world.”我们的第一个JSP运行成功!
 [Web开发基础]
J2EE的Web应用程序有标准的格式,我们先创建如下结构的目录(请严格区分大小写):
hello |
 +- WEB-INF     |
 +- classes    |
 +- lib
 +- web.xml
所有需要的class文件均以WEB-INF/classes/为根目录按包名存放,所有的jar文件全部放在WEB-INF/lib下,Web服务器(比如Tomcat)会自动把classes和lib下的所有jar文件动态添加到CLASSPATH中,其中classes目录优先级高,如果classes和lib中某个jar的class全名相同,则只会找到classes下的文件。
WEB-INF/web.xml是标准配置文件,负责注册Servlet,Filter及其它用到的资源。在我们的hello应用中,因为没有web.xml,Tomcat会使用缺省的配置文件(什么也不配置)。
一般说来,自己写的class包括servlets,filter,javaBean等编译后放在classes目录下,用到的第三方jar(如struts.jar)放在lib下。
JSP文件可放在根目录下的任意位置,但是位置不同会影响URL的格式。以上面的hello应用为例,我们指定hello/hello.jsp,则URL为http://localhost:8080/hello/hello.jsp,若是放在hello/admin/hello.jsp,则相应的URL变为http://localhost:8080/hello/admin/hello.jsp,若是放在WEB-INF下,则用户不可直接访问此JSP文件,只能通过RequestDispatch间接访问,此方法可向用户屏蔽真实的URL,在struts等Web框架中被广泛使用。

[发布Web应用程序]
发布Web应用程序非常简单,直接使用jar命令将整个hello目录打包,命名为xxx.war,然后复制到另一台计算机的%TOMCAT_HOME%/webapps/下(或者别的Web服务器如Resin,WebLogic也可),启动服务器,它会自动找到这个war文件并解压安装。

./catalina.sh start  开启tomcat服务

./catalina.sh stop   关闭tomcat服务

Tomcat容器入门介绍

Tomcat环境配置

PS:JDK的安装这里就不讲了,找到安装包直接下一步下一步就行了。

1、配置JDK

在Windows10下,找到环境变量

在环境变量中添加JDK主目录

格式为:JAVA_HOME= 指向你的jdk的主目录(并不是bin文件目录)

    在环境变量中添加路径

格式为:path = %JAVA_HOME%in;

    在环境变量中添加classpath

格式为:classpath: .;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;

至此,JDK就配置完了。

PS:如果在不配置JAVAHOME的前提下可以用如下方法启动tomcat

在startup.bat的第25行中添加set JAVA_HOME=JKD路径

2、启动tomcat

    到 tomcat 主目录下的bin/startup.bat点击启动

3、验证是否安装成功

    在浏览器中输入http://127.0.0.1:8080(8080是默认端口,如果该端口被占用需要到主目录/conf/server.xml中改端口号)

出现这个界面,就表示tomcat已经配置成功了。

Tomcat配置异常及其解决

1、JAVA_HOME 配置错误,或者没有配置 

   这时候,可以按照上面的步骤在来一次,在命令行中输入java -version,如果显示

就表示成功了。

2、如果你的机器已经占有了8080 端口,则无法启动

解决方法

(1) 你可以8080 先关闭

netstat –an 

netstat –anb 来查看谁占用该8080

(2) 主动改变tomcat的端口.

到 conf/server.xml 文件中修改

3、 能够正常启动,但是会导航到另外一个页面

    去修改工具->管理加载项,把默认的导航给禁用即可

4、浏览器显示404 Not Found

    在访问 tomcat时候,一定要保证 tomcat 服务器是启动,不然就会出现这种错误。

Tomcat的目录结构文件

bin: 启动和关闭tomcat的bat文件

conf: 配置文件 

-->*server.xml *: 该文件用于配置和 server 相关的信息, 比如 tomcat启动端口后,配置Host,  配置Context 即web应用 

-->web.xml : 该文件配置与 web应用(web应用就相当于是一个 web站点)

-->tomcat-users.xml: 该文件用户配置tomcat 的用户密码 和 权限

lib 目录: 该目录放置运行tomcat 运行需要的jar包

logs 目录:存放日志, 当我们需要去查看日志的时候,很有用!,当我们启动tomcat错误时候,可以查询信息.

webapps 目录: 该目录下,放置我们的web应用(web 站点), 比如:

建立  web1 目录  下面放置我们的html 文件 jsp 文件..图片... 则 web1就被当做一个web应用管理起来(☞ 特别说明tomcat 6.0 以后支持 tomcat 5 版本 还有别的设置)

work: 工作目录: 该目录用于存放jsp被访问后 生成的对应的 server文件 和.class文件

如何访问一个web应用的某个文件

PS:想要访问一个WEB应用中的某个文件可以采用url(Uniform Resource Locator)统一资源定位符来访问,其格式如上。

Tomcat应用部署目录结构规范

Tomcat管理虚拟目录

    需求:当希望将web应用部署到非webapps目录下时,怎么解决这问题。

PS:可以通过虚拟目录配置技术解决。

配置步骤

    1、找到server.xml文件

    2、编辑host节点,添加Context path

<Context path="/应用名" docBase="web应用所在的绝对路径"/>

例如:要访问该web应用根目录下的hello.html文件

实际访问时输入的地址:http://localhost:8088/应用名/hello.html

   3、重启、重新部署生效

context的几个属性的说明

path: 应用名称

docbase:  web应用所在的绝对路径

reloadable: 如果设为ture ,表示 tomcat 会自动更新 web应用,但是这个开销大,建议在开发过程中,可以设为true, 但是真的发布了,则应当设为false

upackWAR: 如果设为 ture ,则自动解压,否则不自动解压.

PS:war包的打包和Tomcat怎么部署war包可以使用搜索引擎找到。

配置域名

实现的步骤如下:

(1) 在C:WINDOWSsystem32driversetc 下的host文件 添加127.0.0.1 www.myweb.com

(2) 在tomcat 的server.xml文件添加主机名 

<Host name="www.myweb.com" appBase="d:web3”>

<Context path="/" docBase="d:web3" />

</Host>

(3) 在d:web3 加入了一个 /WEB-INF/web.xml 把 hello2.html设为首页面,如果连端口都不希望带,则可以把tomcat的启动端口设为80即可.

(4) 重启生效

Tomcat框架机制

Tomcat配置默认主机

在tomcat/conf/server.xml 文件

<Engine name="Catalina" defaultHost="主机名">

如:<Engine name="Catalina" defaultHost="www.myweb.com">

----------参考《韩顺平.细说Servlet》

原文地址:https://www.cnblogs.com/diegodu/p/5915358.html