scutuyu

涂宇的博客


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 搜索

awesome dispatcher servlet

发表于 2019-02-16   |   更新于 2019-02-16

概述

web应用一般都运行于web容器中,比如Tomcat服务器,Spring MVC框架定义了一个Servlet叫DispatcherServlet,
传统的做法就是在web.xml配置文件中将该Servlet配置到Servlet容器中,并拦截所有的请求/或者/*。

我自定义了一个Servlet,拦截所有的请求,它继承HttpServlet,重写了父类GenericServlet的init(),做一些初始化的工作;重写了HttpServlet的service(),完成请求的分发,功能类似Spring MVC的DispatcherServlet,但是没有它那么强大。项目地址在这里。

  • 初始化并缓存所有处理器
  • 拦截所有请求
  • 静态资源特殊处理
  • 请求分发
阅读全文 »

personal understanding of red-black tree

发表于 2019-01-23   |   更新于 2019-02-13

概述

红黑树的定义:

  • 根节点为黑色
  • 所有节点非黑即红
  • 红色节点的子节点必须是黑色
  • 从根节点到它所有子节点的路径中包含相同数量的黑色节点
  1. CLR
  2. 变色
  3. 左旋
  4. 右旋
  5. 红黑树的自平衡
    阅读全文 »

spring mvc 自定义参数绑定,自定义数据返回格式

发表于 2018-12-18   |   更新于 2018-12-19 | 分类于 spring mvc

概述

工作中有这么个需求:前端请求后端数据时参数采用蛇形命名法,即:/xxxx?user_name=ty&user_age=12,后端返回的json数据要也要蛇形命名法,即:

1
2
3
4
5
6
7
8
{
"user_name": "tuyu",
"user_age": 12,
"address": "xxxxx"
}
需要做两件事:
1. controller的方法的参数的命名方式采用小驼峰命名,希望将前端传递的蛇形命名的参数自动绑定到对应的驼峰命名的参数上
2. 后端返回的json数据的命名方式采用蛇形命名法

阅读全文 »

反编译jar包

发表于 2018-09-14   |   更新于 2018-09-14

概述

  • unzip解压jar包
  • jad反编译class文件
  • 自定义反编译工具-编写shell文件
    阅读全文 »

三次握手

发表于 2018-09-04   |   更新于 2018-09-04

概述

  • TCP连接的三次握手过程
  • 为什么要三次握手
  • TCP取消连接的四次挥手
  • 为什么要四次挥手
    阅读全文 »

Lock

发表于 2018-07-30   |   更新于 2018-07-31

概述

  • 当调用Lock的lock方法和unlock方法时,其中发生了什么
  • 当多个线程调用同一个Lock实例的lock方法和unlock方法时,其中又发生了什么
  • 什么是重入锁
    阅读全文 »

queue

发表于 2018-07-26   |   更新于 2018-08-23

概述

  • Queue定义了哪些方法,是否允许添加null
  • Deque定义了哪些方法,是否允许添加null
  • BlockingQueue定义了哪些方法,是否允许添加null
阅读全文 »

Redis集群搭过程

发表于 2018-07-23   |   更新于 2018-07-25 | 分类于 Redis

概述

你会知道如何安装redis, ruby, rubygems
如何解决gem安装依赖慢甚至失败的问题
如何用gem安装redis

阅读全文 »

io

发表于 2018-07-11   |   更新于 2018-07-12

概述

  1. 谈谈io与装饰者模式
    阅读全文 »

nio

发表于 2018-07-02   |   更新于 2018-07-02

概述

  1. Buffer
    阅读全文 »
12…9
涂宇

涂宇

List is short, I use Python.

85 日志
31 分类
75 标签
© 2019 涂宇
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.2