tomcat学习笔记1】的更多相关文章

学习一 java.bean.PropertyChangeListener用来监听bean类的属性值改变.当改变时同时执行对应事件.而且是线程安全的.tomcat用此reload的Boolean值改变是否要重新加载. public class Demo2 implements PropertyChangeListener{ PropertyChangeSupport support = new PropertyChangeSupport(this); private String name; pu…
源码之几个常见类和接口的关系 在学习Servlet的时候经常见到以下几个合成单词和非合成单词:Servlet.GenericServlet.HttpServlet.它们之间有联系的.接下来我把它们的联系通过图片的形式展示下来以便加深印象和认识.  : :  :  从上面我们可以知道这样几个信息: 1.Servlet是接口,GenericServlet和HttpServlet是抽象类: 2.GenericServlet类实现了Servlet接口,HttpServlet类继承了GenericServ…
本文主要讲学习Tomcat需要知道的基础知识. 一 Web服务器 1.1 简介 Web服务器可以解析HTTP协议.当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面. 为了处理一个请求Web服务器可以响应一个静态页面或图片,进行页面跳转或者把动态响应的产生委托给一些其它的程序例如CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript,或者一些其它的服务器端技术.无论它们的目的如何,这些服务器端的程序通常产生一个HTML的响应来让浏览…
安装 配置环境: win7 + centos7虚拟机 安装步骤: 到http://tomcat.apache.org/下载最新的tomcat安装包(8.0.24) 移到对应的目录并解压 安装问题: 安装后需要能从win7中访问虚拟机的tomcat端口(8080),需要先进行配置 参考: http://blog.chinaunix.net/uid-22259244-id-394661.html 一分钟尝鲜: 启动tomcat:执行bin/catalina.sh start 查看运行日志:logs/…
LNMT在网站架构中的实现过程: Client --> http --> Nginx --> reverse_proxy (http) --> tomcat (http connector) --> mysql 但是当nginx有大量的并发请求时,nginx会反代大量的并发请求至tomcat,这时为了提高性能,会在tomcat的前端添加httpd, httpd使用ajp协议反代至tomcat,这样也增加了tomcat的安全性,因为客户端不能通过http协议绕过前端直接访问to…
tomcat是一个开源软件,是由java语言编写的,它工作的话需要运行在jvm虚拟机中,说到jvm不得不说下java这个大名鼎鼎的编程 语言了 java这个编程语言最优秀的特点要数write once , run anywhere  额!怎么听起来有点流氓的感觉  没错,而这全是依赖于jvm这个 虚拟机,使得java可以在任何平台运行,这恐怕也是java为什么这么流行的原因吧 简单的说jvm虚拟机既是个编译环境为程序员提供许多的库,又是个运行环境java语言写的程序都需要在jvm上运行,而jvm…
原因分析:(windows下) 可能有人会发现在编辑好 tomcat-users.xml 文件后无法保存,原因是使用的用户没有权限修改文件,可能是把 Tomcat 发行包放到了一个需要管理员权限才能修改的位置,比如:系统盘的 Program Files 目录下,或者电脑设置的要求权限比较高. 解决: 1.为 Tomcat 搬家. 2.关掉 Windows 的 UAC 提示(滑杆拉到最底下然后重启). 3.选择tomcat整个安装包,右键属性>安全>选择user,编辑>选择user,下面权…
错误描述: 发布时控制台出现: 部署错误: 尚未授予访问 Tomcat 服务器的权限.请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用户名和口令.有关详细信息, 请查看服务器日志.  错误分析: 查看tomcat目录下conf>tomcat-users.xml文件,原因是没有指定manager-script的角色,打开文件在其中添加以下代码: <role rolename="manager-script"/&…
原因是配置文件中未指定管理员身份. 打开tomcat>conf>tomcat-user.xml文件,添加如下代码: <role rolename="admin-gui"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <user password="111111" roles="…
真的管用,不知道为啥管用.转载自:http://blog.sina.com.cn/s/blog_709548200102vgy4.html 问题描述: 新安装的NetBeans8.0.2,安装过程中还一体化安装了内含的Tomcat8.0.15,打开NetBeans运行web工程失败,控制台输出错误信息如下: 启动 Tomcat 失败.*****\build-impl.xml:1164: 部署错误: 启动 Tomcat 失败.有关详细信息, 请查看服务器日志.构建失败 (总时间: 4秒) Tomc…
内容为<深入剖析Tomcat>第一章重点,以及自己的总结,如有描述不清的,可查看原书. 一.HTTP协议: 1.定义:用于服务器与客户端的通讯的协议,允许web服务器和浏览器通过互联网进行发送和接收数据.是一种请求和响应协议,使用可靠的TCP协议,TCP协议的端口为80,是一种面向连接的协议. 2.HTTP协议请求的三个组成部分:这三部分之间用回车换行符(CRLF)隔开      请求部分:方法(GET/POST等7种,其他的很少用,书上有介绍)[空格,该部分内容以空格隔开] 统一资源标识符U…
1.安装和运行[必须] * 解压apache-tomcat-6.0.35.zip * 位置:不能包含中文和空格 * 运行: %tomcat%/bin/startup.bat * 测试 * http://localhost:80802.启动错误 * 没有配置JAVA_HOME系统环境变量 * 错误内容 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these enviro…
Host和Engine容器 Context容器的父容器通常是Host容器. Engine容器表示Catalina的整个servlet引擎.如果使用Engine容器,那么它总是处于容器层级的最顶层.默认情况下,Tomcat会使用Engine容器,并且有一个Host容器作为子容器. Host接口继承Container接口 public interface Host extends Container { ... } StandardHost类继承ContainerBase并且实现Host接口,与St…
StandardWrapper容器 Context容器包含一个或者多个Wrapper实例,每个Wrapper实例表示一个具体的servlet定义. 方法调用序列 具体过程 (1)连接器创建request和response对象  (2)连接器调用StandardContext实例的invoke()方法  (3)接着,StandardContext实例的invoke方法调用其管道对象的invoke方法.StandardContext中管道对象的基础阀是StandContextValve类的实例,因此…
Tomcat Session管理 Catalina通过一个称为Session管理器的组件来管理建立Session对象,该组件由org.apache.catalina.Manager接口表示.Session管理器需要与一个Context容器相关联,且必须与一个Context容器关联.相比于其他组件,Session管理器负责创建.更新.销毁Session对象,当请求来了,要返回一个有效的Session对象. 默认情况下,Session管理器会将其所管理的Session对象存放在内存中.但是,在Tom…
Tomcat载入器(二) Tomcat拥有不同的自定义类加载器,以实现对各种资源库的控制. 1.同一个web服务器里,各个web项目之间各自使用的java类库要互相隔离.  2.同一个web服务器里,各个web项目之间可以提供共享的java类库.  3.为了是服务器不受web项目的影响,应该使服务器的类库与应用程序的类库互相对立. 4.对于支持JSP的web服务器,应该支持热插拔功能. 在Tomcat中,最重要的一个类加载器是Common类加载器,它的父类加载器是应用程序类加载器,负责加载$CA…
Tomcat载入器(一) 在了解tomcat的载入器时,首先需要了解的是java的类加载部分的内容. 在java体系中,系统分为3中类型的加载器 1.启动类加载器(Bootstrap ClassLoader):加载对象为java核心库,采用c/c++实现,并不继承java.lang.ClassLoader,负责加载java_home/jre/lib目录下的类库,同时也属于JVM的一部分,在JVM启动时,将被加载到内存中.启动类加载器不能被java程序直接使用. 2.扩张类加载器(Extensio…
Tomcat日志 网上找到一篇分析不错的博文   http://peiquan.blog.51cto.com/7518552/1580189/…
生命周期事件 Catalina包含有很多组件.当Catalina启动时,这些组件也会启动,同样,当Catalina关闭时,这些组件也随之关闭,通过实现org.apache.catalina.Lifecycle接口,可以达到统一启动/关闭这些组件的效果. 实现Lifecycle接口的组件可以触发一个或多个下面的事件:BEFORE_START_EVENT.START_EVENT.AFTER_START_EVENT.BEFORE_STOP_EVENT.STOP_EVENT.AFTER_STOP_EVE…
Servlet容器部分 servlet容器用来处理请求servlet资源,并为web客服端填充response对象模块,在tomcat中,共有4种类型的容器,分别是:Engine.Host.Contex和Wrapper.       4种类型的容器,分别对应不同的层次:           Engine:表示整个Catalina servlet引擎           Host:表示包含有一个或者多个Context容器的虚拟机           Context:表示一个Web应用程序.一个Co…
Tomcat连接器 tomcat连接器是tomcat的一个核心组件,在tomcat4中的实现原理如下 1.实现Connector接口 2.创建Request对象 3.创建Response对象 tomcat4中的连接器等待HTTP请求,创建Request和Response对象,然后调用Container中的invoke方法,将Request和Response对象传给servlet容器,而servlet容器将会加载对应的servlet类,调用其service()方法,管理session对象等操作.…
Servlet浅析 javax.servlet.Servlet是一个接口,所有的Servlet必须实现接口里面的方法. 该接口在tomcat/bin中的servlet-api.jar包中. Servlet是一个很小的java程序在Web服务器中,Servlet接受和响应Web客户端的请求,通常采用HTTP协议. 一般自定义Servlet,可以继承javax.servlet.GenericServlet或者javax.servlet.http.HttpServlet. Servlet的内部方法 p…
Tomcat目录结构的认识 tomcat是Apache旗下的一个开源Servlet的容器,实现了对Servlet和JSP技术支持. 通过http://tomcat.apache.org/ 下载tomcat,解压可以看到目录结构如下: 下面对目录结构的进行分析. bin:存在是可执行文件.在window下使用startup.bat和shutdown.bat来开启和关闭tomcat服务器,在linux下,使用startup.sh和shutdown.sh来开启和关闭.其中bin目录下最核心的脚本是ca…
本文主要讲在Tomcat中部署项目的几种方式:静态部署.动态部署. 一 静态部署 静态部署项目有好几种方式,比较典型的有如下4种: 1.1 方式一:将Web项目放到webApps目录下 直接将web项目文件件拷贝到webapps目录中,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用. 也可以将web项目打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹.一个war包就是有特性格式的jar包,它…
本文主要讲如何配置Tomcat服务器. 首先展示一个BS结构图: 1 server 一个server就表示一个Tomcat实例. 1)port 指定一个端口,这个端口负责监听关闭tomcat的请求: 2)shutdown 指定向端口发送的命令字符串. 2 service 一个service就是处理请求的服务,里边包含了多个connector,实现多个链接. 1)name 指定service的名字. 3 Connector 表示客户端和service之间的连接. 1)port 指定服务器端要创建的…
本文主要讲Tomcat包的目录结构. 1 bin目录 这个目录只要是存放了一些bat文件或者sh文件.比如说我们需要启动tomcat的bat文件就在这个目录下. 2 conf 这个目录中存放的都是一些配置文件 xml. Catalina文件:待补充. server.xml是对Tomcat配置的核心文件. 3 lib 这个目录中存放的是一些jar文件. 这里的jar文件重要的有两大类: 1) tomcat自身的jar: 2) 实现javaEE平台下部分标准的实现类(比如:jsp servlet..…
本文主要讲Tomcat的安装和配置. 一 Tomcat安装 1.1 下载 下载地址:http://tomcat.apache.org/ 1.2 安装 Tomcat是不需要安装的,解压压缩包即可. 在安装的过程中需要注意的是:tomcat尽量不要存放在目录名称为中文的目录中. 二 Tomcat环境变量配置 Tomcat需要配置环境变量,在环境变量中添加”CLASSPATH="%JAVA_HOME%"\lib;”. 注意:环境变量中必须已经有了JAVA_HOME,该变量是在安装JDK时配置…
如果安装成功并且安装完成第一次启动是成功的,第二次就闪退的话,原因之一是没有配置java的环境.在网上找的配制方法有很多错误,测试javac命令时候会提示不是内部或外部命令,找到一个正确的教程.如下,转载自百度经验:http://jingyan.baidu.com/article/1e5468f924210a484961b7f0.html 'JAVA' 不是内部或外部命令,也不是可运行的程序 或批处理文件解决办法相似. 原因一:没有安装jdk,只安装了jre 1 jdk1.7.0_60+jre才…
1.简介:Servlet编程是通过javax.Servlet和javax.servlet.http这两个包的类和接口实现的,其中javax.servlet.Servlet接口至关重要,所有的Servlet必须实现该接口或者继承实现了该接口的类.   2.Servlet接口有5个方法: public void init(ServletConfig config) throws ServletException; public void service(ServletRequest request,…
服务器组件和服务组件 服务器组件 org.apache.catalina.Server接口的实例表示Catalina的整个servlet引擎,包含了所有的组件.使用一种优雅的方法来启动/关闭整个系统,不需要再对连接器和容器分别启动/关闭. 关闭/启动的工作原理.当启动服务器组件时,他会启动其中所有的组件,然后它就一直等待关闭命令,如果要关闭系统,可以向指定端口发送一条关闭命令.服务器收到关闭命令后,就会关闭其中所有的组件. 看一下Server接口的几个方法. public interface S…