声明
文章大部分内容转载自公众号(Java3y),如需转载请关注Java3y公众号联系作者 ;本文已经获得转载声明

简单介绍

  • tomcat = web服务器+容器(jsp、servlet、html之类的东西)
    ps:通俗来讲 服务器就是处理请求的、容器就是拿来放东西的 --end

安装

文字记录,方便以后查阅

  • 1.需要jdk的支持,提前配置好java的环境变量(JAVA_HOME).
  • 2.下载tomcat的压缩包后,选好目录解压,开始配置tomcat的环境变量.
  • 3.配置CATALINA_HOME(tomcat解压后的根目录),把%CATALINA_HOME%下的bin目录添加进path.
  • 4.终端命令startup开启tomcat,shutdown关闭(另起一个终端--建议将shutdown改成其它名).
    注意:
  • tomcat对JDK的版本有要求(看看tomcat文档要求)
  • tomcat的端口冲突(在./conf/server.xml下修改)
  • tomcat默认编码(URIEncoding="UTF-8")

tomcat目录结构简单介绍

  • bin:启动和关闭tomcat的bat/sh文件
  • conf:配置文件
    • server.xml该文件用于配置server相关的信息,比如tomcat启动的端口号,配置主机(Host)
    • web.xml文件配置与web应用(web应用相当于一个web站点)
    • tomcat-user.xml配置用户名密码和相关权限.
  • lib:该目录放置运行tomcat运行需要的jar包
  • logs:存放日志,当我们需要查看日志的时候,可以查询信息
  • webapps:放置我们的web应用
  • work工作目录:该目录用于存放jsp被访问后生成对应的server文件和.class文件

webapps的基本使用(项目的部署方法一)

 在webapps中创建一个站点web1(项目),写入东西hello.html,启动tomcat后,通过url就可以访问该站点下的内容--

 如果想直接通过http://localhost:8080/hello.html 访问hello.html资源,可以把资源添加到webapp/ROOT中,这是tomcat默认的站点(有兴趣可以打开webapps/ROOT/index.jsp看看)

站点

 一个项目的根,里面存有很多该项目的文件,使易于管理和适用各种需求 就有了约定俗成的规范.

 站点(web1)↓

  • WEB-INF(浏览器不可访问)
    • web.xml(按需求修改)
    • lib(放项目需要jar包)
    • classes(编译.java文件后生成的.class文件)
  • hello.html(项目的文件)
  • ...

配置虚拟目录(项目的部署方法二)

 设置虚拟目录可以让项目放在webapps目录外的地方

  • 第一种方法--在conf/server.xml文件中修改
     在Host节点(在server.xml文件的末尾) 内添加代码
    <Context path="/项目名" docBase="项目的绝对路径"/>
    //如:D盘中web1项目映射给tomcat服务器,然后通过http://xxx:8080/web1/xx.html访问web1中的资源
    <Context path="/web1" docBase="D:\web1"/>
  • 第二种方法--在conf\Catalina\localhost\中添加
     第一次打开conf\Catalina\localhost\,里面应该是空的,通过添加文件指定.如果你的项目名为web1、项目放在D盘--新建一个web1.xml文件(文件名就是项目名),添加代码
    <?xml version="1.0" encoding="UTF-8"?> 
    <Context 
    docBase="D:\web1" 
    reloadable="true"> 
    </Context> 

给本机修改临时域名

 只要会改hosts 世界上所有的域名都是你的(滑稽).通过ip指定,直接访问ip所在服务器的资源(设置跳转)
(对hosts有一种莫名的情感,用ssr之前就是通过改hosts上油管的,免费的东西需要支持一下,后来hosts见光死,ipv4的就不能用了.奈何学校还没支持ipv6--lj)
 修改方法:略(超出本文内容--有兴趣可以百度-老D的博客)

设置虚拟主机

 用一个tomca管理多个域名(服务器基本功能之一)

#在server.xml中添加(注意嵌套)
<Host name="localhost666666" appBase="D:\web1">
    <Context path="/web1" docBase="D:\web1"/>
</Host>

 通过http://localhost666666:8080/web1/xx.html 访问项目web1的资源

最后上两张图

tomcat体系结构

浏览器访问WEB资源的流程图

实践时间

 运行环境、IDE
 Eclipse Java EE IDE for Web Developers.
 Version: Oxygen Release (4.7.0)
 apache-tomcat-7.0.82
 jre1.8.0_162

  • 新建一个dynamic web project

     在Target runtime 右边New RunTime中选择好本地tomcat所在的目录

  • 写好项目后在Servers控制台的服务器中右击添加 然后启动(没有Servers就在Window-ShowView里调出来,需要选定一个服务器后右击,Add and Remove为添加或者删除选项,Start-启动)
  • 问题:在eclipse中启动后,打开浏览器访问localhost:8080出错
  • 解决

END