本篇是Shiro系列第三篇,Shiro中的过滤器初始化流程和实现原理。Shiro基于URL的权限控制是通过Filter实现的,本篇从我们注入的ShiroFilterFactoryBean开始入手,翻看源码追寻Shiro中的过滤器的实现原理。初始化流程ShiroFilterFactoryBean实现了FactoryBean接口,那么Spring在初始化的时候必然会调用ShiroFilterFacto...
1:配置executor属性打开/conf/server.xml文件,在Connector之前配置一个线程池:<Executorname="tomcatThreadPool"namePrefix="tomcatThreadPool-"maxThreads="1000"maxIdleTime="300000"minSpareThreads="200"/>重要参数说明:nam...
我们首先要知道WebSocket的应用场景:①在线股票网站②即时聊天③多人在线游戏④应用集群通信⑤系统性能及时监控......下面让我们开始从项目中学习WebSocket:(一)首先创建一个SpringBoot项目,如下图,博主用的是IDEA:后续过程不太难,如果还是不太会...
什么是MVCMVC:模型、视图、控制器,是一种软件设计规范,说明不是设计模式;本质:将业务逻辑,数据,显示分离的方式来编写代码;前后端分离;Model:数据模型,提供要展示的数据,一般我们都会把这两个分离开来,数据Dao,服务层Service。View:负责进行数据的渲染和展示;客户端想要看到的东西Controller:接收用户请求,交给Model处理,从Model更新后...
作为后端开发人员,在实际的工作中我们会非常高频地使用到web服务器。而tomcat作为web服务器领域中举足轻重的一个web框架,又是不能不学习和了解的。tomcat其实是一个web框架,那么其内部是怎么实现的呢?如果不用tomcat我们能自己实现一个web服务器吗?首先,tomcat内部的实现是非常复杂的,也有非常多的各类组件,我们在后续章节会深入地了解。其次,本章我们将自己实现一个web服务器...
1、动态代理:为目标对象创建一个代理类,该代理类拥有目标对象的方法,属性,同时也可添加自己的方法,比如:日志的添加、校验等。2、实现条件:在java中规定,要想产生一个对象的代理对象,那么这个对象必须要有一个接口,所以我们第一步就是设计这个对象的接口,在接口中定义这个对象所具有的行为(方法)2、应用场景:当用户要调用一个类的方法时,用户可以通过调用代理,代理通过接口调用原来的类的方法,代理在把方法...
RabbitMQ与AMQP协议详解可以看看这个http://www.cnblogs.com/frankyou/p/5283539.html下面是rabbitMQ和spring集成的配置,我配置了二种ExCahange:topicExchange和directExChange<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http:...
大家好,我是乐字节小乐,上次给大家讲述了Java中的IO流之输出流|乐字节,本文将会给大家讲述网络编程。主要内容如下:网络网络分层IP位置端口port网络编程一、网络1、概念网络即将不同区域的电脑连接到一起,组成局域网、城域网或广域网。把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资...
作者:gafishhttps://github.com/gafish/gafish.github.comGit简介Git是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前已经成为程序开发人员做项目版本管理时的首选,非开发人员也可以用Git来做自己的文档版本管理工具。2013年,淘宝前端团队开始全面采用Git来做项目管理,我也是那个时候开始接触和使用,从一开始的零接...
本文面向的读者是对java熟悉,并对volatile有一定的了解的javaprogramer。(volatile简介:https://www.ibm.com/developerworks/cn/java/j-jtp06197.html建议先看前几段了解下即可。不看happens-before等java理论)市面上对该关键字的解读,包括《并发编程的艺术》中都对最底层的部分含...