#MC

深入理解Tomcat(十)Connector

终于进行到Connector的分析阶段了,这也是Tomcat里面最复杂的一块功能了。Connector中文名为连接器,既然是连接器,它肯定会连接某些东西,连接些什么呢?connector组件的processor对象处理的request和response,connector有三种request和response对象:co...

tomcat中AuthenticatorBase简单的安全认证

有些web应用程序的内容是有限制的,只允许有权限的用户在提供正确的用户名和密码的情况下才允许访问。Servlet通过配置部署文件web.xml来对安全性提供技术支持。    一个servlet通过一个叫authenticator的阀门(valve)来支持安全性限制。当容器启动的时...

tomcat跨域请求过滤器CorsFilter使用的预检preFlight及其他过滤器

  之前我很肤浅的以为为了实现某种请求过滤功能(比如图片转换、文件上传、安全认证等),都需要自己去实现javax.servlet.Filter。之后在web.xml中配置即可。  但事实上,Tomcat已经提供了部分相关的过滤器(本文只介绍常用的7个过滤器),只需要简单配置就可以使用。最近通过系统学习Tomcat架构之...

tomcat中SSIPrintenv.java漏洞修复

Tomcat是一个开源的轻量级Web应用服务器,在我们平常工作过程中接触得非常多。代码也非常经典,很多人为了提升自己的技术也会去阅读学习Tomcat的源码。但正如著名诗人李白所说的:世界上本没有漏洞,使用的人多了,也就发现了漏洞。比如今年的2月份就爆出了存在文件包含漏洞。今天我们选择两个比较直观的Tomcat漏洞去模拟...

tomcat中使用SessionCookieConfig接口使httpOnly值生效

描述:SessionCookieConfig用来修改会话跟踪的cookie的相关信息,包含name,path,domain,以前名称是固定的必须为JSESSIONID,但是通过该接口可以实现自定义。 背景:  Springboot2.0(spring-session-data-redis+spring-boo...

tomcat中使用ServletContainerInitializer实现自定义组件的初始化工作

简介在web容器启动时为提供给第三方组件机会做一些初始化的工作,例如注册servlet或者filtes等,servlet规范中通过ServletContainerInitializer实现此功能。每个框架要使用ServletContainerInitializer就必须在对应的jar包的META-INF/service...

tomcat中使用response.encodeURL()或response.encodeRedirectURL()实现回话追踪(session tracking)技术

HTTP是一种无连接的协议,如果一个客户端只是单纯地请求一个文件(HTML或GIF),服务器端可以响应给客户端,并不需要知道一连串的请求是否来自于相同的客户端,而且也不需要担心客户端是否处在连接状态。但是这样的通信协议使得服务器端难以判断所连接的客户端是否是同一个人。当进行Web程序开发时,我们必须想办法将相关的请求结...

Tomcat的ErrorPage实现原理分析及阀门ErrorReportValve

Tomcat错误页面支持http响应吗和Java中异常类两种形式。使用Tomcat,一定见到过404,500的时候,见到过Tomcat提供的错误页面,例如请求的资源找不到的时候,响应状态码为404,这个时候的错误页面是这样的:这些错误页面是 如何生成及定位展示的 ,如果我们要 自定义一些错...

Tomcat中Logger组件

每一个系统都有一些通用的模块,比如日志模块、异常处理模块、工具类等,对于Tomcat来说,比较重要的通用模块有日志、Session管理和集群管理。日志模块作为一个通用的功能,在系统里通常会使用第三方的日志框架。Java的日志框架有很多,比如:JUL(JavaUtilLogging)、Log4j、Logback、Log4...
代码星球 代码星球·2021-01-08

NIO在Tomcat中的应用

个人单方面认为,NIO与BIO的最大区别在于主动和被动,使用BIO的方式需要等待被调用方返回数据,很明显此时调用者是被动的。举个例子阻塞IO假设你是一个胆小又害羞的男孩子,你约了隔壁测试的妹子,但你并不敢主动约会,所以你把自己的手机号码给她,并暗示她想要约会的时候打电话给你。很明显此时你陷入了被动,约不约会的结果需要妹...
代码星球 代码星球·2021-01-08

tomcat中如何处理http协议的属性Connection和Tansfer-Encoding

http1.0不支持长连接,http1.1支持长连接,如果需要关闭长连接,设置connection=close,表示客户端或服务器端在发送完请求或服务端一次性把响应报文发送完给客户端后关闭连接。transfer-encoding=trunked是否分段传输响应报文,优先content-length。先说说原理:&nbs...

virgo-tomcat访问日志的详细配置

Tomcat日志信息分为两类:1、运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息。2、访问日志信息,它记录的访问的时间、IP、访问的资料等相关信息。关于tomcat访问日志的产生样式说明如下(从官方文档中摘录):%a-RemoteIPaddress%A-LocalIPaddress%b-Bytess...

Tomcat应用的部署记录

1、先安装jdk,解压jdk-7u17-linux-x64.tar.gz至/opt目录、配置环境变量,在/etc/profile末加入如下内容。JAVA_HOME=/opt/jdk1.7.0_17exportJAVA_HOMEPATH=$JAVA_HOME/bin:$PATH:/usr/local/swftools/b...
代码星球 代码星球·2021-01-02

CentOS7中systemctl的使用与CentOS6中service的区别

https://blog.csdn.net/u012834750/article/details/80501440  从CentOS7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替。daemon命令sys...

下一代Android打包工具,100个渠道包只需要10秒钟 https://github.com/mcxiaoke

https://github.com/mcxiaoke/packer-ng-pluginhttps://github.com/Meituan-Dianping/wallehttps://github.com/seven456/MultiChannelPackageTool...
首页上一页...1718192021...下一页尾页