tomcat
tomcat 标签描述

一完整流程概览 1.1概述 本文讲述浏览器域名解析获取IP、请求静态资源时cdn工作原理、获取IP后请求服务端页面时IP是怎么寻址的、请求到达服务器后应用从都有哪些方式获取请求数据、应用层和系统内核之间的数据copy方式、以及浏览器获取到响应页面后,是怎么将html+css+js内容渲染为一个缤纷多彩的页面的。 1.2DNS/CDN ![image.png](https://static.developers.pub/84498652190549f2a019c6a60d1c9d62) ...

  qbian   2020年11月21日   372   3   3 tomcathtmllinux缓存java

记录一次大版本上线后回滚的案例 一问题 一个大版本的迭代,保存到Redis中的缓存数据实体类增加了一些属性,就用了一个子类继承旧实体类。获取缓存数据时可以通过Redis的class类型判断是新数据,如果不是,就用旧实体类序列化,代码如下: 旧的实体类 java classOldEntity{ //旧的属性 privateIntegerage; } 新的实体类 java classNewEntityextendsOldEntity{ //新增属性 privateStringname; } 从Redis获取数据,适配旧数据 java Map<byte[],byte[]loadedHa...

  qbian   2019年11月12日   73   1   0 tomcatjava-eeredis

一背景 在构建网关应用时,为了快速响应客户端,一般我们会将业务中台接口响应内容压缩后返回给客户端调用者。 二方案 2.1判断客户端是否支持压缩流 根据客户端请求头的accept-encoding是否包含gzip来判断客户端是否支持压缩流的读取。 java publicBooleanisGzipRequested(){ Collection<Stringvalues=headers.get("accept-encoding"); if(ObjectUtils.isEmpty(values)){ returnBoolean.FALSE; } for(Stringvalue:values)...

  qbian   2020年01月07日   130   2   0 tomcatjava-eejava

一背景 还记得刚开始学javaee的时候跑个tomcat然后可以访问就已经很开心和满足了。但是真实的项目部署都是业务服务器多实例部署,通过nginx反向代理,然后代理服务器nginx还需要做主备容灾预防。今天我们就来看一看这其中的演变过程。 二单实例部署 单实例的时候我们对用户登录管理一般采用的都是session,毕竟所有用户的登录及其后续操作全部都是在一个实例上,所以他们的session也就在这个实例内,不需要做任何处理就可以了。 三nginx反向代理单实例 有时候我们并不想将我们的业务服务器(tomcat)对外网进行暴露,这样可能存在一些安全隐患。所以这里就需要nginx登场了,...

  qbian   2019年11月12日   84   1   0 tomcat缓存负载均衡

一概念 作为一名javaEE开发者,我们最常用到的可能就是http协议了,但是我们对http协议及其之下的各层协议真的清楚嘛。现在我们就来大概的了解一下。 1.1应用层-HTTP 1.2传输层-TCP 1.3网络层-IP 二应用层-HTTP 一个http请求包含三个组成部分: 1.方法-统一资源标识符(uri)-协议/版本 2.请求的头部 3.主体内容 以下是一个http请求的例子: js POST/test/index.jspHTTP/1.1 Accept:text/plain,text/html Accept-Language:zh-CN,zh;q=0.8,en;q=0.6...

  qbian   2019年11月12日   75   1   0 tomcatnettyjava-eeajax

一概念 1.DoS(denial-of-serviceattack):拒绝服务攻击 2.DDoS(distributeddenial-of-serviceattack):分布式拒绝服务攻击 3.都存在哪些攻击方式 二DoS(拒绝服务攻击) 讲DDoS之前我们需要先说一下DoS攻击,DoS被称为拒绝服务攻击。我们可以这样理解:存在一个咖啡厅,每天的客流量都很固定,就算有浮动也不是很大,当前面积和座位量已经完全能够周转过来了。可是有一天突然来了很多人,他们从一早就坐进来,然后一坐就是一天,更可恶的是不消费,结果以往经常来的常客看到没位置后就走了。这就是DoS攻击,咖啡厅可以认为是服务器,那些占...

  qbian   2019年11月12日   87   1   0 tomcatddos

一打jar包 1.1pom.xml配置 html <!-1:指定打包类型-- <packagingjar</packaging <!-2:添加相关依赖-- <dependencies <dependency <groupIdorg.springframework.boot</groupId <artifactIdspring-boot-starter-web</artifactId </dependency </dependencies 1.2启动类配置 js <!-3:启动入口main函数-- @SpringBootApplication publicclassApplica...

  qbian   2019年11月12日   73   1   0 tomcatjava-eejavaspringspring boot

一概念讲解 在说明web.xml配置之前我们先来了解一下需要配置的配置项的作用。 1.1监听器(listener) 事件监听,js里应用广泛,各种事件函数的实现,Android和javase也是广泛的应用,各种点击事件的监听。当触发某个事件时,会触发监听在该事件上的所有监听器。spring的org.springframework.web.context.ContextLoaderListener就是实现了ServletContextListener接口的监听器,该监听器会在容器(tomcat,jetty)启动的时候触发,然后就可以启动spring相应的配置信息。 1.2过滤器(filt...

  qbian   2019年11月12日   80   1   0 tomcatjava-eejavaspring

后端提供出去的接口很多都是dubbo的,用命令去调用测试不是很方便(参数多的情况下),所以就写了个http接口,传入beanName/methodName,然后body传入json格式的方法参数就可以调用到某个bean的某个方法了,测试起来很方便。 java @RequestMapping("/test") @RestController publicclassTestControllerimplementsApplicationContextAware{ privateApplicationContextcontext; @PostMapping("/{beanName}/{metho...

  qbian   2019年12月30日   105   2   0 tomcatjava-eejavaspring

一图解 ![Tomcat工作原理图示](https://static.developers.pub/tomcat内部工作原理.png) 二详解 tomcat就是一个tcp服务器socketServer,一直在监听着指定的端口port。 一个tomcat内可以部署多个项目(app),每一个项目都有自身的应用上下文(context)。 一个上下文容器(Context)代表一个web应用,每一个上下文包括多个包装器(Wrapper),每个包装器代表一个Servlet。 tomcat内存在一个p...

  qbian   2019年11月12日   73   1   0 tomcatjava-ee