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 条评论
登录 后参与评论

相关文章

来自专栏ytkah

ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes怎么处理

  今天ytkah进行了应急数据库恢复,用Navicat for Mysql导入sql文件出现ERROR 1153 (08S01): Got a packet ...

2948
来自专栏醉生梦死

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

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

1568
来自专栏专注数据中心高性能网络技术研发

linux lsof命令查看文件占用进程

1.lsof简介 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以...

3264
来自专栏鸿的学习笔记

redis安装部署摘要

1、首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载稳定版3.0.7即可。

973
来自专栏还债之路

​HTTP连接

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

843
来自专栏运维前线

CentOS 6.8 部署zookeeper集群

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

22710
来自专栏令仔很忙

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

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

571
来自专栏LanceToBigData

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

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

27010
来自专栏Java开发者杂谈

Linux下python升级步骤

  首先下载源tar包   可利用linux自带下载工具wget下载,如下所示: 1 # wget http://www.python.org/ftp/...

31510
来自专栏行者悟空

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

552

扫码关注云+社区