1, Tomcat介绍
自从JSP发布之后,推出了各式各样的JSP引擎.Apache集团在完成GNUJSP1.0的开发以后,开始考虑在太阳的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet,这样Tomcat就诞生了。
Apache Tomcat是软件基金会(Apache软件基金会)的雅加达项目中的一个核心项目,由Apache,太阳和其他一些公司及个人共同开发而成。其被JavaWorld杂志的编辑选为2001年度最具创新Java的产品,同时它又是太阳公司官方推荐的Servlet和JSP容器,因此其越来越多的受到软件公司和开发人员的喜爱。由于有了太阳的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat 5支持最新的Servlet 2.4和JSP 2.0规范。因为Tomcat技术先进,性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的网络应用服务器。
Tomcat服务器是一个免费的开放源代码的网络应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上,Apache Tomcat是服务器的扩展,但运行时它是独立运行的,所以当运行Tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式,不过,Tomcat处理静态HTML的能力不如Apache服务器。
引用>2, Tomcat核心组件
通常意义上的Web服务器接受请求后,只是单纯地响应静态资源,如HTML文件,图片文件等,不能在后端进行一定的处理操作.Tomcat是Apache下的一个子项目,它具备Web服务器的所有功能,不仅可以监听接受请求并响应静态资源,而且可以在后端运行特定规范的Java代码Servlet,同时将执行的结果以HTML代码的形式写回客户端。
Tomcat由一系列的组件构成,其中核心的组件有三个:
<代码> 1)Web容器:完成Web服务器的功能。 2)Servlet容器:名字为卡特琳娜,用于处理Servlet代码。 3)JSP容器:用于将JSP动态网页翻译成Servlet代码。代码>3, Tomcat处理请求过程
<代码> 1。用户在浏览器中输入网址localhost: 8080/测试/索引。jsp、请求被发送到本机端口8080,被在那里监听的狼HTTP/1.1连接器获得; 2.连接器把该请求交给它所在的服务的引擎(容器)来处理,并等待引擎的回应; 3.引擎获得请求localhost/测试/index . jsp,匹配所有的虚拟主机主机; 4.引擎匹配到名为本地主机的主机(即使匹配不到也把请求交给该主机处理,因为该主机被定义为该引擎的默认主机),名为本地主机的主机获得请求/测试/索引。jsp、匹配它所拥有的所有Context.Host匹配到路径为/测试的上下文(如果匹配不到就把该请求交给路径名为"的上下文去处理); 5.道路="/测试”的上下文获得请求/索引。jsp,在它的映射表中寻找出对应的Servlet.Context匹配到URL模式为* . jsp的Servlet,对应于JspServlet类; 6 .构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet()或doPost(),执行业务逻辑,数据存储等; 7.背景把执行完之后的HttpServletResponse对象返回给主机; 8.主机把HttpServletResponse对象返回给引擎; 9.引擎把HttpServletResponse对象返回连接器; 10.连接器把HttpServletResponse对象返回给客户浏览器。代码>4, Tomcat目录结构
<代码> [root@localhost ~] #/usr/local/tomcat/总用量124 drwxr-x——2根根4096年3月7日22:34垃圾箱 -rw-r——1根根19203年2月5日00:32 BUILDING.txt drwx - - - - - - 3根根254年3月7日22:36相依 -rw-r——1根根6095年2月5日00:32 CONTRIBUTING.md drwxr-x——2根根4096年3月7日22:34自由 -rw-r——1根根57092年2月5日00:32许可证 drwxr-x——2根根197年3月7日22:36日志 -rw-r——1根根2333年2月5日00:32通知 -rw-r——1根根3255年2月5日00:32 README.md -rw-r——1根根6854年2月5日00:32发行说明 -rw-r——1根根16262年2月5日00:32 RUNNING.txt drwxr-x——2根30根3月7日22:34临时 drwxr-x根81年2月5——7根00:31 webapps drwxr-x——3根22根3月7日22:36工作 ---------------------------------------------------------- ●本 存放启动和关闭Tomcat的脚本文件,比较常用的是catalina.sh, startup.sh, 关闭。上海三个文件 ●相依 存放Tomcat服务器的各种配置文件,比较常用的是server.xml, context.xml, tomcat-users.xml,网络。xml四个文件。 ●自由 存放Tomcat服务器的jar包,一般不作任何改动,除非连接第三方服务,比如复述, 那就需要添加相对应的jar包 ●日志 存放Tomcat日志 ●临时 存放Tomcat运行时产生的文件 ●webapps 存放项目资源的目录 ●工作 Tomcat工作目录,一般清除Tomcat缓存的时候会使用到CentOS7系统部署安装Tomcat服务(理论+实战)