一、目录及功能

主目录下有bin,conf,lib,logs,temp,webapps,work 7个文件夹

1.1、bin目录【重要】

bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。

很多环境变量的设置都在此处,例如可以设置JDK路径、TOMCAT路径

startup 用来启动tomcat

shutdown 用来关闭tomcat

修改catalina可以设置tomcat的内存

1.2、conf目录【重要】

conf目录主要是用来存放tomcat的一些配置文件。

server.xml可以设置端口号、设置域名或IP、默认加载的项目、请求编码、添加虚拟主机等

web.xml可以设置tomcat支持的文件类型,文件是用来配置:欢迎页、servlet、filter等的。

context.xml可以用来配置数据源之类的

tomcat-users.xml用来配置管理tomcat的用户与权限

在Catalina目录下可以设置默认加载的项目

1.3、lib目录

lib目录主要用来存放tomcat运行需要加载的jar包。

例如,像连接数据库的jdbc的包我们可以加入到lib目录中来。

1.4、logs目录

logs目录用来存放tomcat在运行过程中产生的日志文件,非常重要的是在控制台输出的日志。(清空不会对tomcat运行带来影响)

在windows环境中,控制台的输出日志在catalina.xxxx-xx-xx.log文件中

在linux环境中,控制台的输出日志在catalina.out文件中

1.5、temp目录

temp目录用户存放tomcat在运行过程中产生的临时文件。(清空不会对tomcat运行带来影响)

1.6、webapps目录

webapps目录用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包、jar包的形式发布应用。

当然,你也可以把应用程序放置在磁盘的任意位置,在配置文件中映射好就行。

1.7、work目录

work目录用来存放tomcat在运行时的编译后文件,例如JSP编译后的文件。

清空work目录,然后重启tomcat,可以达到清除缓存的作用。

二、Tomcat上部署web程序

2.1、java web目录结构

  

