解压缩下载的Tomcat压缩包,呈现的目录结构如下。

bin:目录存放一些启动和关闭Tomcat的可执行程序和相关内容。
conf:存放关于Tomcat服务器的全局配置。
lib:目录存放Tomcat运行或者站点运行所需的jar包,所有在此Tomcat上的站点共享这些jar包,如果需要扩展Tomcat功能,可以将第三方类库复制到该路径下。
logs:这是一个空路径,该路径用于保存Tomcat每次运行后产生的日志。
temp:保存Web应用运行过程中生成的临时文件。
wabapps:目录是默认的站点根目录,可以更改,用于自动部署Web应用,将Web应用复制到该路径下,Tomcat会将应用自动部署到容器中。
work:目录用于在服务器运行时过度资源,简单来说,就是存储jsp、servlet翻译、编译后的结果(class文件),该文件夹可以删除,但每次启动Tomcat服务器时,系统将再次建立该路径。
LICENSE等相关文档不怎么需要使用,故就不一一介绍。

修改默认端口

用文本编辑器打开conf目录下的server.xml,会发现下面这么一段,其中的8080就是默认端口,需要修改的话修改之后保存(建议使用1024以上的端口,避免与公用端口冲突),我设置的是8888,重启Tomcat即可!

    <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

输入http://localhost:8888/,如下所以表现修改端口成功!

如上图所示,显示三个控制台:一个市Server Status控制台,另一个是Manager App控制台,还有一个市Host Manager控制台。Status控制台用于监控服务器的状态,而Manager控制台可以部署、监控Web应用,因此我们通常只使用Manager控制台即可。点击Manager App,显示登录界面,这个对应用户名和密码需要自己事先设置好,是通过Tomcat的JAAS(JAAS,全称Java Authentication Service,Java验证和授权API,它用于控制对Java Web应用的授权访问)控制的,设置方法如下:

进入conf文件夹,用文本编辑器打开tomcat-users.xml,在<tomcat-user></tomcat-user>之间添加如下代码:

<role rolename="manager-gui"/>
<user username="tufujie" password="123456" roles="manager-gui"/>

其中username对应用户名,password对应密码,可以自行修改。

修改后重启Tomcat登录Manager App,显示如下:

显示Web应用根路径下的所有页面

在Web应用的开发阶段,通常希望Tomcat能列出Web应用根路径下的所有页面,这样能更方便地选择需要调试的JSP页面。但是出于安全考虑,Tomcat并不会列出Web应用根路径下的所有页面,所有打开Tomcat的conf目录下的web.xml文件,搜索listings,将参数对应的值从false改为true,这样就能让Tomcat列出Web应用根路径下的所有页面。

 <init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>

部署Web应用

-》利用Tomcat自动部署->最常见、最简单的方式:将Web应用复制到Tomcat的webapps下,系统将会将该应用部署到Tomcat中。

-》利用控制台部署,实质依然是利用Tomcat的自动部署。

-》添加自定义的Web部署文件

部署相对复杂,在conf目录下新建Catalina文件夹,再在Catalina文件夹中新建localhost文件夹,在localhost文件夹中添加名字任意的XML文件,该文件就是部署Web应用的配置文件,该文件的主文件名将作为Web应用的虚拟路径。例如,我们在conf/Catalina/localhost下添加一个test.xml文件,该文件的内容如下:

<Context docBase-"G:\Eclipse\jsptest" debug="0" privileged="true">

</Context>

上面的配置文件中粗体字指定了Web应用的绝对路径,重启Tomcat,Tomcat将会把G:\Eclipse\路径下的servlettest文件夹部署成Web应用,我的该应用的地址是:http://localhost:8888/jsptest/。

-》修改server.xml,修改conf文件夹下的server.xml,修改该文件可能会破坏Tomcat的系统文件,不建议使用

配置Tomcat数据源

Tomcat提供两种配置数据源的方式,这两种方式所配置的数据源访问范围不同:一种数据源可以让所有的Web应用都访问,被称为全局数据源,使用全局数据源需要修改Tomcat原有的server.xml文件,所以可能导致破坏Tomcat系统,因此尽量避免使用全局数据源。另一种只能在单个的Web应用中访问,被称为局部数据源,局部数据源无需修改系统的配置文件,只需修改用户自己的Web部署文件,不会造成系统的的破坏,而且数据源被封装在一个Web应用之中,防止被其它的Web应用访问,提供了更好的封装性。建议采用这种。无论哪种方式,都需要提供特定数据库的JDBC驱动,将JDBC驱动程序也就是对应数据库的架包复制到Tomcat的lib路径下。例如:为上面的名为jsptest的应用添加局部数据源,修改Tomcat下conf/Catalina/localhost下的test.xml文件即可。为Context元素添加一个Resource子元素,增加的内容如下:

<!--其中name指定数据源在容器中的JNDI名,从而让其它程序可以通过改名字访问数据源对象,driverClassName指定链接数据库的驱动,url指定数据库服务的URL,username指定链接数据库的用户名,password指定链接数据库的密码,maxActive指定数据源最大活动连接数,maxIdle指定数据池中最大的空闲连接数,maxWait指定数据池中最大等待获取链接的客户端-->
<Resource name="jdbc/dstest" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/javaee" username="root" password="123456" maxActive="5" maxIdle="2" maxWait="10000"/>

