Tomcat 基础

目录

一:web 概念

1.软件架构

2.资源分类

3.网络通信三要素

二:常见的web服务器

1 .概念

2.常见web服务器软件

三:Tomcat 历史

四:Tomcat 安装

1.下载

2. 安装

四:Tomcat 目录结构

五:Tomcat 启动停止

 启动

六:Tomcat源码 

1 .下载

2 .运行


一:web 概念

1.软件架构

①:C/S : 客户端 / 服务器端 ‐‐‐‐‐‐‐‐‐‐‐‐> QQ , 360 ....
②:B/S : 浏览器 / 服务器端 ‐‐‐‐‐‐‐‐‐‐‐‐> 京东, 网易 , 淘宝 ......

2.资源分类

①:静态资源: 所有用户访问后,得到的结果都是一样的,称为静态资源。静态资
源可以直接被浏览器解析。* 如: html,css,JavaScript jpg
②:动态资源 : 每个用户访问相同资源后,得到的结果可能不一样 , 称为动态资源。动态资源被访问后,需要先转换为静态资源,再返回给浏览器,通过浏览器进行解析。 * 如 servlet/jsp,php,asp....

 

3.网络通信三要素

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

二:常见的web服务器

1 .概念

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

2.常见web服务器软件

  • webLogicoracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
  • webSphereIBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
  • JBOSSJBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
  • TomcatApache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范 servlet/jsp。开源的,免费的。

三:Tomcat 历史

  •  Tomcat 最初由Sun公司的软件架构师 James Duncan Davidson 开发,名称为 “JavaWebServer”
  •  1999年 ,在 Davidson 的帮助下,该项目于1999年于apache 软件基金会旗下的 JServ 项目合并,并发布第一个版本(3.x), 即是现在的Tomcat,该版本实现了Servlet2.2 JSP 1.1 规范 。
  •  2001年,Tomcat 发布了4.0版本, 作为里程碑式的版本,Tomcat 完全重新设计了其架构,并实现了 Servlet 2.3 JSP1.2规范。

四:Tomcat 安装

1.下载

https://tomcat.apache.org/download-80.cgi

2. 安装

         将下载的 .zip 压缩包 , 解压到系统的目录(建议是没有中文不带空格的目录)下即可。

四:Tomcat 目录结构

Tomcat 的主要目录文件如下 :
目录
目录下文件
说明
bin
/ 存放Tomcat的启动、停止等批处理脚本文件
startup.bat ,
startup.sh
用于在 windows linux 下的启动脚本
shutdown.bat ,
shutdown.sh
用于在 windows linux 下的停止脚本
conf
/ 用于存放Tomcat的相关配置文件
Catalina
用于存储针对每个虚拟机的 Context 配置
context.xml
用于定义所有 web 应用均需加载的 Context
置,如果 web 应用指定了自己的 context.xml
,该文件将被覆盖
catalina.properties
Tomcat 的环境变量配置
catalina.policy
Tomcat 运行的安全策略配置
logging.properties
Tomcat 的日志配置文件, 可以通过该文件修
Tomcat 的日志级别及日志路径等
server.xml
Tomcat 服务器的核心配置文件
tomcat-users.xml
定义 Tomcat 默认的用户及角色映射信息配置
web.xml
Tomcat 中所有应用默认的部署描述文件, 主
要定义了基础 Servlet MIME 映射。
lib
/
Tomcat 服务器的依赖包
logs
/
Tomcat 默认的日志存放目录
webapps
/
Tomcat 默认的 Web 应用部署目录
work
/
Web 应用 JSP 代码生成和编译的临时目录

五:Tomcat 启动停止

 启动

双击 bin/startup.bat 文件 ;
停止
双击 bin/shutdown.bat 文件 ;
访问
http://localhost:8080

六:Tomcat源码 

1 .下载

地址: https://tomcat.apache.org/download-80.cgi

2 .运行

1) 解压zip压缩包

2 )进入解压目录,并创建一个目录,命名为 home , 并将 conf webapps 目录移入
home 目录中
3 )在当前目录下创建一个 pom.xml 文件,引入 tomcat 的依赖包

<?xml version="1.0" encoding="UTF‐8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema‐instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven‐4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.tomcat</groupId>
<artifactId>apache‐tomcat‐8.5.42‐src</artifactId>
<name>Tomcat8.5</name>
<version>8.5</version>
<build>
<finalName>Tomcat8.5</finalName>
<sourceDirectory>java</sourceDirectory>
<!‐‐ <testSourceDirectory>test</testSourceDirectory>‐‐>
<resources>
<resource>
<directory>java</directory>
</resource>
</resources>
<!‐‐ <testResources>
<testResource>
<directory>test</directory>
</testResource>
</testResources>‐‐>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven‐compiler‐plugin</artifactId>
<version>2.3</version>
<configuration>
<encoding>UTF‐8</encoding>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxrpc</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>4.5.1</version>
</dependency>
</dependencies>
</project>
4 ) 在 idea 中, 导入该工程

5) 配置idea的启动类, 配置 MainClass , 并配置 VM 参数。  

‐Dcatalina.home=D:/idea‐workspace/itcast_project_tomcat/apache‐tomcat‐
8.5.42‐src/home
‐Dcatalina.base=D:/idea‐workspace/itcast_project_tomcat/apache‐tomcat‐
8.5.42‐src/home
‐Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
‐Djava.util.logging.config.file=D:/idea‐
workspace/itcast_project_tomcat/apache‐tomcat‐8.5.42‐
src/home/conf/logging.properties

 6) 启动主方法, 运行Tomcat , 访问Tomcat

出现上述异常的原因,是我们直接启动 org.apache.catalina.startup.Bootstrap 的时候没
有加载 JasperInitializer ,从而无法编译 JSP 。解决办法是在 tomcat 的源码 ContextConfig
中的 configureStart 函数中手动将 JSP 解析器初始化:

 context.addServletContainerInitializer(new JasperInitializer(), null);

7) 重启tomcat就可以正常访问了。  

猜你喜欢

转载自blog.csdn.net/qq_61313896/article/details/128888889