Tomcat详解
解压缩下载的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详解的更多相关文章
- Tomcat详解及SNS系统的部署实现
Tomcat详解及SNS系统的部署实现 http://jungege.blog.51cto.com/4102814/1409290
- Tomcat详解系列(1) - 如何设计一个简单的web容器
Tomcat - 如何设计一个简单的web容器 在学习Tomcat前,很多人先入为主的对它的认知是巨复杂的:所以第一步,在学习它之前,要打破这种观念,我们通过学习如何设计一个最基本的web容器来看它需 ...
- Tomcat详解系列(2) - 理解Tomcat架构设计
Tomcat - 理解Tomcat架构设计 前文我们已经介绍了一个简单的Servlet容器是如何设计出来,我们就可以开始正式学习Tomcat了,在学习开始,我们有必要站在高点去看看Tomcat的架构设 ...
- Tomcat详解系列(3) - 源码分析准备和分析入口
Tomcat - 源码分析准备和分析入口 上文我们介绍了Tomcat的架构设计,接下来我们便可以下载源码以及寻找源码入口了.@pdai 源代码下载和编译 首先是去官网下载Tomcat的源代码和二进制安 ...
- day08:软件系统的体系结构&Tomcat详解&Web应用&http协议
day08 软件系统体系结构 常见软件系统体系结构B/S.C/S 1.1 C/S C/S结构即客户端/服务器(Client/Server),例如QQ: 需要编写服务器端程序,以及客户端 ...
- Linux 安装 Tomcat 详解
说明:安装的 tomcat 为解压版(即免安装版):apache-tomcat-8.5.15.tar.gz (1)使用 root 用户登录虚拟机,在根目录下的 opt 文件夹新建一个 software ...
- tomcat 详解
首先搞清楚几个概念:Servlet容器与web容器.Servlet容器的主要任务是管理servlet的生命周期,而web容器更准确的说应该叫web服务器,它是来管理和部署web应用的.还有一种服务器叫 ...
- Servlet学习之web服务器Tomcat 详解
Web服务器是什么 Web服务器是指驻留于因特网上某种类型计算机的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文 ...
- tomcat 详解五 tomcat页面设置访问权限
转自:http://blog.knowsky.com/191233.htm 在web应用中,对页面的访问控制通常通过程序来控制,流程为:登录 -> 设置session -> 访问受限页面时 ...
随机推荐
- FPGA串口波特率简析
以前用单片机,一直都是直接用就行,设置波特率时,直接写9600就行,一直没有仔细考虑过,今天打算用FPGA写个串口程序时才知道,原来根本就是没弄明白.一下是我的一些见解.如果诸位看官觉得不对,欢迎指正 ...
- 【BZOJ1500】[NOI2005]维修数列
Description Input 输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目.第2行包含N个数字,描述初始时的数列.以下M行,每行一 ...
- Core love JavaScript
Core love JavaScript 前言 在 ASP.NET 团队的 Github 的主页上,有这样一个开源项目叫:"JavaScriptsServices",那么什么是 J ...
- ServiceStack.Redis
什么是Redis 首先,简述一下什么是Redis. Redis是一个开源.支持网络.基于内存.键值对存储数据库,使用ANSI C编写.从2013年5月开始,Redis的开发由Pivotal赞助.在这之 ...
- 明晰三种常见存储技术:DAS、SAN和NAS
随着企业网络应用的时间和应用的数据量的加大,企业已经感觉到存储容量和性能落后与网络的应用发展需求,特别是流媒体企业,在这种应用条件下满足用户的存储需求的技术应用诞生,DAS.NAS和SAN三种存储技术 ...
- 自助Linux之问题诊断工具strace
转 http://www.cnblogs.com/bangerlee/archive/2012/02/20/2356818.html 引言 “Oops,系统挂死了..." “Oops,程序 ...
- WCF服务的创建和发布到IIS
一. WCF服务的创建 有两种创建方式: 1.WCF服务库 2.WCF服务应用程序 如下图所示: 这里选择WCF服务库.注意事项: 1.WCF服务库是一个类库项目,这里选择.net 3.5版本(版本高 ...
- 关于DJANGO和JAVASCRIPT的时间
最近,实际一些简单统计时,要到库里去检索数据出来用HIGHCHARTS画图, 作一个简单的回照.. DJANGO用TEMPLATEVIEW来作.专业,正规:) class SAView(Templat ...
- 如何将DJANGO轻量级化
看看这本书,应该有收获. 不用DJANGO-ADMIN STARTPROJECT XXX 一个文件,一样可以写出可以运行的原生DJANGO哟. import hashlib import sys im ...
- android 多个listView的向下滚动设置 listView动态设置高度代码
墨迹天气图: 这里都是用的android里面的shape实现的,实现起来比较简单,只是在滚动的时候有点小麻烦... 当我们多个ListView超出了它的父控件LinearLayout的时候,它们每个L ...