其中javaee数据库中的代码如下:

drop database javaee;
create database javaee;
use javaee; create table news_inf
(
news_id int primary key auto_increment,
news_title varchar(255)
); insert into news_inf
values
(null , 'Java核心技术卷一'),
(null , 'Java核心技术卷二');

测试的JSP代码片段如下:

Tomcat详解的更多相关文章

  1. Tomcat详解及SNS系统的部署实现

    Tomcat详解及SNS系统的部署实现   http://jungege.blog.51cto.com/4102814/1409290

  2. Tomcat详解系列(1) - 如何设计一个简单的web容器

    Tomcat - 如何设计一个简单的web容器 在学习Tomcat前,很多人先入为主的对它的认知是巨复杂的:所以第一步,在学习它之前,要打破这种观念,我们通过学习如何设计一个最基本的web容器来看它需 ...

  3. Tomcat详解系列(2) - 理解Tomcat架构设计

    Tomcat - 理解Tomcat架构设计 前文我们已经介绍了一个简单的Servlet容器是如何设计出来,我们就可以开始正式学习Tomcat了,在学习开始,我们有必要站在高点去看看Tomcat的架构设 ...

  4. Tomcat详解系列(3) - 源码分析准备和分析入口

    Tomcat - 源码分析准备和分析入口 上文我们介绍了Tomcat的架构设计,接下来我们便可以下载源码以及寻找源码入口了.@pdai 源代码下载和编译 首先是去官网下载Tomcat的源代码和二进制安 ...

  5. day08:软件系统的体系结构&Tomcat详解&Web应用&http协议

        day08 软件系统体系结构     常见软件系统体系结构B/S.C/S 1.1 C/S C/S结构即客户端/服务器(Client/Server),例如QQ: 需要编写服务器端程序,以及客户端 ...

  6. Linux 安装 Tomcat 详解

    说明:安装的 tomcat 为解压版(即免安装版):apache-tomcat-8.5.15.tar.gz (1)使用 root 用户登录虚拟机,在根目录下的 opt 文件夹新建一个 software ...

  7. tomcat 详解

    首先搞清楚几个概念:Servlet容器与web容器.Servlet容器的主要任务是管理servlet的生命周期,而web容器更准确的说应该叫web服务器,它是来管理和部署web应用的.还有一种服务器叫 ...

  8. Servlet学习之web服务器Tomcat 详解

    Web服务器是什么 Web服务器是指驻留于因特网上某种类型计算机的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文 ...

  9. tomcat 详解五 tomcat页面设置访问权限

    转自:http://blog.knowsky.com/191233.htm 在web应用中,对页面的访问控制通常通过程序来控制,流程为:登录 -> 设置session -> 访问受限页面时 ...

随机推荐

  1. 【oracle】Enterprise Manager 无法连接到数据库实例。下面列出了组件的状态---个人解决方案

    最近在学习Oracle,平常喜欢使用EM查看数据库状态,但是在最近突然发现EM连接不上Oracle数据库了,不知道问题出在哪里,只好卸载了重装.但是,在使用了几天以后,又出现了相同的问题,于是下决心将 ...

  2. Django文档——Model中的ForeignKey,ManyToManyField与OneToOneField

    关联关系字段 (Relationship fields) ForeignKey,ManyToManyField与OneToOneField分别在Model中定义多对一,多对多,一对一关系. 例如,一本 ...

  3. wxPython Modal Dialog 模式对话框

    <wxPython in Action>chap 9 笔记 1. Modal Dialog(模式对话框) A modal dialog blocks other widgets from ...

  4. 免信用卡注册美国App Store账号

    对于一些应用国内的App Store无法下载让人很郁闷,而自己又有点轻微的强迫症.于是开始尝试免信用卡注册iCloud账号. Apple的官方网站上的教程,见http://support.apple. ...

  5. 制作滚动视图(ScrollView)

    怎样判断是否应当使用滚动视图 所谓的滚动视图,是指一个可以滑动的视窗,视窗大小和位置固定不变,视窗内的内容用户可以通过手指滑动或者拖动滚动天来进行滚动浏览. 滚动视图的目的是为了解决同类内容过多,一个 ...

  6. 【BZOJ3196】Tyvj 1730 二逼平衡树

    Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的 ...

  7. Critical Rendering Path

    1.生成 dom & cssom https://developers.google.com/web/fundamentals/performance/critical-rendering-p ...

  8. linux驱动系列之调试环境搭建一

    2014年刚开始学习linux时,搭建环境花了很多时间.当时最熟悉的是单片机如Mag16和stm32,依据以往学习单片机的经验肯定要用下载器下载程序,但是我找了很久没有比较好的IDE,不像Mag16有 ...

  9. Recommender Systems 基于知识的推荐

    前两章的协同过滤和就内容的推荐都建立在“大量数据”的基础上,运用概率方法来进行计算和预测.不过,在现实生活中,有些物品,如:汽车.房屋.计算机,用户不会频繁的消费.如何在这种情况下对用户进行推荐? 这 ...

  10. [Database]Operators

    Arithmetic Operators +,-,×,÷ Comparison Operators =,<>,!=,>,<,>=,<= BETWEEN,IN,IS ...