以下所写的都是基于Windows操作系统,tomcat7.0版本。一直在使用tomcat但是老实说对于tomcat本身并没有一个系统的掌握,今天饶有兴致的随便看了看,做了一点笔记,写一点心得,我本人比较喜欢从表面出发,从使用出发,然后再深入到它的本质问题上。在windows操作系统中,我们运行tomcat只需要执行startup.bat脚本就好,简单的很,但是startup.bat这个脚本做些什么,我是真的不知道的,所以今天我就说说startup.bat这
系统 2019-08-12 01:32:52 2189
直接上代码Filter.javapublicinterfaceFilter{//过滤器publicvoiddoFilter(Requestrequest,Responseresponse,FilterChainchain);}FilterChain.javapublicclassFilterChain{//存放所有的过滤器privateListfilters;//记录当前过滤索引privateintindex;//过滤链初始化publicF
系统 2019-08-12 01:32:36 2189
tomcatserver.xml配置详解元素名属性解释serverport指定一个端口,这个端口负责监听关闭tomcat的请求shutdown指定向端口发送的命令字符串servicename指定service的名字Connector(表示客户端和service之间的连接)port指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求minProcessors服务器启动时创建的处理请求的线程数maxProcessors最大可以创建的处理请求的线程数en
系统 2019-08-12 01:32:32 2189
错误:ServerTomcatv7.0Serveratlocalhostwasunabletostartwithin45seconds错误提示就是我们限定了部署的时间导致的错误。修改workspace\.metadata\.plugins\org.eclipse.wst.server.core\servers.xml文件。把其中的start-timeout="45"改为start-timeout="100"或者更长,根据不同同学的工程大小来设置。最后重启e
系统 2019-08-12 01:52:48 2188
本文采用另一种策略对动静分离进行演示,它的大致结构如图2所示。图2.本文设计的动静分离结构在本文中,我们将静态资源放在A主机的一个目录上,将动态程序放在B主机上,同时在A上安装Nginx并且在B上安装Tomcat。配置Nginx,当请求的是html、jpg等静态资源时,就访问A主机上的静态资源目录;当用户提出动态资源的请求时,则将请求转发到后端的B服务器上,交由Tomcat处理,再由Nginx将结果返回给请求端。提到这,可能有您会有疑问,动态请求要先访问A
系统 2019-08-12 01:33:55 2188
Tomcat6.X实现了JCP的Servlet2.5和JSP2.1的规范,并且包括其它很多有用的功能,使它成为开发和部署web应用和web服务的坚实平台。NIO(No-blockingI/O)从JDK1.4起,NIOAPI作为一个基于缓冲区,并能提供非阻塞I/O操作的API被引入。作为开源web服务器的java实现,tomcat几乎就是web开发者开发、测试的首选,有很多其他商业服务器的开发者也会优先选择tomcat作为开发时候使用,而在部署的时候,把应用
系统 2019-08-12 01:33:52 2188
这是一个系列文章的第一篇。标题还是费了点脑子才确定的,起什么名字比较好呢。Tomcat工作原理?深入浅出Tomcat运行机制?从零开始研究Tomcat?Tomcat是怎么运行起来的?Tomcat是如何为我们提供服务的?本想起个酷炫狂拽吊炸天的名字,显得咱也高大上一些,令万人敬仰,思来想去最后还是用了最土最朴素的标题:Tomcat是怎么工作的。本系列源于《HowTomcatWorks》一书,这本书我搜了一下,是没有正式的中文版的。充其量有些出于兴趣爱好才翻译
系统 2019-08-12 01:33:43 2188
有些时候不能通过eclipse中的server服务发布工程,这时候就只能通过手动配置进行发布了如下:配置发布路径:D:\ProgramFiles\apache-tomcat-6.0.10\conf\Catalina\localhost路径中,有可能有几级目录不存在(tomcat刚刚安装完),这时就要手动建立目录了,文件夹名就与上述路径相同,不多说,在localhost中新建一个*.xml文件,文件名称随个人怎么起了,一般比较喜欢用发布的工程名字命名,好记呀
系统 2019-08-12 01:33:40 2188
问题定位对于Tomcat的处理耗时较长的问题主要有当时的并发量、session数、内存及内存的回收等几个方面造成的。出现问题之后就要进行分析了。1.关于Tomcat的session数目这个可以直接从Tomcat的web管理界面去查看即可或者借助于第三方工具LambdaProbe来查看,它相对于Tomcat自带的管理稍微多了点功能,但也不多2.监视Tomcat的内存使用情况使用JDK自带的jconsole可以比较明了的看到内存的使用情况,线程的状态,当前加载
系统 2019-08-12 01:33:05 2188
1、安装Tomcat(1)下载并解压至/opt/tomcat中#cd/opt/jediael#tar-zxvfapache-tomcat-7.0.54.tar.gz#mvapache-tomcat-7.0.54tomcat将目录重命名为tomcat#lsapache-tomcat-7.0.54.tar.gzrhtomcat(2)配置conf/tomcat-users.xml,以方便管理及通过页面进行配置
系统 2019-08-12 01:32:52 2188
来自:http://kakajw.iteye.com/blog/1063843,感谢作者解决问题。Tomcat5.5使EL表达式不被解析。现象代码${userSession.user_name}是JSP中的一个代码片段;如果部署到tomcat5.5中,不会显示出session中的变量user用户名,而只会把${userSession.user_name}打印出来,猜测很可能是tomcat5.5的bug,不解析(或屏蔽了)EL表达式。原因如果web.xml中
系统 2019-08-12 01:32:51 2188
Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对JavaJVM有关内存方面的知识进行详细介绍。一、JavaJVM内存介绍JVM管理两种类型的内存,堆和非堆。按照官方的说法:“Java虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在Java虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-he
系统 2019-08-12 01:32:51 2188
本文讲述了Tomcat的classloading的逻辑。1.之所以要讲Classloading的事情,关键还是解决在开发过程中碰到的class找不到,一些资源文件找不到的问题。要解决这样的问题,就必须理解Tomcat的classloader会到什么地方去找class,找资源。2.首先是一个总结,告诉我们应该怎样防止自己的class和资源:(1)Forclassesandresourcesspecifictoaparticularwebapplication
系统 2019-08-12 01:32:50 2188
http://www.360doc.com/content/14/1208/13/16070877_431273418.shtml使用JMeter对Tomcat进行压力测试与Tomcat性能调优nginx&tomcat吞吐量研究报告http://wenku.baidu.com/link?url=fMp1sd8qBi87S23KeI5NbEK7mPjR-mWBTe-pb4bn4iYQN1VQOAGkIG7bbnn5csmRyhYe4skXYoC5emJUkc
系统 2019-08-12 01:32:47 2188
以前每修改一次server.xml文件,大多数情况是修改上下文,总要重启一下Tomcat。可以通过以下的方法,就不用频繁启动Tomcat了,必须是版本在5.5以后在%CATALINA_HOME%\conf\[enginename]\[hostname]\目录下,新建一个.xml文件,名字就是上下文路径,在server.xml文件中注释掉元素。例如在我的机子上,D:\apache-tomcat-6.0.16\conf\Catalina\lo
系统 2019-08-12 01:32:29 2188