tomcat过滤器html,Tomcat过滤器模拟
直接上代码Filter.java
public interface Filter {
//过滤器
public void doFilter(Request request,Response response,FilterChain chain);
}
FilterChain.java
public class FilterChain {
//存放所有的过滤器
private List filters ;
//记录当前过滤索引
private int index;
//过滤链初始化
public FilterChain()
{
filters = new ArrayList(10);
}
public void addFilter(Filter filter)
{
filters.add(filter);
}
/**
* 迭代过滤
*/
public void doFilter(Request request,Response response)
{
if ( index >= filters.size() )
return;
filters.get( index++ ).doFilter(request, response, this);
}
}
Request.java
public class Request {
private String value;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
@Override
public String toString() {
return this.value;
}
}
Response.java
public class Response {
private String value;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
@Override
public String toString() {
return this.value;
}
}
FilterOne.java
public class FilterOne implements Filter{
/**
* 过滤FUCK字符
*/
@Override
public void doFilter(Request request, Response response, FilterChain chain) {
System.out.println("进入过滤器FilterOne---------------------------------------");
//执行下一个过滤器
chain.doFilter(request, response);
System.out.println("出去过滤器FilterOne---------------------------------------");
}
}
FilterTwo.java
public class FilterTwo implements Filter{
@Override
public void doFilter(Request request, Response response, FilterChain chain) {
System.out.println("进入过滤器FilterTwo---------------------------------------");
//执行下一个过滤器
chain.doFilter(request, response);
System.out.println("出去过滤器FilterTwo---------------------------------------");
}
}
Test.java
public class Test {
public static void main(String[] args) {
FilterChain chain = new FilterChain();
chain.addFilter(new FilterOne());
chain.addFilter(new FilterTwo());
chain.doFilter(new Request(), new Response() );
}
}
运行结果
进入过滤器FilterOne---------------------------------------
进入过滤器FilterTwo---------------------------------------
出去过滤器FilterTwo---------------------------------------
出去过滤器FilterOne---------------------------------------
memcached+tomcat转发forward时 sessionid一直变化的问题
今天遇到了一个很奇怪的问题, 我在tomcat过滤器 中, 对请求过来的静态资源及html页面做了forword转发操作,核心代码如下: private void redirectMobile(Htt ...
同主机下Docker+nginx+tomcat负载均衡集群搭建
想用Docker模拟一下nginx+tomcat集群部署,今天折腾了一天,遇坑无数,终于在午夜即将到来之际将整个流程走通,借本文希望给同样遇到类似问题的小伙伴们留点线索. 主机环境是CentOS 7, ...
Android服务器——使用TomCat实现软件的版本检测,升级,以及下载更新进度!
Android服务器--使用TomCat实现软件的版本检测,升级,以及下载更新进度! 算下来,TomCat服务器已经写了很长一段时间了,一直说拿他来搞点事 情,也一直没做,今天刚好有空,交流群还有人请 ...
windows下apache httpd2.4.26集群完整搭建例子:下载、启动、tomcat集群例子
第一部分——下载 1.1: 百度搜索apache httpd关键字,第一个链接既是官方下载地址.如果这一步不会,此篇文章不适合你阅读,请自行停止. 1.2:进入官网http://httpd.apach ...
nginx+tomcat实现负载均衡以及双机热备
还记得那些年吗? 还记得更新代码之后,服务器起不来被领导训斥吗?还记得更新代码,需要停机过多的时间被渠道部们埋怨吗?还记得更新代码,代码出错时自己吓个半死吗?于是我们聪明勤快的程序员,看着电影待到夜深 ...
http和数据库sql分析与窃听技术
用tunnel,tunnel是一种技术称谓,将其放到真正的服务器和客户端之间.调试阶段可以使用webcream运行tomcat作为模拟的真正的服务器. 具体:用apache axis及其项目中的工具t ...
Eclipse使用新手教程
说起java的IDE,朗朗上口的无非是Eclipse了,假若能熟练Eclipse,对于我们编写java程序会起到事半功倍的效果,大大提高我们工作效率.因此本篇博文,笔者仅仅是针对刚刚入门java的新手 ...
CAS单点登录配置[4]:客户端配置
本节介绍一下客户端如何配置,客户端配置没有服务端那么复杂... 客户端Tomcat配置 1 首先确认证书文件已经拷贝到Tomcat的目录下,我们新建两个客户端的web应用,分别命名为Client1,C ...
深入理解cookie和session
cookie和session在java web开发中扮演了十分重要的作用,本篇文章对其中的重要知识点做一些探究和总结. 1.cookie存在于浏览器 随意打开一个网址,用火狐的调试工具,随意选取一个链 ...
随机推荐
retrifit
Retrofit 特点 性能最好,处理最快 使用REST API时非常方便: 传输层默认就使用OkHttp: 支持NIO: 拥有出色的API文档和社区支持 速度上比volley更快: 如果你的应用程序 ...
8款唯美设计的HTML5/CSS3应用
1.CSS3漂亮的自定义Checkbox复选框 9款迷人样式 今天我们来分享一款9款样式迷人的CSS3漂亮的自定义Checkbox复选框.这几款复选框样式很丰富,使用起来也比较方便. 在线演示 源码下 ...
oracle中不曾熟悉的 to_char、to_number(未完待续)
十进制 十六进制88 58 用法一:Converts a HEX number to o FLOAT (转换一个十六进制数的浮标) SQL> sele ...
How To Create a New User and Grant Permissions in MySQL
How to Create a New User Let’s start by making a new user within the MySQL shell: CREATE USER 'newus ...
android中定位光标位置
edittext.setSelection(int); edittext.setText(123);//设置edittext中的内容 edittext.setSelection(123.length( ...
8bit数据 转换为 16bit数据的四种方法
[转]玩转嵌入式(公众号) 在入门单片机时,想必大家都都会遇到一下这种情况 unsigned char a = 0x12; unsigned char b = 0x34; unsigned int c ...
再记录一次delete出错的经历
调试的时候进行到delete语句时出现问题,我做的操作是在函数体内用int*申请了N个内存空间,这让我十分纳闷,为什么不能delete呢? 回忆到之前delete出错也遇过一次问题 手动封装OpenC ...
ios开发 学习积累20161101
20161101 XML的声明 <?XML version="1.0" encoding="UTF-8" ?> XML文档必须有根元素 XML 对大 ...
Eclipse启动JVM机制
1.Eclipse启动的时候,会启动一个JVM来运行eclipse(因为Eclipse是Java代码实现的) 2.Eclipse启动一个带main的主类的时候,会单独启动一个JVM来运行他. 3.Ec ...
sql 自定义split
以下数据库操作针对sql server. 问题来源:由于项目中,有的表字段内容是由多个id或多个其他内容拼接而成.(如:'1,2,3,4,5',或者'name_age_school'),特点是都用某个 ...
tomcat过滤器html,Tomcat过滤器模拟相关推荐
- tomcat URL简写案例:模拟网站www.baidu.com的访问
tomcat URL简写案例:模拟网站 * 实际URL:http://www.baidu.com:8080/myweb/1.html * 实际位置:F:\mywebapps\myweb\1.html ...
- Tomcat(二):tomcat配置文件server.xml详解和部署简介
1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务,因为是入门示例,所以设置极其简单,只需修改$CATALINA_HOME/conf/server.xml文件为如下内容即可 ...
- Tomcat系列(5)——Tomcat配置详细部分
Tomcat的架构图 Tomcat的组织结构 Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的是Catalina servlet容器,其他组件按照一定的格式要求配置在这个顶层 ...
- 过滤器、使用过滤器完成session效验
过滤器 我们发现TOMCAT服务器接收到浏览器发送的请求后,会根据请求调用对应的Servlet来处理请求,只要请求路径中的URI是正确的,就一定能访问到对应的Servlet,不安全.另一方面,逻辑有重 ...
- Eclipse配置tomcat服务器及tomcat简介
一.手动配置tomcat到eclipse tomcat的压缩包资源可以去资源包中下载.(win32和win64都有) 1. 打开eclipse–>Window–>Preferences,按 ...
- Tomcat学习之Tomcat架构
前段时间想学习下tomcat,在网上找了一些资料,放在这里以备忘: 1,tomcat架构: Server: 其实就是BackGroud程序, 在Tomcat里面的Server的用处是启动和监听服务端事 ...
- 过滤器一:过滤器简介;创建第一个Filter;
本篇博客主要介绍过滤器的基本内容,同时编写一个过滤器小例子. 目录 一:过滤器简介 1.什么是过滤器? 2.过滤器执行过程: 3.过滤器开发的三要素: 二:过滤器范例 1.创建过滤器 2.测试过滤器 ...
- 深入剖析Tomcat(How Tomcat Works)
<深入剖析Tomcat>前言(作者:Budi Kurniawan & Paul Deck) 欢迎阅读本书.本书剖析了Tomcat 4.1.12版本和Tomcat 5.0.18版本的 ...
- Tomcat系列(6)——Tomcat处理一个HTTP请求的过程
Tomcat的架构图 图三:Tomcat Server处理一个HTTP请求的过程 处理HTTP请求过程 假设来自客户的请求为:http://localhost:8080/test/index.js ...
- 过滤请求绝技,布隆过滤器与布谷鸟过滤器
欢迎关注方志朋的博客,回复"666"获面试宝典 大家都知道,在计算机中,IO一直是一个瓶颈,很多框架以及技术甚至硬件都是为了降低IO操作而生,今天聊一聊过滤器,先说一个场景: 我们 ...
最新文章
- 图解用Wireshark进行Http协议分析
- c#如何wmf图片转换成png图片_每日一学:如何将png图片转换为jpg图片
- bangteng文件夹各种方式尝试后删除不了的解决办法
- 常见web前台技术之间的关系html,css,javascript...
- 【海啸预警】乔碧罗都在谈“区块链”,意味着新浪潮真的要来了?!
- 张一鸣的心里“住着小马哥”
- 1. C++dump编程
- tilte和body标签
- 【python】自动化测试浏览器不关闭
- 全天星图应用软件介绍(四季星座VB6源码)
- 机器人控制学习机器编程代码_带上机器人,让他们维护我们的代码!
- secret学习笔记
- [Excel常用函数] sumif sumifs函数
- 按音量键和按Fn+音量键,笔记本电脑均没反应的解决办法
- D L N A介 绍
- 码云+docker+jenkins持续集成
- 一节计算机课英语,电脑课的英语
- 学姐说 | 大学生如何自学短视频剪辑配音制作?
- 练习-Java多路分支之月份天数计算
- 3D立体显示技术原理与游戏应用历程简介 【转】