2.2、在Tomcat中部署Web应用程序的方式主要有如下几种:(① 自动部署 ② 控制台部署 ③ 自定义部署

① 自动部署

我们按照以下的目录结构手工的方式创建一下目录和文件

  

index.jsp

<%@ page import="com.lhx.Person" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>JavaWeb</title>
</head>
<body>
<%
String info = null;
Person person = new Person();
info = person.Info();
%>
<%=info%>
</body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
</web-app>

写一个Person.java文件,执行javac命令让编译成class文件,把这个class文件粘贴过去就行。

package com.lhx;
public class Person {
public String Info(){
return "Hello World";
}
}

好了,这就是一个最简单Web结构。把JavaWebTest这个文件夹放在Tomcat的webapps目录下,Tomcat会自动帮我们启动该站点。

运行一下结果:(访问地址:http://localhost:8080/JavaWebTest)

② 控制台部署:

√ 启动Tomcat后,输入http://localhost:8080。

  

√ 点击Manager App

  

√ 点击取消

  

√ 需要在conf文件找到tomcat-user.xml文件,把下面标红的代码加入。用户名和密码设置成自己的。

√ 重启Tomcat后,再次按照刚才的步骤输入刚才设置的用户和密码进入manager app。即可看到以下界面。

  

我们再去webapps下看看,发现多了一个aaa的文件夹,点击进去和JavaWebTest里的文件一模一样

 ③ 自定义部署

第三种比较灵活,部署起来相对以上两种稍微麻烦点。

√ 在conf文件夹下新建Catalina目录,然后再在它的目录下新建localhost目录,最后在localhost目录下新建一个dd.xml文件

 <?xml version="1.0" encoding="UTF-8"?>
<Context docBase = "D:\\HzgCode\\JavaWebTest"></Context>

地方

002-tomcat目录简介、应用部署【自动部署 ② 控制台部署 ③ 自定义部署】的更多相关文章

  1. tomcat目录简介

    http://www.cnblogs.com/kerrycode/p/3588816.html 主目录下面有bin.lib等目录 bin 存放Tomcat启动.停止服务程序以及一些其他脚本程序 lib ...

  2. jenkins+Gitlab+maven+tomcat实现自动集成、打包、部署

    一.前言 首先出于提高自己技术水平和琢磨能做点什么能提高工作效率,上线工作实在无聊.重复(手动编译.打包,传包,重启),于是就想到了jenkins,jenkins持续集成已经不是什么新鲜的话题,网上文 ...

  3. tomcat目录结构以及项目部署

    摘要:tomcat的目录结构 tomcat是一个轻量级的免费开源的web服务器,使用非常方便,也是最普遍的一款优秀服务器. 一.tomcat目录结构 1.官方下载  http://tomcat.apa ...

  4. spring boot (2):spring boot 打包tomcat、tomcat 部署多个项目、服务器部署项目SSL 设置(阿里云)

    一.spring boot 内置tomcat配置https: 关于自签名证书可以看下上一篇 spring boot1 更详细的可以看转载 https://www.jianshu.com/p/8d4ab ...

  5. Apache Tomcat下载、安装、环境变量配置以及项目部署

    前言 针对在本地访问文件或资源出现的跨域问题,可以通过搭建本地服务器来解决,本篇随笔主要介绍通过搭建Apache Tomcat服务器来解决跨域.包括Apache Tomcat的下载.安装.环境变量的配 ...

  6. eclipse:eclipse for java EE环境下如何配置tomcat服务器,并让tomcat服务器显示在控制台上,将Web应用部署到tomcat中

    eclipse环境下如何配置tomcat 打开Eclipse,单击"Window"菜单,选择下方的"Preferences".  单击"Server& ...

  7. Jenkins持续部署-自动生成版本号

    目录 Jenkins持续部署-自动生成版本号 目录 前言 目的 详细流程 获取SVN Reversion 获取需求号 设置编译前读取版本号 总结 参考文献 Jenkins持续部署-自动生成版本号 目录 ...

  8. tomcat+memcached+nginx部署文档(附完整部署包直接运行即可)

    1 前言 1.1 目的 为了正确的部署“ngix+memcached”特编写此部署手册,使安装人员可以通过部署手册知道如何部署系统,也为需要安装该系统的安装人员正确.快速的部署本系统提供帮助. 1.2 ...

  9. eclipse项目自动发布到tomcat目录,缺文件。

    eclipse项目自动发布到tomcat目录,缺文件. 解决方案: 项目--Properties-->Deployment Assembly-->Add--> Folder Add- ...

随机推荐

  1. 谷歌浏览器安装xpath使用

    一.Xpath-helper插件说明 谷歌浏览的插件,目的是可以定位到具体的元素中,实时验证xpath是不是正确 谷歌插件下载位置:https://chrome.google.com/webstore ...

  2. rpm的specs学习

    参考 制作rpm包:    https://wangbin.io/blog/it/yum-rpm-make.html linux rpm安装mysql: https://www.jianshu.com ...

  3. shell脚本中case /*的作用

    如下语句 case $0 in /*) ;; *) ;; /*在这里的作用就是绝对路径的意思

  4. Acwing-286-选课(树上DP)

    链接: https://www.acwing.com/problem/content/288/ 题意: 学校实行学分制. 每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分. 学校开设了 N ...

  5. [Algorithm] Chunk Array

    // --- Directions// Given an array and chunk size, divide the array into many subarrays// where each ...

  6. PHP处理base64编码字符串

    接收前端传过来的base64编码后的字符串, 如果是json字符串, 那么PHP使用file_get_contents('php://input'); 来接收. 本次这里是以post传参的形式传bas ...

  7. 2019ICPC上海网络赛 A Lightning Routing I 点分树(动态点分治)+线段树

    题意 给一颗带边权的树,有两种操作 \(C~e_i~w_i\),将第\(e_i\)条边的边权改为\(w_i\). \(Q~v_i\),询问距\(v_i\)点最远的点的距离. 分析 官方题解做法:动态维 ...

  8. python sqlite3学习笔记

    1.sqlite3.connect()参数说明 self.connect = sqlite3.connect(db_name,timeout=3,isolation_level=None,check_ ...

  9. 生产者和消费者之间的线程通讯wait()

    生产者与消费者,采用notify()唤醒 package com.dwz.concurrency.chapter9; /** * 生产者和消费者之间的通信问题 * 执行wait()之后锁被释放 */ ...

  10. PHP 根据两个坐标计算距离 圆形围栏的计算

    可以应用于圆形电子围栏入 出围栏计算 圆形电子围栏的计算方式是: 根据圆心坐标和当前检查的坐标进行距离计算,如果距离长度超出围栏的半径,则判定为出围栏,反之是在围栏之内 <?php /** * ...