Tomcat的启动和目录结构
来源:互联网 发布:西方媒体抹黑中国 知乎 编辑:程序博客网 时间:2024/05/18 01:32
一、安装Tomcat
首先下载Tomcat,访问Tomcat的官方网站:http://tomcat.apache.org/,选择最新版的下载,这里下载的是:apache-tomcat-8.0.12.zip。
解压缩apache-tomcat-8.0.12.zip,看到tomcat的目录结构:
二、运行Tomcat
在Tomcat 的安装目录下的bin子目录里面有一些批处理文件,双击Tomcat 的启动脚本startup.bat 发现一闪而退。
打开windows的命令提示符,进入该startup.bat所在的目录,输入startup,出现如下提示画面:
提示没有配置JAVA_HOME或者JRE_HOME的环境变量,在这里配置一下,将JAVA_HOME添加到环境变量里面去:
其中的变量值是你电脑中JDK的安装目录。
这时候关闭命令提示符,再运行bin目录下面的startup.bat,这时候可以看到Tomcat正常启动了,如下图所示:
这时打开浏览器,在地址栏中输入http:localhost:8080,即可看到Tomcat的主页了。如图所示:
这里还有一个问题,如果我们不是在bin目录下运行这个startup.bat文件,如:
在别的目录下运行,就会提示没有CATALINA_HOME环境变量配置,这里和之前的JAVA_HOME一样将CATALINA_HOME添加到系统的环境变量中去:
这里的变量值是计算机中你的tomcat的安装目录。这是再运行startup.bat即可启动Tomcat。
三、Server.xml文件配置
在conf/server.xml文件中。
<server>
一个server代表了整个容器,Tomcat提供了一个默认的org.apache.catalina接口的实现,用户很少修改这个默认的实现。
port:指定一个端口,这个端口负责监听关闭tomcat的请求。
shutdown:指定向端口发送的命令字符串,通常是“SHUTDOWN”。
<service>
一个Service是一个中间件,存在于一个Server的内部,将一个或者多个Connectors绑定到一个特定的Engine上。默认的实现已经足够用了。是org.apache.catalina.Service接口的一个实现。
name:指定service的名字,通常是”Catalina”。
<Connector>
连接器(Connector)处理与客户端的通信,他负责接收客户请求,以及向客户返回相应结果。一个Connector将在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户 。在Tomcat中,有多个连接器可以使用。
port:指定服务器端要创建的端口号,并使用这个断口监听来自客户端的请求。
protocol:设定监听的协议。
redirectPort:指定当服务器正在处理HTTP请求时收到了一个SSL传输请求后重定向的端口号 。
<Engine>
一个Engine代表一个特定的Service的请求处理的管道。因为一个Service可以有多个Connectors,Engine接收并且处理从这些Connectors过来的所有的请求,并且将结果送回合适的connector并发送给客户端。
Engine下可以配置多个虚拟主机Virtual Host,每个虚拟主机都有一个域名。
当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该Host来处理。
Engine有一个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来处理。
name:指定Engine的名字,通常是”Catalina”。
defaultHost:指定默认的处理请求的主机名,至少与某个host元素的name属性值是相同的。
<Host>
Host表示一个虚拟主机,一个引擎可以包含多个Host。每个虚拟主机和某个网络域名Domain Name相匹配,每个虚拟主机下都可以部署(deploy)一个或者多个Web App,每个Web App对应于一个Context,有一个Context path。当Host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理。匹配的方法是“最长匹配”,所以一个path==" "的Context将成为该Host的默认Context,所有无法和其它Context的路径名匹配的请求都将最终和该默认Context匹配。
name:指定虚拟主机名字。
debug:指定日志级别。
appBase:存放Web应用程序的基本目录,可以是绝对路径或相对于$CATALINA_HOME的目录,默认是:$CATALINA_HOME/webapps,$CATALINA_HOME指的是Tomcat的安装目录。
unpackWARs:如果为true,则tomcat会自动将WAR文件解压后运行,否则不解压而直接从WAR文件中运行应用程序。
autoDeploy:如果为true,表示Tomcat启动时会自动发布appBase目录下所有的Web应用(包括新加入的Web应用)。
<Context>
一个Context 对应于一个Web应用程序(Web Application),运行在特定的虚拟主机上,一个Web Application由一个或者多个Servlet 组成,Context 在创建的时候将根据配置文件$CATALINA_HOME/conf/web.xml和$WEBAPP_HOME/WEB-INF/web.xml载入Servlet类。当Context获得请求时,将在自己的映射表(mapping table)中寻找相匹配的Servlet类。如果找到,则执行该类,获得请求的回应,并返回。
docBase:指定此Web应用的绝对或相对路径,也可以为WAR文件的路径。
path:表示此Web应用程序的url的入口,如为“/hello“,则请求的URL为http://localhost:8080/hello/。
reloadable:这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序。
<Realm>
表示存放用户名,密码及role的数据库.
className:指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口。
四、Tomcat 的管理程序
Tomcat提供了一个管理程序——manager,用于管理部署到Tomcat服务器中的Web应用程序。
下面添加一个用户,打开Tomcat安装目录下的conf\tomcat-users.xml文件,在<tomcat-users>标签里面添加角色:
<?xml version='1.0' encoding='utf-8'?><tomcat-users> <role rolename="manager-gui"/> <user username="eaton" password="123456" roles="manager-gui"/></tomcat-users>第3、4行为我们添加的内容,记住自己添加的用户名和密码。
接下来启动Tomcat服务器,打开浏览器,在地址栏中输入:http://localhost:8080/。
在Tomcat的欢迎页面中点击红色箭头指向的“Manager APP”连接,看到一个登陆的对话框,输入我们刚才在tomcat-users.xml中配置的用户名和密码,单击“确定”按钮,将会看到如下所示页面:
在这个页面中可以部署、启动、停止、重新加载web应用程序。
注意到Applications下面有一个/examples链接,单击这个链接进入Tomcat提供的示例程序页面,如下所示:
这些例子可供大家学习Servlet时作为参考。
- Tomcat的启动和目录结构
- servletcontext监听器的启动位置以及tomcat和eclipse的目录结构
- Tomcat 服务器的目录结构和配置
- Tomcat的安装和目录结构
- 单机多实例Tomcat的目录结构及安装启动
- tomcat的目录结构
- Tomcat的目录结构
- tomcat的目录结构
- Tomcat的目录结构
- tomcat的目录结构
- Tomcat的目录结构
- Tomcat的目录结构
- tomcat的目录结构
- tomcat的目录结构
- Tomcat的目录结构
- tomcat的目录结构
- tomcat的目录结构
- tomcat的目录结构
- 应用程序无法正常启动(0xc0150002)
- Chapter 1 Object Lessons [《C++对象模型》 笔记]
- AutoHotkey调用KeePass快速输入密码
- XSL文件Sheet1页第2行第1列设置特定的填充色、字体和字色
- S3C6410同步/异步时钟配置
- Tomcat的启动和目录结构
- node.js学习
- 解决 java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented
- Java设计模式详解
- oracle11g行列转换
- 常识
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- flex常用的容器
- Java Study@2014-09-30