tomcat的配置使用详细版

摘要:

开发者开发部署web应用时通常使用tomcat服务器,很多初学者只懂得在开发工具上配置,但离开了开发工具,自己手动配置部署,并让一个项目跑起来,你会了吗。小编也遇到过这样的困扰。网上查找的资料说法不一,小编就亲自动手实验

一. 下载

tomcat服务器直接到官网下载就好,根据自己的电脑系统选择对应的版本下载,window系统下载zip包,下载后解压

二. 配置

我们下载完成后,我们试图启动tomcat,启动有两种方式

  1. 直接到tomcat服务器的bin目录下双击startup.bat
  2. 通过cmd进入bin目录,输入命令startup.bat

但这时会出现的问题是,服务器启动程序只是一闪而过,为什么呢?

其实问题就是,没有Java的JDK,我们需要到环境变量配置系统变量JAVA_HOME。我们都知道,1.5 以上的版本的JDK只需要配置path变量就可以了。但是如果你想在机器上使用tomcat的话,你就必须配置JAVA_HOME,指向JDK的安装位置。

配置好之后我们就可以正常打开tomcat了,双击startup.bat,tomcat正常启动。启动完成后,我们在浏览器地址栏上输入:http://localhost:8080,会得到以下的界面

这样就能使用tomcat部署应用了吗,还不行。我们还需要另外的一些配置

2.1 配置环境变量

我们需要配置三个系统环境变量

  • ATALINA_BASE:指向tomcat的安装位置
  • CATALINE_HOME:指向tomcat的安装位置
  • Path:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin

2.2 配置tomcat的服务端口

tomcat的默认服务端口是8080。可以通过配置文件来改变该服务端口,甚至通过修改配置文件让tomcat同时在多个端口提供服务

tomcat的配置文件都放在conf目录下。使用无格式文本编辑器打开该目录下的server.xml文件,定位到68行处

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

其中,port="8080"就是web应用的服务端口,将8080改为任意端口,建议使用1024以上的端口,避免与公用端口冲突。

如果需要让tomcat运行多个服务,只需要复制server.xml中的<serverce>元素,并修改相应的参数,便可以实现一个tomcat运行多个服务,当然在不同端口提供服务

在web应用的开发阶段,通常希望Tomat能列出Web应用根目录下的所有页面,这样能更方便的调试JSP页面。默认情况下,出于安全考虑,tomcat并不会这样做。我们可以手动打开conf目录下的web.xml文件,修改第110,111两行的listing参数,改为true即可,改为如下形式

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

2.3 进入控制台

tomcat有三个控制台,分别是Server Status控制台、Manager App控制台和Host Manager控制台。Status控制台用来监控服务器状态,而manager控制台可以部署、监控web应用,因此通常使用Manager控制台即可。

登陆控制台,我们需要用户和密码。控制台的用户和密码是通过Tomcat的JAAS控制的。

