首页 > 代码库 > Apache Tomcat 7 读书笔记 - 第一章
Apache Tomcat 7 读书笔记 - 第一章
Apache Tomcat 简介:
- 开源框架,下载地址:http://tomcat.apache.org/。可以嵌入独立的web应用,也可作为多个web应用的服务器。
- 基于Java的web应用服务器容器,能托管Servlet和Java Server Pages(JSP)的web应用。我们常用的J2EE框架,Spring MVC, Structs等,部署到Tomcat上去后,Tomcat会将其自动解析成Serlvet与JSP。在前后端开发完全分离的情况下(后台只提供接口,前端调用),不推荐使用原有的EL表达式,前端不能出现任何Java代码,可采用AngularJS,Ember.js作为前端技术。
Tomcat各版本与对应的Servlet,JSP版本及其JDK(下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html)如下(安装Tomcat时,JDK版本不要弄错了):
Apache Tomcat | Servlet API | JSP API | JDK |
7.0 | 3.0 | 2.2 | 1.6 |
6.0 | 2.5 | 2.1 | 1.5 |
5.5 | 2.4 | 2.0 | 1.4 |
4.1 | 2.3 | 1.2 | 1.3 |
3.0 | 2.2 | 1.1 | 1.1 |
The Tomcat Manager Web Application
Manager Web Application随Tomcat一起发布,并内嵌于Tomcat中。位于%CATALINA_HOME%/webapps/manager下。启动Tomcat后,可在浏览器中进行访问。要使用Manager Web Application管理web应用,需要增加用户,并配置权限为manager-gui。用它,可以管理所有运行在Tomcat上的web应用,安装、删除、启动、停止等。
Specialized Realm Implementations
Tomcat提供的一种安全机制,能有效保护部署在Tomcat上的web应用和资源。用户可以配置用户及相应的角色、权限,实现基本的安全措施。
Tomcat Valves
随Tomcat4.X一起发布,只能应用在Tomcat上。它能拦截来自客户端的http请求,处理request,response,实现与Servlet类似的功能。然而,由于其专属于Tomcat,在设计时,就被赋予了比Servlet更好的性能、更健壮。使用它,可以配置针对所有web应用的过滤器。而Servlet的配置只能应用在单一的web应用中,重用性低。
Tomcat架构
一个JVM只能运行一个Tomcat容器。Tomcat的设计者们采用这种方式,一旦JVM崩溃,能保证部署在Tomcat上的应用的安全。以下XML文件及图片是对Tomcat中各个组件、容器的描述。XML文件位于%CATALINA_HOME%/conf/server.xml。
1 <Server> 2 <Service> 3 <Connector /> 4 <Engine> 5 <Host> 6 <Context> </Context> 7 </Host> 8 </Engine> 9 </Service> 10 </Server>
- Server:Tomcat中的根级元素,一个Tomcat容器只能拥有一个<Server>元素。一个<Server>元素中可以包含多个<Service>元素。
- Service:次于<Server>元素,可以配置多个。在一个 <Service>元素中,可以包含多个<Connector>元素,这些<Connector>元素共享一个<Engine>元素。
- Connector:次于<Service>元素,可以配置多个。能处理来自单个web应用中http请求的request和response。
- Engine:一个<Service>元素只能拥有一个<Engine>元素。能处理所有request请求,这些请求必须是来自<Connector>的。
- Context:可以配置多个。在Tomcat中,这是使用最为频繁的元素。一个<Context>元素代表运行在Tomcat上的一个web应用,它必须包含在<Host>中。
Tomcat的安装(Windows,Linux)
在此不做介绍,下载好Tomcat安装包后,可在%CATALINA_HOME%/webapps/docs/index.html中找到解决方案,包含Windows,Linux两种方式。