JavaWeb(二)Tomcat

1、Tomcat 简介

Tomcat 是一个免费的开放源代码的 Servlet 容器,它是 Apache 软件基金会的一个顶级项目,由 Apache,Sun和其他一些公司及个人共同开发而成。由于有了 Sun 的参与与支持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中的到体现。(目前Sun已被Oracle收购)

2、Tomcat 的目录结构

bin:存放启动和关闭 Tomcat 的脚本文件

conf:存放 Tomcat 服务器的各种配置文件

lib:存放 Tomcat 服务器和所有 web 应用程序需要访问的 jar 文件

logs:存放 Tomcat 的日志文件

temp:存放 Tomcat 运行时产生的临时文件

webapps:当发布 web 应用程序时,通常把 web 应用程序的目录及文件放到这个目录

work:Tomcat 将 JSP 生成的 Servlet 源文件和字节码文件放到这个目录下

3、部署并启动 tomcat 服务器.

1). 解压 apache-tomcat-8.0.20.zip 到一个非中文目录下

2). 配置一个环境变量. java_home(指向 JDK 安装的根目录) 或 jre_home

3). 双击 bin 目录下的 startup.bat 文件或者使用命令行启动

4). 可以在浏览器中输入 localhost:8080 来检验 Tomcat 安装是否正确.

5). 若已经启动了一个 Tomcat 应用, 若再启动同一个 Tomcat 应用, 会抛出异常:

java.net.BindException: Address already in use: JVM_Bind:8080。因为端口已经被占用了。

4、关闭 Tomcat

双击 bin 目录下的 shutdown.bat 文件关闭 Tomcat 服务器或者使用命令行关闭shutdown

5、修改 Tomcat 默认的端口号

(1)打开 conf 目录下的 server.xml 文件

(2)把 port 的值改为其他的端口号即可,这里改为8989。

(3)重启tomcat,再重新在浏览器访问localhost:8989。

6、设置可以在任意目录下启动Tomcat服务器

(1)把D:\devProgram\apache-tomcat-8.0.20\bin添加到path下

(2)添加成功后, 若在任意目录下通过 startup 启动 Tomcat 服务器, 会有提示。即: 要求设置 CATALINA_HOME 这个环境变量。

(3)设置 CATALINA_HOME 环境变量

通过阅读 startup.bat 批处理文件, 可知 CATALINA_HOME 环境变量下有一个 bin 目录,而 bin 目录又有一个 catalina.bat 文件, 由此可知 CATALINA_HOME 指向的应该是 Tomcat安装的根目录,于是把 Tomcat 的根目录设为 CATALINA_HOME 环境变量。此时即可以在任意目录下通过startup.bat、shutdown.bat 启动、关闭 Tomcat 服务器。

这里的shutdown指令是计算机的,所以可以用catalina stop指令。

7、继续阅读 startup.bat 文件,发现启动tomcat服务器的是catalina.bat 文件

在命令行窗口直接输入 catalina, 提示如下:

常用的参数是start,run 和 stop

run: 在 catalina 同一个命令行窗口下启动服务器;

start: 开启一个新窗口启动服务器;

stop: 关闭服务器。

8、Tomcat的管理程序

Tomcat 提供了一个管理程序:manager,用于部署到 Tomcat 服务器中的 web 应用程序。

要访问 manager web 应用程序,需要添加具有管理员权限的账号,编辑 conf 目录下的 tomcat-users.xml 文件,添加 manager 角色,设置用户名和密码。

(1)先访问tomcat,然后点击manager webapp,提示登录,这里点取消。

(2)点击取消后,出现如下的页面。

(3)把那段代码复制到 conf 目录下的 tomcat-users.xml 文件中,保存后重启tomcat。

(4)重新访问tomcat,登录。

原文发布于微信公众号 - Java后端生活(javaNotebook)

原文发表时间:2018-05-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏行者悟空

Nginx 启用upstream模块后,location块中的相关参数说明

662
来自专栏张首富-小白的成长历程

​HTTP连接

HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在T...

1353
来自专栏运维前线

CentOS 6.8 部署zookeeper集群

由于公司缓存方案改进,准备采用codis集群作为主要的缓存解决方案(codis:国内豌豆荚开发的redis集群解决方案,已开源,github地址:https:/...

24510
来自专栏云计算教程系列

如何在FreeBSD 11.0上安装Git

版本控制系统是现代软件开发中不可或缺的工具。它们允许您在源级别跟踪您的软件。您可以跟踪更改,还原到以前的阶段,然后分支以创建文件和目录的备用版本。

1422
来自专栏令仔很忙

新手学Linux(五)----Linux下安装Redis

Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案。它支持存储的value类型很多,包括strin...

791
来自专栏LanceToBigData

linux(十四)之linux NFS服务管理

学到这里差不多就结束了linux的基础学习了,其实linux的内容并不难,我们要经常的反复的去操作它,多多和它去联络感情才能很好的掌握这个linux。 加油!今...

34610
来自专栏小樱的经验随笔

一文让你熟练掌握Linux的ncat(nc)命令

ncat 或者说 nc 是一款功能类似 cat 的工具,但是是用于网络的。它是一款拥有多种功能的 CLI 工具,可以用来在网络上读、写以及重定向数据。 它被设计...

1841
来自专栏醉生梦死

如何从使用上提高服务器的安全性

服务器的安全性不仅仅是服务器提供商提供安全性保障,也是要使用者自身提高安全意识的!

1858
来自专栏LanceToBigData

Maven(一)初识Maven

前言 在这之前一直都有去看关于Maven的相关介绍,但是没有到真正要用的时候,自己总是以为懂了。其实真的感觉Maven并没有想象的那么简单! 那我们该怎么去学习...

2698
来自专栏HBStream流媒体与音视频技术

基于Ubuntu交叉编译X264, FFmpeg Windows SDK详细教程

35710

扫码关注云+社区