Tomcat研究之组件结构大家好,上篇介绍了《Tomcat研究之ClassLoader》,这篇我们介绍组件结构在没有任何实质性资料的前提下研究Tomcat的内核将是非常困难的事情,但无论如何还有opensource,我们至少可以跟踪Tomcat成百上千的类,为了我们能彻底解开Tomcat的面纱,我们还是要继续努力.通过UML类图不难看出,Core包里面最重要的一个类是ContainerBase,而这个抽象类实现了Container,Lifecycle,Pi
系统 2019-08-12 01:33:42 2663
0.Introduction[Tomcat]:ApacheTomcatisanopensourcesoftwareimplementationoftheJavaServletandJavaServerPagestechnologies.(http://tomcat.apache.org/)1.EnvironmentUbuntu10.04JDK1.6.0u27ApacheTomcat7.0.222.Steps2.0InstallJDKandTomcat2.1
系统 2019-08-12 01:33:41 2663
5、容器组件这一小节中我们将讨论请求处理组件:引擎(engine)、虚拟主机、上下文(context)组件。5.1、引擎(engine)引擎表示可运行的Catalina的servlet引擎实例并且包含了servlet容器的核心功能。在一个服务中只能有一个引擎。同时,作为一个真正的容器,Engine元素之下可以包含一个或多个虚拟主机。作为请求处理的主要组件,它接收代表传入请求的对象以及输出相应结果。它主要功能是将传入请求委托给适当的虚拟主机处理。如果根据名称
系统 2019-08-12 01:33:09 2663
由于Tomcat基于Java,实际上在各种Linux发行版里的配置方法都大同小异,只是我看见在ArchLinux环境里搭建Tomcat的文章比较少,所以在ArchLinux实践一遍然后得出此文。此文假设你对Tomcat并不十分了解,主要笔墨将会在Tomcat的配置之上。1、安装JavaJDK在ArchLinux的extra源里有jdk7-openjdk和openjdk6,可以直接使用pacman安装,至于选用哪一个可以视具体情况而定。我安装的是OpenJD
系统 2019-08-12 01:33:38 2662
本文讲述APR(ApachePortalRuntime)和Tomcat.1.APR来源自apache项目,是apache2.x中的一个核心模块。在Tomcat中使用APR,能带来性能的很大提升和高扩展性。因为ARP是使用很多native的方法,比如sendfile(使用sendfile就可以让用户下载大文件),epoll等(Linux系统下)。这里是原文的描述:TomcatcanusetheApachePortableRuntimetoprovidesup
系统 2019-08-12 01:32:52 2662
1.JNDI(JavaNamingandDirectoryInterface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。可以理解为一个容器,可以在其中存放任意内容,在容器中为内容提供一个字符串名称,名称命名方式采用是目录结构方式,在其他地方引用该名称就可以得到该内容.2.实现注意:还是需要导入JDBC的驱
系统 2019-08-12 01:32:46 2662
1.将mysql-connector.jar包复制到tomcat-root/common/lib目录下2.配置连接池在tomcat-root/conf/server.xml里添加以下红色代码片段:
系统 2019-08-12 01:32:18 2662
我在项目的开发过程中,发现Tomcat解压war的一点例外。现象如下:使用ANT工具把web应用程序打包为war文件。然后把war文件放到tomcat的webapps,让tomcat自己解压。结果出现解压的web应用程序文件丢失。使用rar工具打开war文件。文件都齐全。怎么有这种现象呢??查看tomcat的log文档。发现在解压war文档NullpointException.我升级tomcat到5.0还是出现这种现象。jakarta-tomcat-cat
系统 2019-08-12 01:33:54 2660
报错信息如下:NeithertheJAVA_HOMEnortheJRE_HOMEenvironmentvariableisdefinedAtleastoneoftheseenvironmentvariableisneededtorunthisprogram;提示找不到java_home各jre_home路径,何解?原因不知道了,下面来看解决办法:1、分析startup.bat启动脚本:发现其调用了catalina.bat,而catalina.bat调用了s
系统 2019-08-12 01:32:43 2660
Tomcat部署项目去除项目名和端口号通过IP地址(或域名)访问Tomcat去除项目名称和端口号1.去除端口号将端口设为80:2.去除项目名称项目默认部署在webapps目录下,将项目拷出,放在与webapps同级的目录下,配置如下:
系统 2019-08-12 01:33:58 2659
http://blog.pfan.cn/suneveryday/34162.htmltomcat6.0配置第一步:下载j2sdk和tomcat:到sun官方站点最新的jdk为1.6.04,tomcat为6.0,建议jdk1.4以上,tomcat4.0以上第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后设置按照路径进行安装即可。1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->
系统 2019-08-12 01:33:35 2659
数据库连接是一种关键的有限的昂贵的资源,这在多用户网页应用程序中体现的尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标,数据库连接池正是针对这个问题提出的数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏,这样可以明显提高对数据库操作的性能数据库连接池在初始化的时将创
系统 2019-08-12 01:33:15 2658
1.服务器资源对于高并发情况下会有大量的运算,那么CPU的速度会直接影响到处理速度。内存在大量数据处理的情况下,将会有较大的内存容量需求,可以用-Xmx-Xms-XX:MaxPermSize等参数对内存不同功能块进行划分。我们之前就遇到过内存分配不足,导致虚拟机一直处于fullGC,从而导致处理能力严重下降。2.开启内容压缩
系统 2019-08-12 01:33:13 2658
今天要在机子的tomcat上部署新的项目,需要访问的端口为80,与之前不同。但要求不能更改原tomcat部署项目的端口,因为该tomcat内的项目正在对外使用中,且不能断开服务器。那么,我就需要再向该服务器放置一个新的tomcat,把链接http的端口设为80,并将8005、8009也改为了不常用的端口在我启动这个tomcat时,浏览器无法显示小猫。在我shutdown后,发现黑屏关闭的是原来的那个tomcat,对新tomcat无效。然后毛病大概就猜出来了
系统 2019-08-12 01:33:13 2656
首先说明,服务器是阿里云的,centos6.3_64位安全加固版。首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝。0.创建个人文件夹#使用yum安装tomcat和mysql#创建文件夹cd/usr/localmkdirrenfufei1.安装rzsz#1.安装rzszyumupdate-yyumlistlrzsz*yuminstalllrzsz-y2.安装JDK,path之类的已经自动设置好了#2.安装JDKyumlistj
系统 2019-08-12 01:32:42 2653