【Tomcat】Tomcat基础入门

元气小坏坏 提交于 2019-12-28 23:28:59

1. web相关概念

  1. 软件架构

    1. C/S:客户端/服务器端
    2. B/S:浏览器/服务器端
  2. 资源分类

    1. 静态资源:
      所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析
      • 如: html,css,JavaScript
    2. 动态资源:
      每个用户访问相同资源后,得到的结果可能不一样。称为动态资源。动态资源被访问后,需要先转换为静态资源,在返回给浏览器
      • 如:servlet/jsp,php,asp…
  3. 网络通信三要素

    1. IP:电子设备(计算机)在网络中的唯一标识。
    2. 端口:应用程序在计算机中的唯一标识。 0~65536
    3. 传输协议:规定了数据传输的规则
      1. 基础协议:
        1. tcp:安全协议,三次握手。 速度稍慢
        2. udp:不安全协议。 速度快

2. web服务器软件

  • 服务器:安装了服务器软件的计算机
  • 服务器软件:接收用户的请求,处理请求,做出响应
  • web服务器软件:接收用户的请求,处理请求,做出响应。
    • 在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目
    • web容器

  • 常见的java相关的web服务器软件:
    • webLogic:oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
    • webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
    • JBOSS:JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
    • Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp。开源的,免费的。

* JavaEE:Java语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范

3. Tomcat

3.1 Tomcat概述

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0.30。

  • 简单来说:
    Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。

    由于 Tomcat 本身也内含了一个 HTTP 服务器,它也可以被视作一个单独的 Web 服务器

3.2 Tomcat目录结构

  • /bin - Tomcat 脚本存放目录(如启动、关闭脚本)。 *.sh 文件用于 Unix 系统; *.bat 文件用于 Windows 系统。

  • /conf - Tomcat 配置文件目录。

  • /logs - Tomcat 默认日志目录。

  • /webapps - webapp 运行的目录。在手动拷贝war包到此目录下启动时,war包的名称就是启动项目的上下文

  |-- webapp                     # 站点根目录 META-INF 目录用于存放工程自身相关的一些信息,元文件信息,通常由开发工具,环境自动生成。
  |-- META-INF                   # META-INF 目录
  |    -- MANIFEST.MF            # 配置清单文件
  |-- WEB-INF                    # WEB-INF 目录
  |   |-- classes                # class文件目录
  |   |   |-- *.class            # 程序需要的 class 文件
  |   |   `-- *.xml              # 程序需要的 xml 文件
  |   |-- lib                    # 库文件夹
  |   |   `-- *.jar              # 程序需要的 jar 包

3.3 Tomcat基本操作

  1. 下载:http://tomcat.apache.org/
  2. 安装:解压压缩包即可。
    • 注意:安装目录建议不要有中文和空格
  3. 卸载:删除目录就行了
  4. 启动:
    • bin/startup.bat ,双击运行该文件即可
    • 访问:浏览器输入:http://localhost:8080 回车访问自己
      http://别人的ip:8080 访问别人

* 可能遇到的问题:
	1. 黑窗口一闪而过:
		* 原因: 没有正确配置JAVA_HOME环境变量
		* 解决方案:正确配置JAVA_HOME环境变量

	2. 启动报错:
		1. 暴力方式:找到占用的端口号,并且找到对应的进程,杀死该进程
			* netstat -ano
		2. 温柔方式:修改自身的端口号
			* conf/server.xml
               <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
			* 一般会将tomcat的默认端口号修改为8080端口号是http协议的默认端口号。
				* 好处:在访问时,就不用输入端口号
  1. 关闭:
    1. 正常关闭:
      • bin/shutdown.bat
      • ctrl+c
    2. 强制关闭:
      • 点击启动窗口的×
  2. 配置:
    • 部署项目的方式:
1. 直接将项目放到webapps目录下即可。
			* /hello:项目的访问路径-->虚拟目录
			* 简化部署:将项目打成一个war包,再将war包放置到webapps目录下。
				* war包会自动解压缩

		2. 配置conf/server.xml文件
			在<Host>标签体中配置
			<Context docBase="D:\hello" path="/hehe" />
			* docBase:项目存放的路径
			* path:虚拟目录

		3. 在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写
			<Context docBase="D:\hello" />
			* 虚拟目录:xml文件的名称
  • 静态项目和动态项目:

    • 目录结构
      • java动态项目的目录结构:
        – 项目的根目录
        – WEB-INF目录:
        – web.xml:web项目的核心配置文件
        – classes目录:放置字节码文件的目录
        – lib目录:放置依赖的jar包
  • 将Tomcat集成到IDEA中,并且创建JavaEE的项目,部署项目。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!