Tomcat--安装与部署(一)
一、Tomcat背景
自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。Tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。其次,Tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。Tomcat与Apache的组合相当完美。

Tomcat就是Servlet容器
二、Tomcat目录

tomcat
|---bin:存放启动和关闭tomcat脚本;
|---conf:存放不同的配置文件(server.xml和web.xml);
|---doc:存放Tomcat文档;
|---lib:存放Tomcat运行需要的库文件(JARS);
|---logs:存放Tomcat执行时的LOG文件;
|---src:存放Tomcat的源代码;
|---webapps:Tomcat的主要Web发布目录(包括应用程序示例),其中root目录就是不输入项目的默认目录;
|---work:存放jsp编译后产生的class文件;
三、Tomcat安装
Tomcat的官方站点为http://tomcat.apache.org/,要安装Tomcat,首先需要安装JDK。
安装完毕以后,准备启动Tomcat,进入bin文件下使用startup.bat文件启动

还会重新开一个命令行工具显示启动Tomcat信息。

看到无异常并显示Server startup in xxx ms信息就启动了。
或者直接在浏览器中输入:http://localhost:8080。看到以下画面就证明正常启动了。

使用startup.bat启动Tomcat容器,我们看一下bat源文件就能发现,它其实调用的catalina.bat。

那我们直接调用catalina.bat文件,看一下是什么结果

不难发现,里面的很多命令。
run : 在当前窗口打开Tomcat启动信息
start:在新窗口打开Tomcat启动信息
stop:停止Tomcat
四、Tomcat上部署Web程序
1、Java Web程序目录结构

2、在Tomcat中部署Web应用程序的方式主要有如下几种:(① 自动部署 ② 控制台部署 ③ 自定义部署)
① 自动部署
我们按照以下的目录结构手工的方式创建一下目录和文件(不用任何的IDE开发环境建项目,纯手工)

Index.jsp文件:
<%@ page import="com.hzg.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.class文件:
写一个Person.java文件,执行javac命令让编译成class文件,把这个class文件粘贴过去就行。
package com.hzg;
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>
√ 然后输入http://localhost:8080/dd,同样项目也启动了。
-------------------------------------------------------------------------------------------------------------------------
Tomcat--安装与部署(一)
Tomcat--各个目录详解(二)
Tomcat--安装与部署(一)的更多相关文章
- tomcat 安装配置部署到nginx+tomcat+https
目录 1 Tomcat简介 2.下载并安装Tomcat服务 2.2 部署java环境 2.3 安装Tomcat 2.4 Tomcat目录介绍 (关注点 bin conf logs webapps) 2 ...
- Tomcat安装应用部署及配置文件解读
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomcat和Nginx,APa ...
- Docker之tomcat安装与部署项目
docker安装tomcat docker pull tomcat:8.5 等待... (1)正常的方式启动tomcat docker run -d --name tomcat -p 80:808 ...
- Lucene/Solr搜索引擎开发笔记 - 第2章 Solr安装与部署(Tomcat篇)
一.安装环境 图1-1 Tomcat和Solr的版本 我本机目前使用的Java版本为JDK 1.8,因为Solr 4.9要求Java版本为1.7+,请注意. 二.Solr部署到Tomcat流程 图1- ...
- 如何在tomcat安装部署php项目
java开发者都知道,tomcat是用来部署java web项目的.前几天老k偶然得知PHP/Java Bridge,通过它可以实现在jsp和php之间共享session,详见<如何实现jsp和 ...
- Tomcat安装、配置和部署笔记
首先从Apache的官方网站(http://tomcat.apache.org/)下载Tomcat.有安装版和解压版两种,我个人喜欢用解压版. Tomcat安装(绿色版安装) 1.将下载的Tomcat ...
- Tomcat安装、配置和部署
首先从Apache的官方网站(http://tomcat.apache.org/)下载Tomcat.有安装版和解压版两种,本文档介绍绿色版安装方法. 一.Tomcat安装(绿色版安装) 1.将下载的T ...
- Tomcat安装部署和安全加固优化以及反向代理应用
1.Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同 ...
- 【开发工具IDE】eclipse的web项目的tomcat安装部署问题
一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...
- 如何在Cent OS上安装和部署jdk与tomcat?
Cent OS是一款Linux系统.在商业应用中,Linux操作系统在服务器市场有着广泛的运用,这源于Linux系统的几大优点: 1.跨平台的硬件支持 由于Linux 的内核大部分是用C 语言编写的, ...
随机推荐
- 关于js参数传递矛盾新理解
之前看了很多人的解释,说js中,函数的参数传递都是值传递中不理解. 他们无非举了两个例子 在这两个例子中,第二个例子可以看出参数是由值传递的.因为函数内对象的变化没有影响到函数外对象的变化.但是在第一 ...
- js精确计算
官方文档:http://mikemcl.github.io/big.js/ 使用方法: x = new Big(0.1); y = x.plus(0.2); // '0.3' var a=Big(0. ...
- vuejs单一事件管理组件间的通信
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java并发编程:JDK中的阻塞队列
上次我们讲了一些常用的4个阻塞队列,但是在JDK中还提供了其他的一些阻塞队列.这篇文章将全面介绍一下JDK中的所有阻塞队列,并比较他们的区别. JDK7提供了7个阻塞队列.分别是 ArrayBlock ...
- Cesium之球心坐标与本地坐标
1球心坐标(ECEF)与本地坐标(NEU) 假如你来到一个陌生城市,你很可能需要问路.通常会告诉你向北走100米,右转,向东走100米,理解起来很直观.你给儿子买了一个地球仪,你从北京(39,115) ...
- css锚点ios不兼容的方法
css锚点的正常方法: <a href="#1f"></a> <a name="1f"></a> ios出现的问 ...
- 判断iframe页面是否加载完成
if (frames("appIframe").document.readyState !="complete") { alert(& ...
- 微信小程序,前端大梦想(四)
微信小程序图片轮播及滚动视图 移动端常用效果图片轮播及数据列表已被小程序封装成了组件,这里和大家分享一下如何使用. Scroll-view 可滚动视图区域 Swiper 图片轮播容器 ...
- 自动获取代理IP信息的例子,含代码,分享哦,
/// <summary> /// 读取URL数据内容 /// </summary> /// <param name="url">网址</ ...
- css3 新属性
一 选择器1 兄弟选择器 0 以第一个选择器开始,往后找满足条件的兄弟节点 class~class() <-- lorem+数字 -tab --> 可以输出默认文字2 属性选择器 标签[a ...