摘要: web根据资源名称去到class目录找到对应的文件,output输出屏幕 POM添加依赖 配置资源拦截器,同时classes\META INF\services 目录下新建文件javax.servlet.ServletContainerInitializer 配置:xyz.luofu.www.app 阅读全文
posted @ 2020-04-26 19:16 gsluofu 阅读(285) 评论(0) 推荐(0)
摘要: Servlet3.0 - ServletContainerInitializer注册JAVA组件: 在web容器启动时为提供给第三方组件机会做一些初始化的工作,例如注册servlet或者filtes等,servlet规范中通过ServletContainerInitializer实现此功能。每个框架 阅读全文
posted @ 2020-04-26 16:04 gsluofu 阅读(285) 评论(0) 推荐(0)
摘要: 下载jar包和源码 引入ideal 阅读全文
posted @ 2020-04-24 16:04 gsluofu 阅读(367) 评论(0) 推荐(0)
摘要: 一 进行文件一致性校验 为了确保你得到的文件是正确的版本,而没有被注入病毒和木马程序。例如我们经常在网上下载软件,而这些软件已经被注入了一些广告和病毒等,如果不进行文件与原始发布商的一致性校验的话,可能会给我们带来一定的损失。 二 文件一致性校验原理 要进行文件的一致性校验,我们不可能像文本文件比较 阅读全文
posted @ 2020-04-24 15:51 gsluofu 阅读(465) 评论(0) 推荐(0)
摘要: 分析http请求的路径分析,之前说过socket完成对端口的监听: 先看下connector: 查看EndPoint,java8后使用的是NioEndpoint:查看ctrl+F12可以看到有相关的几个内部类Acceptor(接受请求)、Poller(从请求池中获取请求)、SocketProcess 阅读全文
posted @ 2020-04-24 11:41 gsluofu 阅读(190) 评论(0) 推荐(0)
摘要: 接着分析下start()方法: host启动 context启动 后续severlet的加载,优先级 warpper load方法等: 容器组件启动会触发lisener监听器从而知道容器中发生了变化(如:热部署)。 阅读全文
posted @ 2020-04-22 16:54 gsluofu 阅读(215) 评论(0) 推荐(0)
摘要: tomcat总体结构 Server:接受请求并解析,完成相关任务,返回处理结果。通常情况下使用Socket监听服务器指定端口来实现该功能,一个最简单的服务设计如下: Start():启动服务器,打开socket连接,监听服务端口,接受客户端请求、处理、返回响应 Stop():关闭服务器,释放资源 缺 阅读全文
posted @ 2020-04-22 15:13 gsluofu 阅读(713) 评论(1) 推荐(1)
摘要: 模拟MapperFactoryBean实现对接口的代理,相关代码如下: 阅读全文
posted @ 2020-04-17 15:32 gsluofu 阅读(288) 评论(0) 推荐(0)
摘要: 代理的名词: 代理对象:增强后的对象 目标对象:被增强的对象 他们不是绝对的,会根据情况发生变化 java实现的代理的两种办法: 静态代理: 继承:代理对象继承目标对象,重写需要增强的方法; 缺点:会代理类过多,非常复杂 聚合:目标对象和代理对象实现同一个接口,代理对象当中要包含目标对象。 缺点:也 阅读全文
posted @ 2020-04-15 18:18 gsluofu 阅读(157) 评论(0) 推荐(0)
摘要: 以下分析基于spring framework 5.0.x相关源码可自行去github下载或者maven依赖然后利用类似ideal工具自动关联源码功能。 what is IOC 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之 阅读全文
posted @ 2020-04-15 16:00 gsluofu 阅读(357) 评论(0) 推荐(0)