
Tomcat
武汉红喜
专注于消息中间件
展开
-
简单理解token机制
什么是tokentoken的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token的前几位以哈希算法压缩成的一定长度的十六进...转载 2018-03-09 18:02:09 · 7849 阅读 · 1 评论 -
Decorator模式及其他相似的模式
Decorator模式 package com.whatsmars.tomcat.design.decorator;/*** @author javahongxi 用户留言板处理的接口*/public interface MessageBoardHandler { /** * @author javahongxi 用户可以利用函数...原创 2018-03-09 17:49:01 · 133 阅读 · 0 评论 -
【转】Tomcat中Connector常用配置(备忘)
本文转载自http://deep.hongxi.orgTomcat中server.xml有些配置信息是需要我们了解的,最起码知道如何进行简单的调试. <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 默认情况下配置信息是...转载 2018-03-09 17:50:36 · 1592 阅读 · 0 评论 -
Servlet3.1规范翻译 - 应用生命周期事件
https://github.com/javahongxi本文转载自kaitao.hongxi.org应用生命周期事件11.1 介绍应用事件设施给Web应用开发人员更好地控制ServletContext、HttpSession和ServletRequest的生命周期,可以更好地代码分解,并在管理Web应用使用的资源上提高了效率。 11.2 事件监听器应用事件监听器是实现...原创 2018-03-09 17:50:23 · 161 阅读 · 0 评论 -
Servlet3.1规范翻译 - 注解和可插拔性
https://github.com/javahongxi本文转载自kaitao.hongxi.org注解和可插拔性本章讨论Servlet 3.0规范定义的注解和使web应用内使用的框架和库能够可插拔的增强。8.1 注解和可插拔性在web应用中,使用注解的类仅当它们位于WEB-INF/classes目录中,或它们被打包到位于应用的WEB-INF/lib中的jar文件中时它们的注...原创 2018-03-09 17:50:27 · 218 阅读 · 0 评论 -
tomcat源码分析-http请求在Container中的执行路线
在CoyoteAdapter的service方法中,主要干了2件事: 1. org.apache.coyote.Request -> org.apache.catalina.connector.Request extends HttpServletRequest org.apache.coyote.Response -> org.apache.cata...原创 2018-03-09 17:50:20 · 249 阅读 · 0 评论 -
servlet3.1规范翻译 - 会话(session)
https://github.com/javahongxi 查看servlet-api.jar就可以知道Servlet规范大概包含哪些内容,下面翻译下规范中的“会话”,即HttpSession。 第7章 会话 超文本传输协议(HTTP)被设计为一种无状态协议。为构建有效的Web应用,必须把来自特定客户端的请求相互关联起来。随时间的推移,演变出了许多...原创 2018-03-09 17:50:17 · 157 阅读 · 0 评论 -
Servlet3.1规范翻译 - Servlet接口
https://github.com/javahongxiServlet接口是Java Servlet API的核心抽象。所有Servlet类必须直接或间接的实现该接口,或者更通常做法是通过继承一个实现了该接口的类从而复用许多共性功能。目前有GenericServlet和HttpServlet这两个类实现了Servlet接口。大多数情况下,开发者只需要继承HttpServlet去实现自己的Se...原创 2018-03-09 17:50:14 · 238 阅读 · 0 评论 -
Servlet3.1规范翻译 - Web应用
https://github.com/javahongxi本文转载自kaitao.hongxi.orgWeb应用一个Web应用是由许多servlet、HTML页面、类和其他资源组成的集合,这些资源组成了一个运行在Web服务器上的完整应用程序。Web应用程序能够捆绑和运行在来自不同提供商的不同容器上。10.1 Web服务器中的Web应用程序在Web服务器中Web应用程序的根目...原创 2018-03-09 17:50:11 · 194 阅读 · 0 评论 -
Servlet3.1规范翻译 - Servlet Context
https://github.com/javahongxi本文转载自kaitao.hongxi.org4.1 ServletContext接口介绍ServletContext(Servlet上下文)接口定义了servlet运行在的Web应用的视图。容器供应商负责提供Servlet容器的ServletContext接口的实现。Servlet可以使用ServletContext对象记录事件...原创 2018-03-09 17:50:08 · 218 阅读 · 0 评论 -
tomcat源码分析-Connector初始化与启动
一个应用应用服务器的性能很大程度上取决于网络通信模块的实现,因而Connector模块对于tomcat来说是重中之重。从tomcat5开始,默认的连接器实现为Coyote实现(orag.apache.tomcat:tomcat-coyote:7.0.57),本文基于coyote实现会回答如下两个问题: 一个http请求是怎么被tomcat监听到的,会有那些处理; ajp协...原创 2018-03-09 17:49:31 · 609 阅读 · 0 评论 -
tomcat的NIO线程模型源码分析
1 tomcat8的并发参数控制 这种问题其实到官方文档上查看一番就可以知道,tomcat很早的版本还是使用的BIO,之后就支持NIO了,具体版本我也不记得了,有兴趣的自己可以去查下。本篇的tomcat版本是tomcat8.5。可以到这里看下tomcat8.5的配置参数 我们先来简单回顾下目前一般的NIO服务器端的大致实现,借鉴infoq上的一篇文章...原创 2018-03-09 17:47:48 · 1163 阅读 · 2 评论 -
tomcat源码分析-Bootstrap操作Catalina
1.前言 1.1 问题思考 在阅读tomcat源码前,我们一般都会有如下几个疑问: web容器和servlet容器的区别是什么; 在springMVC中的web.xml是什么时候加载到tomcat中的; tomcat是怎么加载我们的web服务的; tomcat是怎么实现的热部署; 一个http请求是怎么被tomcat监听到的,会...原创 2018-03-09 17:45:14 · 141 阅读 · 0 评论 -
一个简单的Web服务器
HttpServer, Request, Response package com.iteye.wely.server;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import...原创 2018-03-09 17:43:58 · 135 阅读 · 0 评论 -
J2EE的13个规范
1、JDBC(java Database Connectivity):JDBC API为访问不同的数据库提供了一种统一的途径,就像ODBC一样,JDBC对开发者屏蔽了一些细节问题,同时,JDBC对数据库的访问也具有平台无关性。2、JNDI(Java Name and Directory Interface):JNDI API 被用于执行名字和目录服...原创 2018-03-09 17:43:56 · 104 阅读 · 0 评论 -
模拟tomcat连接器
Tomcat中的连接器是一个独立的模块,可以被插入到servlet容器中,而且还有很多连接器可以使用。例如Coyote,mod_jk,mod_jk2,mod_webapp等。Tomcat中使用的连接器必须满足以下条件: 1.实现org.apache.catalina.Connector接口 2.负责创建实现了org.apache.cat...原创 2018-03-09 17:43:02 · 146 阅读 · 0 评论 -
tomcat源码分析-Container初始化与加载
我们谈到tomcat时,第一印象是它是一种servlet容器,这个概念是相当抽象和本质的,我们仍然对tomcat的内幕很陌生。我们知道,tomcat由Connector和Container两大组件构成,Connector在前面的文章已经介绍过了,今天我们就来看看Container是怎么回事。 一、Container基本结构 前文中有讲到,Connector和Containe...原创 2018-03-09 17:42:25 · 515 阅读 · 0 评论 -
一个简单的servlet容器
HttpServer package com.whatsmars.tomcat.servlet;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.InetAddress;import java....原创 2018-03-09 17:42:07 · 149 阅读 · 0 评论