我们登陆Manager控制台需要不同的角色,参考\webapps\manager\WEB-INF目录下的web.xml文件知道,登录控制台可能需要不同的角色。对于普通开发者来说,通常需要访问匹配/html/*、/status/*的资源,因此我们创建一个manager-gui角色即可。

tomcat默认没有配置任何用户。我们可以打开conf目录下的tomcat-users.xml文件,添加user元素增加用户,修改如下

<?xml version="1.0" encoding="UTF-8"?>

<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
  <user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
  <user username="role1" password="<must-be-changed>" roles="role1"/>
-->
<user username="manager" password="manager" roes="manager-gui"/>
</tomcat-users>

上面配置文件增加了一个manager用户

成功登录之后,可以看到

控制台下方的Deploy区用于部署web应用。tomcat提供两种方式部署web应用:一种是将整个路径部署成web应用;另一种是将war文件部署成web应用

四. 部署web应用

部署web应用的方式主要有以下几种

  1. 利用tomcat的自动部署
  2. 利用控制台部署
  3. 增加自定义的Web部署文件
  4. 修改server.xml文件部署Web应用

4.1 利用tomcat的自动部署

利用tomcat的自动部署是最简单,最常用的方式,只需要将一个web应用复制到Tomcat的webapps下,系统就会把该应用部署到tomcat中。

4.2 利用控制台部署

利用控制台部署也很简单,在web应用的控制台按如下方式输入即可

输入后,点击Deploy按钮,将会看到Tomcat的webapps目录下多了一个名为aaa的文件夹,该文件夹的内容和E:\webDemo文件夹下的内容完全相同。这表明:当利用控制台部署应用时,实际依然是利用tomcat的自动部署

4.3 增加自定义的Web部署文件

这种方式操作步骤是:在conf目录下新建Catalina目录,再在该Catalina目录下新建localhost目录,最后在该localhost目录下新建一个任意名字的xml文件——该文件就是部署web应用的配置文件,该文件的主文件名将作为web应用的虚拟路径。例如在\conf\Catalina\localhost目录下增加一个dd.xml文件,该文件内容如下

<Context docBase="E:/webDemo" debug="0" privileged="true">
</Context>

该文件指定了web应用的绝对路径,再次启动tomcat,tomcat会把/路径下的webDemo文件夹部署成web应用

4.4 修改server.xml文件部署Web应用

这种方式是修改conf目录下的server.xml文件,修改该文件可能破坏Tomcat的系统文件,不建议采用

五. 配置数据源

从tomcat 5.5开始,tomcat内置了DBCP的数据源实现,可以非常方便的配置DBCP数据源。

Tomcat提供了两种配置数据源的方式,一种是全局数据源,可以让所有的web应用都能访问;一种是局部数据源,只能让单个数据源访问。

不管配置那种数据源,都需要提供特定数据库的JDBC驱动程序,将它复制到Tomcat的lib路径下。例如将MySQL的JDBC驱动程序复制到lib路径下

局部数据源无需修改系统的配置文件,只需用户修改自己的Web部署文件,不会造成系统的混乱,而且数据源被封装在一个Web应用之内,防止被其他应用访问,提供了良好的封装性。例如修改dd.xml文件。为Context元素增加一个子元素Resource,文件内容如下

<Context docBase="E:/webDemo" debug="0" privileged="true">

<!--其中name指定数据源在容器中的JNDI名
driverClassName指定连接数据库的驱动
url指定数据库服务的URL
maxActive指定数据库最大活动连接数
maxIdle指定数据池中最大的空闲连接数
maxWait指定数据池中最大等待获取连接的客户端
-->
<Resource name="jdbc/dstest" auth="sherman"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/tb_test"
username="sherman" password="a123" maxActive="5"
maxIdle="2" maxWait="10000">

</Context>

再次启动tomcat,该web应用即可通过JNDI名字来访问该数据源下面是测试访问数据源代码的JSP页面代码。

六. 一些注意点

  • 手动编写jsp文件时,保存文件时,文件编码设为utf-8,否则显示乱码
  • 部署配置文件跟web应用的配置文件不一样,要区分开

原文地址:https://www.cnblogs.com/yumiaoxia/p/9028785.html

时间: 2024-08-30 18:22:26

tomcat的配置使用详细版的相关文章

Eclipse4.9集成Tomcat 9.0.21详细版

1.下载Tomcat 从Tomcat官网下载:https://tomcat.apache.org 此处我下载的版本是Tomcat 7.0.94 下载完毕后解压即可,我解压后的路径是D:\soft\apache-tomcat-7.0.94 2.设置Eclipse 通过菜单Windows >> Preferences >> Server(如果没有此选项参照第3步) >> Runtime Environments 然后点击Next 选择Tomcat的解压目录,然后点击Fini

[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.

为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://www.cnblogs.com/wang-meng/p/5814798.html 8, 打开浏览器查看solr可视化界面 到了这里solr就配置好了, 可是我们的IK 分词器还没有配置呢, 如果不配IK分词器的话 它是怎样分词的呢? 我们就来先看一下:  每个字都分成了一个词, 这当然不是我们想要的结果

IntelliJ IDEA 12 创建Web项目 教程 超详细版

原文:IntelliJ IDEA 12 创建Web项目 教程 超详细版 IntelliJ IDEA 12 新版本发布 第一时间去官网看了下  黑色的主题 很给力 大体使用了下  对于一开始就是用eclipse的童鞋们 估计很难从eclipse中走出来 当然 我也很艰难的走在路上 ... 首先要说一点,在IntelliJ IDEA里面“new Project” 就相当于我们eclipse的“workspace”,而“new Module”才是创建一个工程. 这个和Eclipse有很大的区别 1.官

IntelliJ IDEA 12 创建Web项目 教程 超详细版(转)

IntelliJ IDEA 12 新版本发布 第一时间去官网看了下  黑色的主题 很给力 大体使用了下  对于一开始就是用eclipse的童鞋们 估计很难从eclipse中走出来 当然 我也很艰难的走在路上 ... 首先要说一点,在IntelliJ IDEA里面“new Project” 就相当于我们eclipse的“workspace”,而“new Module”才是创建一个工程. 这个和Eclipse有很大的区别 1.官网下载下来的默认不是黑色的主题 这里需要修改一下 工具栏上的扳手图标 或

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(三)(网内首发超详细版)

3.3 权限配置样例 注意: * 权限配置文件中出现的用户名必须已在用户配置文件中定义. * 对权限配置文件的修改立即生效,不必重启svn. 用户组格式: [groups] = , 其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔. 版本库目录格式: [<版本库>:/项目/目录] @<用户组名> = <权限> <用户名> = <权限> 其中,方框号内部分可以有多种写法: [/],表示根目录及以下,根目录是svnserve启动时指定的,我们

tomcat日志配置之一自带log

问题 tomcat每次启动时,自动在logs目录下生产以下日志文件,且每天都会生成对应日期的一个文件,造成日志文件众多: localhost.2012-07-05.txt catalina.2012-07-05.txt manager.2012-07-05.txt host-manager.2012-07-05.txt 目的 Tomcat以上日志都输出到同一个文件中. 修改步骤 打开Tomcat目录conf\logging.properties,修改如下,所有日志输出到tomcat开头的文件中

tomcat ssi配置及升级导致ssi include错误问题解决

最近tomcat升级版本时,遇到了ssi解析的问题,记录下解决的过程,还有tomcat ssi配置的要点. tomcat 配置SSI的两种方式 Tomcat有两种方式支持SSI:Servlet和Filter. SSIServlet 通过Servlet,org.apache.catalina.ssi.SSIServlet,默认处理”*.shtml”的URL. 配置方式: 修改tomcat的 conf/web.xml文件,去掉下面配置的注释: <servlet> <servlet-name&

Tomcat基础配置详解

Tomcat基础配置详解 组件原理图如下: 任何tomcat实例就是一个server,而一个server内部要想能够解析jsp页面转义编译serlet程序,要靠其引擎来实现 而引擎才是真正意义上执行jsp代码的容器,都是tomcat用类来描述这些组件的 同时,为了接受用户的请求,需要基于connector组件,所谓监听的套接字的程序,能够接手用户的请求,被称为连接器 一个server内部可以完全运行N个引擎,无非就是运行多个虚拟机而已 war包的概念 放在网页目录可以直接访问,而部署的时候可以自

Tomcat SSL配置及Tomcat CA证书安装

Tomcat既可以作为独立的Servlet容器,也可以作为其他HTTP服务器附加的Servlet容器.如果Tomcat在非独立模式下工作, 通常不必配置SSL,由它从属的HTTP服务器来实现和客户的SSL通信.Tomcat和HTTP服务器之间的通信无须采用加密机制,HTTP服务器将解 密后的数据传给Tomcat,并把Tomcat发来的数据加密后传给客户. 如果Tomcat作为独立的Java Web服务器,则可以根据安全需要,为Tomcat配置SSL,它包含以下两个步骤: (1) 准备安全证书.