本文主要讲学习Tomcat需要知道的基础知识。

一 Web服务器

1.1 简介

Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。

为了处理一个请求Web服务器可以响应一个静态页面或图片,进行页面跳转或者把动态响应的产生委托给一些其它的程序例如CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript,或者一些其它的服务器端技术。无论它们的目的如何,这些服务器端的程序通常产生一个HTML的响应来让浏览器可以浏览。

通俗来讲:服务器实际就是提供一种让别的计算机可以访问我的资源的安全途径。一般情况下,两台计算机之间,是不能直接相互访问的,因为会有安全性问题。但有时又需要两台计算机之间可以访问部分特定资源,因此,就需要一种机制或者工具,可以让别的计算机访问特定文件,从而在保证安全性前提下,实现计算机之间通信。因此,服务器实际就是两台计算机之间通信的中间件,管理向外发布和共享资源。

1.2 资源分类

服务器发布的内容分为:动态资源和静态资源。

静态资源是图片、视频、文件等;

动态资源是可以运行的,运行结果是可以变的资源,例如:代码。

1.3 Web服务器分类

Web服务器根据对javaEE支持的能力分为两大类

  1,JavaEE服务器(应用服务器)

  1) IBM公司 WebSphere

  2) BEA公司 WebLogic

  3) JBoss 公司 JBoss

  4) Apache组织 Geronimo(免费WebSphere社区版)

  2,Web容器(servlet/jsp容器)

  1) Apache组织 Tomcat

  2) Webtide 公司 jetty

二 JavaEE

这块详细内容参考我的另外一篇文章:JavaEE详解

三 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并没有将JavaEE所有技术都实现。其核心是Servlet和JSP。

四 Tomcat版本

需要注意Tomcat对JDK和JavaEE支持版本的支持,并不是任何版本的Tomcat和JDK、JavaEE都可以匹配的。

Tomcat中实现了JavaEE中的Servlet和JSP,因此,不太版本的Tomcat实现的JavaEE是不同了,因此,需要版本匹配,不能随便用。

参考资料&内容来源

速学堂:http://www.sxt.cn/tomcat/webserver.html

Tomcat学习笔记【1】--- WEB服务器、JavaEE、Tomcat背景、Tomcat版本的更多相关文章

  1. 06-Node.js学习笔记-创建web服务器

    创建web服务器 //引用系统模块 const http = require('http'); //创建web服务器 //用于处理url地址 const url = require('url'); c ...

  2. 我叫Tomcat:一款web服务器

    我叫Tomcat:一款web服务器 如何将我们的 Java 代码,运行在网络上,初学时,首先接触到的一般都是Servlet以及Jsp(或略过Jsp)而 Tomcat 就是这两者的容器,帮你处理动态网页 ...

  3. JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器

    注意:此为2009年的blog,注意时效性(针对常见服务器)     APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...

  4. tomcat学习笔记

    1.安装和运行[必须] * 解压apache-tomcat-6.0.35.zip * 位置:不能包含中文和空格 * 运行: %tomcat%/bin/startup.bat * 测试 * http:/ ...

  5. go语言,golang学习笔记2 web框架选择

    go语言,golang学习笔记2 web框架选择 用什么go web框架比较好呢?能不能推荐个中文资料多的web框架呢? beego框架用的人最多,中文资料最多 首页 - beego: 简约 & ...

  6. Spring实战第六章学习笔记————渲染Web视图

    Spring实战第六章学习笔记----渲染Web视图 理解视图解析 在之前所编写的控制器方法都没有直接产生浏览器所需的HTML.这些方法只是将一些数据传入到模型中然后再将模型传递给一个用来渲染的视图. ...

  7. Tomcat学习笔记(一)一个简单的Web服务器

    内容为<深入剖析Tomcat>第一章重点,以及自己的总结,如有描述不清的,可查看原书. 一.HTTP协议: 1.定义:用于服务器与客户端的通讯的协议,允许web服务器和浏览器通过互联网进行 ...

  8. Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 尚未授予访问 Tomcat 服务器的权限。请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用户名和口令。 有关详细信息, 请查看服务器日志。

    错误描述: 发布时控制台出现: 部署错误: 尚未授予访问 Tomcat 服务器的权限.请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用 ...

  9. tomcat解析之简单web服务器(图)

    链接地址:http://gogole.iteye.com/blog/587163 之前有javaeyer推荐了一本书<how tomcat works>,今天晚上看了看,确实不错,第一眼就 ...

随机推荐

  1. Implement Trie (Prefix Tree) - LeetCode

    Implement a trie with insert, search, and startsWith methods. Note:You may assume that all inputs ar ...

  2. UVA 11389 The Bus Driver Problem 贪心水题

    题目链接:UVA - 11389 题意描述:有n个司机,n个早班路线和n个晚班路线,给每个司机安排一个早班路线和一个晚班路线,使得每个早班路线和晚班路线只属于一个司机.如果一个司机早班和晚班总的驾驶时 ...

  3. windows 网络编程[转]

    利用winsock编写网络应用程序服务端的步骤简述如下WSAStartup 初始化网络编程库 socket 创建套接字 bind 指定地址.端口,绑定套接字 listen 进入监听状态 accept ...

  4. JAVA Eclipse创建Android程序界面不显示怎么办

    一般是由于你创建的Android应用程序版本太高导致的,请设置4或以下版本,对于已有的项目,可以在属性-Android中修改目标生成的版本号                               ...

  5. 【AngularJS】【02】AngularJS应用骨架

    ※文件引自OneDrive,有些人可能看不到

  6. hadoop 使用和javaAPI

    hadoop的安装,见http://www.powerxing.com/install-hadoop/,简略版教程见http://www.powerxing.com/install-hadoop-si ...

  7. Github css加载失败,样式混乱解决办法

    github被墙的解决办法 Github css加载失败,样式混乱解决办法   打开cmd,输入  nslookup github.com 8.8.8.8  ,下面就会显示出github的服务器地址列 ...

  8. memcpy( )的使用以及迭代器的使用

    memcpy() -- 拷贝内存内容 相关函数: bcopy(), memccpy(), memmove(), strcpy(), strncpy() 表头文件: #include <strin ...

  9. Oracle无安装客户端安装方法

    一. 1)下载Oracle客户端:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.htm ...

  10. NodeJS 安装cnpm命令行工具

    在安装之前,请确保已安装Git和NodeJS. cmd机内命令窗口,输入以下命令: git config --system http.sslcainfo /bin/curl-ca-bundle.crt ...