首页
学习
活动
专区
工具
TVP
发布

编码小白

专栏作者
51
文章
79828
阅读量
31
订阅数
tomcat请求处理分析(一) 启动container实例
1.1.1  启动container实例 其主要是进行了生命周期中一系列的操作之后调用StandardEngine中的 startInternal方法,不难看出其调用其父类的startInternal方法, 其父类是ContainerBase.java protected synchronized void startInternal() throws LifecycleException{ if(log.isInfoEnabled()) log.info( "StartingServlet Engin
cfs
2018-03-08
6450
tomcat请求处理分析(二) 启动mapperListener
1.1.1启动mapperListener     这个方法的核心就是注册Host的 public void startInternal() throws LifecycleException{     setState(LifecycleState.STARTING); //获取当前service的container,其实也就是engine @SuppressWarnings("deprecation")     Engine engine = (Engine) service.getCont
cfs
2018-03-08
7150
tomcat请求处理分析(三) 绑定本地端口监听请求
1.1.1.1  bind方法 注意:这个bind可能在load的过程就已经加载,这里只是验证    NioEndpoint就是使用Java中的NIO技术,来实行对Socket的处理。它主要包含两个部业务处理部分:Poller线程组和Acceptor线程组。 1.1.1.1.1     解析过程    首先我们应该知道其bind方法做了一些什么操作,代码如下: public void bind() throws Exception { // 打开监听信道 serverSock =ServerSocke
cfs
2018-03-08
1.5K0
tomcat请求处理分析(四) 监听请求轮询处理
1.1.1.1  startInternal方法 这个方法是核心的启动方法,目前理解主要做了两件事情,第一件是创建轮询线程,即具体的读取线程,它是进行具体的处理,第二个是创建创建监听请求线程,它是等待请求,然后交给轮训进行处理。 public void startInternal() throws Exception { if (!running) { running = true; paused = false; //一种带锁的栈,processorCache processorCache =
cfs
2018-03-08
1.5K0
tomcat请求处理分析(六)servlet的处理过程
1.1.1.1  servlet的解析过程 servlet的解析分为两步实现,第一个是匹配到对应的Wrapper,第二个是加载对应的servlet并进行数据,这些数据是怎么到界面的,response.getWrite()获取对应的流,然后写入这个流中,这个流中就有上文的outputBuffer。 匹配到对应Wrapper    在上文中我们曾经走到过了doRun方法,现在就直接从这里开始 执行顺序如下: NioEndpoint(run)==>下步调用doRun NioEndpoint(doRun)==>下
cfs
2018-03-08
2.3K0
tomcat源码解读一 Digester的解析方式
1    Digester Digester在tomcat中的作用是对conf下的server.xml文件进行实例化,其是从Catalian这个组件开始,创建Digester实例,再添加对应的规则,然后将其实例化,通过setServer方法,将其实例话的对象作为当前Catalian实例的句柄。这样就实现了对象句柄之间的关联引用,从而实现整个平台的递进启动。 1.1    UML类图 1.2    UML时序图 1.3    规则添加解析 1.3.1  添加对应解析规则 规则的添加实在Catalia.java
cfs
2018-03-08
1.3K0
tomcat源码解读三(1) tomcat的jmx管理
    JMX即Java 管理扩展(Java Management Extensions,JMX)用来管理检测 Java 程序(同时 JMX 也在 J2EE 1.4 中被发布)它的作用是可以在程序运行的时候对其进行动态处理,调用相应方法来进行对指定属性值进行修改,在下面我将以代码结合jconsole进行分析(注意:在实际的程序管理过程中并不支持使用jconsole,因为它是一个java的客户端)源代码在下一节进行分析 1.1 tomcat中JMX的使用Demo     请注意这个JMX的展示仅仅针对与tom
cfs
2018-03-08
6850
tomcat源码解读四 tomcat中的processer
     Processor是一个接口,针对于不同协议下具有不同的具体实现类,其实现类的具体功能是处理http请求,主要是对协议进行解析,状态处理以及响应。然后起一个中间作用转发到 Adater,下面
cfs
2018-03-08
1.3K0
tomcat源码解读五 Tomcat中Request的生命历程
     Request在tomcat中是一个非常核心的的实例,下面以NIO为例来解读一下在各个时期下的状态(其实在Tomcat的几种模式中到了这里之后的处理都是差不多的) 1.1 创建coyote/Request      这个request并不是我们最终在servlet中使用的Request,它是tomcat内部处理请求的一种有效方法,其创建过程是在接收到客户请求处理套接字构建Processor具体实现类的构造器中构建,以NIO模式为例则是在实例化请求处理类Http11NioProcessor时候构建,
cfs
2018-03-08
2K0
tomcat源码解读六 tomcat中的session生命历程
     session的作用是在一次会话中(从打开浏览器到关闭浏览器同当前服务器的交流)当客户端第一次请求session对象时候,服务器会为客户端创建一个session,并将通过特殊算法算出一个se
cfs
2018-03-08
1.4K0
servlet容器tomcat和jetty的简单使用
一、tomcat部署     作为基于javaweb开发网页的人,应该都对知道Servlet,Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容,而将其放在网页上访问我们一般选择的都是Tomcat容器,它自己内带一个服务器,可实现内网上动态访问自己的页面,至于tomcat的部署方式一下这个链接讲述的很详细http://blog.csdn.net/yangxueyong/article/details/6130065,我就不班门弄虎,部署中有个热部署,什么热部署?在平常部署中,我们每次
cfs
2018-03-08
1.4K0
servlet中request等中文乱码问题
            一个页面请求通过tomcat部署到服务器,我们需要注意编码一致,否则就容易出现乱码.这里我们使用eclipse+tomcat构建一个web请求,实现数据交互,防止页面出现中文版乱码。          我们要注意html、java、tomcat的编码,这里我们一致使用UTF-8。          一、html编码:在头部设置        <metahttp-equiv="Content-Type" content="text/html;charset=utf-8" />    
cfs
2018-03-08
1.1K0
图片服务器搭建
1. 分析需求图片服务器的原因 在网站开发过程中使用tomcat集群时,可能存在在一个tomcat服务器中上传,在另外一个tomcat中进行访问,这样就会导致资源访问失败,而很好的解决这一问题的方法,就是搭建一个专门的服务器来实现文件的存储与读。 2. 搭建环境 Linux CentosOS6.3 Nginx Vsftbd FileZilla 3.安装http服务 3.1.安装Linux虚拟机 这个过程就不作详细讲解,翻阅网上资料,值得注意是在安装过程中,容易出现连不上,这就需要将网卡配置进行修改    
cfs
2018-03-08
6.5K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档