为什么一次url访问请求 会执行多次filter

我自定义一个拦截器,地址栏输入url访问的时候,拦截器被执行了多次! 这是什么原因

 

meiyx
meiyx 不应该的把你写的filter贴出来
6 年多之前 回复
Dead_Knight
Dead_Knight 把你写的filter代码贴上来
6 年多之前 回复

6个回答

要看你在web.xml中filter的配置。

如果是这么配置的,就会拦截所有请求,包括访问jsp、servlet、js、css、图片等任何服务器上的资源的请求:

PageTimersFilter
/*

如果是这么配置的,那就只拦截访问jsp的请求,可以根据你的需要进行配置:

PageTimersFilter
*.jsp

我自定义一个拦截器,地址栏输入url访问的时候,拦截器被执行了多次! 这是什么原因

1、如访问a页面 此时可能会去下载图片、js等 此时如果没有过滤也是走过滤器

jinnianshilongnian
jinnianshilongnian 1你用的是么浏览器 2通过浏览器的network 观察下发了几次请求
6 年多之前 回复

有图片吧。。。

fengshuang_100
fengshuang_100 图片?打印出来的url全部是一样的
6 年多之前 回复

有src属性的html元素都走filter

若是你没有进行特殊处理的话,只要是请求的就会被拦截
所以最好指定需要拦截的url-pattern
若是想拦截图片文件夹,则可以这样配置

filter
/image/*

1、是一楼所说的,在拦截器定义的时候,并没有过滤拦截的内容;
2、可能你的页面中包含了其他的拦截请求;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Filter为什么会在一次请求执行doFilter()多次呢?
SSH项目,rnlog4j打出的线程名为http-apr-8080-exec-1,http-apr-8080-exec-2,...,http-apr-8080-exec-n等,rndebug看这些线程于org.apache.catalina.startup.Bootstrap下均为Daemon Thread。rn这些线程主要作用是什么?rn浏览器访问http://127.0.0.1:8080/project时,页面一次请求调用自定义Filter(如编码过滤器)的次数是1次;rn当访问系统的其他链接时,一次请求调用Filter的次数都在一次以上。为什么?rnfilter-mapping的url-pattern配的是/*
为什么会执行多次
用户连续单击按钮后,结果会被提交多次,这时如果写数据库就会有好几条记录,请问如何避免?
为什么有时候一次请求会执行两次?
一个jsp程序,输入一些数据后插入到数据库中。 rn按了提交按钮后,用javascript进行一些处理,然后submit。但有时候会出现submit两次的情况,导致数据库中有很多重复的纪录。有时候用鼠标单击提交按钮会听到两声点击的声音。 rn请高手指点。 rn谢谢
Invoke为什么会多次执行?
[code=C#]rnint i = 0;rndelegate void dg();rnrnprivate void Test()rnrn if (this.InvokeRequired)rn {rn dg callback = new dg(Test);rn this.Invoke(callback);rn }rn elsern rn i++;rn Console(i.ToString());rn rnrn[/code]rnrn结果多次调用Test()每次执行分别显示 1,3,6,10,15。。。。。。rnrn为什么不是1,2,3,4,5???重复执行了吗?rnrn另外Invoke和BeginInvoke的区别是什么?
为什么Application_OnStart会多次执行?
过一段时间(半小时左右)Application_OnStart就会执行,统计数字会清零。我记得这个方法只有在程序运行的时候执行一次,为什么会这样。rn[code=vb]rn rn[/code]
apache输入过滤器在一次请求中,会执行多次?
我自己编写了一个apache的输入过滤器,实现拦截login请求和post过来的body体,并通过一个记录函数记录过滤器的执行步骤,但是通过我的记录函数我发现,输入过滤器会被调用执行多次,有时候3次,有时2次的,次数不确定。请问有谁知道是什么原因嘛?真心求解!多谢各位的帮忙!!!
iOS 多次请求只执行一次
使用 - (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;来实现。例子: dic是要传的参数,我的是一个字典类型 [self performSelectorOnMainThread:@selector(sendData:) withObject:dic
为什么有些PHP脚本请求一次执行多次?
计算脚本执行时间时发现,每次请求脚本都要执行3次,这是为什么?应该往哪方面找问题?开始没发现,后来计算脚本执行时间需要向文件“exec_time.txt”中写入每次的执行时间,结果发现有的脚本每次请求,记录时间的文件“exec_time.txt”中都出现三个执行时间!rnrn计时器的代码:rn[code=PHP]rnclass calc_timernrn private $begin_time=array();rn private $i=0;rn public function __construct ()rn rn $this->begin_time = gettimeofday();rn rnrn public function script_over ($end_point)rn rn $tmp = gettimeofday();rn $time = ($tmp["usec"] - $this->begin_time["usec"])/1000000;rn $file = fopen("exec_time.txt","a+");rn $this->i++;rn fwrite ($file, $time."@".$_SERVER["SCRIPT_FILENAME"]."@".$end_point.$this->i);rn fwrite ($file, "\n");rn fclose ($file);rn rn[/code]rn请求脚本page.phprn[code=PHP]rn$calc = new calc_time();rn//...rn$calc->script_over("endpoint");rn[/code]
asp.net一次访问,后台多次执行
如题,我一个asp。net网站在debug时发现在浏览器上发送一次请求,但后台pageload方法会执行两次,以前也好像遇到过,但一直没有去深究,这次在百度上找过,但没有答案。。。求大神指点
为什么点一次链接会有多次请求?
错误日志:[img=http://img.my.csdn.net/uploads/201207/31/1343706044_1739.jpg][/img]rn我请求的Product/List,后来会自动请求一次/Product/180X270,莫名奇妙,本身就没这个Action,rn我只是在列表循环的时候加载图片路径有这个rn[code=HTML]rnrn[/code]rn这个错误没有影响程序运行。
为什么Filter会拦截这么多的请求?
页面只发送了4个请求rn[img=https://img-bbs.csdn.net/upload/201805/08/1525761303_410286.png][/img]rn但是后台显示了一堆,很好奇这些请求是哪来的?rn[b][img=https://img-bbs.csdn.net/upload/201805/08/1525762383_314291.png][/img][/b]rn
为什么执行多次xmlHTTP会出错?
各位领导你们好:rnrn 请教一下:为什么执行多次xmlHTTP会出错?rn 本人在JSP页上做了一个循环,多次执行xmlHTTP,系统提示内存益出,不知道为什么。rn 如何解决这个问题,请高手指教!
Control.BeginInvoke为什么会执行很多次啊?
如图[img=https://img-bbs.csdn.net/upload/201501/27/1422295232_654806.jpg][/img]rnrun()方法是在支线程上运行的方法,我只写了2个Control.BeginInvoke方法,为什么会出现如[img=https://img-bbs.csdn.net/upload/201501/27/1422295296_387506.jpg][/img]这种情况呢?
ajax相同url执行多次
ajax对后台的请求,如果url未发生改变,是不会去再去响应后台的请求的 这个是因为缓存的原因所造成的 加上一个cache : false即可            $.ajax({                 type: 'GET',                 url: 'SaveDiamondSaleOrder.aspx?is_ajax=1&action=addbarcod
spring-mvc中的controller请求一次多次执行,是什么原因呢?
今天发现我的程序中的controller请求一次,但是经常执行两次或者三次,找不到原因,controller中什么也没写,jsp也都给清空了,但是还是会执行多次,怀疑是框架配置的原因,但我是入门级的,框架是在网上随便找的,springmvc-servlet.xml配置如下:rnrn rnrn rn rn rn rn rn rn rn rn rn rn rn rnrn rn rnrn rn rn rn rn text/html;charset=UTF-8rn rn rn rnrn rn rn rn rn rn rn rn rn rnrn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn
Jmeter BeanShell 执行多次问题,每发送一次请求执行一次BeanShell问题
Jmeter BeanShell 执行多次问题,每发送一次请求执行一次BeanShell问题 前言:(此问题耗时半天) 提供解决思路的博主又有新问题了。 如图所示,写了一个BeanShell从文件中去获取值之后给测试计划的变量赋值。 问题来了,当禁用b的情况下,a只执行一次。当启用b请求的情况下,a执行了3次。 深层原因就不说了,假如线程每走一个请求都会...
一次请求 服务端执行两次
1、抓包查看浏览器端是否真的只发送了一次请求 2、请相信抓包的结果 3、浏览器到服务器之间是否存在中间代理,中间代理是否有重试机制或者分次查询机制 4、把get请求改成post请求试试
MFC为什么发送一次消息会响应很多次
MFC中自定义了一个消息,sendmessage一次,响应好几次rnrn而且就是第一次sendmessage才会这样,后面sendmessage就正常了rnrn百思不得其解啊。。。rnrnrn这个是发送消息的地方(子线程中)rn while(1)rn rn lpDlg->PostMessageD(lpDlg->m_socket,0,lpDlg->m_id,0,NULL,NULL);rn //lpDlg->SetText("I'm alive");rn lpDlg->m_strText.Format("I'm alive");rn SendMessage(lpDlg->GetSafeHwnd(),WM_MY_UPDATE,NULL,NULL);rn Sleep(5000);rn rnrnrnrn这个是响应函数:rnLRESULT CClientServiceWeekTwoDlg::OnMyUpdate(WPARAM wParam,LPARAM lParam)rn SetText(m_strText.GetBuffer());rn //CStringW strW;rn //strW=m_strText;rn //MessageBox(strW);rn return 0;rnrn
点击一次元素多次触发请求
$(".box").click(function(){  fn()})function fn() { $(".box_b>a").each(function () { $(this).unbind('click').click(function () {        makeAjax()   }) })}大概就是这么个情况,点击a发送请求,然后点击.box后再...
Extjs 点击一次button触发多次请求
今天偶然发现一个问题,ext的按钮点击一次以后进行了多次请求,一开始怀疑button会默认submit一次,再加上我采用的ajax请求,这样就会导致多次请求,后来发现我想错了,而且有个值得关注的现象:打开新页面,第一次打开窗口操作上面的button只会提交一次,成功后窗口会关闭;第二次打开窗口操作上面的button就会提交两次···以此类推。很奇怪···后来受到一篇文章的启发: http://b
ajax 一次请求 多次返回处理结果
简单的描述下: 比如我提交一个数组 有 n(n>1) 个数字[1,2,3,4,5 ……] ,这个 n 个数字做一次循环处理 现在要返回 个数字的处理结果 。 处理结束一个数字 就返回这个数字的 处理结果。 处理完 所有(n个)数字后 跳转到 指定页面。rnrn 不知道 这个可以实现么??rnrn
ajax一次请求,多次响应的问题
大家好,小弟有个小问题,想请教下大家。。rnrn前台ajax提交请求之后,后台用Servlet响应请求。本来最简单的,一次请求,后台一次性返回所有内容,这个过程就结束了。rn现在后台的处理比较多,耗时较长,得到的数据有快有慢,先后写入到PrintWriter中的。rnrn为了不让页面等待太久,现在想把先写入到PrintWriter中的数据返回到页面上去,后面得到的数据在按照顺序追加到展示的页面中。。rn请问,这个怎么实现比较好?rnrnrn看了网上的一些办法,有个是通过ajax轮询去处理,定时发送请求从后台取值,值是写入到数据库或者文件中,方便读取。。但是目前我不想把数据存到数据库里面去,有什么办法从PrintWriter对象中获取已经有的数据吗?rnrn先谢过大家了~
url调用一次接口,请求却执行两次
springmvc项目,谷歌浏览器访问 我说下我自己的情况,用url地址请求后台数据,发现后台执行两次 简单来说是谷歌的jsonview插件出了问题 将上图的红圈中的√去掉即可。 还有一个可能则是在过滤器出了问题,出现了多次 chain.doFilter(servletRequest, servletResponse); 出现一次以上在上述语句后加 return; ...
为什么只执行一次
我用LCC写了个DOS程序可是在一个循环中:rnwhile(1)rnch=getchar();rnputchar((char)ch);rn……;rnrn其中前两句都只在一开始才执行一次,后来的循环中就不再执行了,而后面的都是每次循环都执行的rn为什么?
为什么委托函数多次执行?
如题rn:rn定义了 rnprivate ContextMenuStrip m_menuEdit = new ContextMenuStrip();rnrn//弹出操作菜单rnm_menuEdit.Show(MousePosition.X, MousePosition.Y);rnm_menuEdit.ItemClicked += new ToolStripItemClickedEventHandler(m_menuEdit_ItemClick);rnrnprivate void m_menuEdit_ItemClick(object sender, ToolStripItemClickedEventArgs e)rn rn if (((ContextMenuStrip)sender).Items[0] == e.ClickedItem)rn rn m_DataGridViewPoint.Rows.Remove(m_DataGridViewPoint.CurrentRow);rn rn rnrn奇怪的是,为什么我点击右键弹出菜单的相关选项,m_menuEdit_ItemClick为执行好几次呢?导致m_DataGridViewPoint删除了好几行,大家帮帮忙解释下,怎么解决啊?
为什么cin不能执行多次
我的意思是 在下面的程序中 为什么cin在第二次循环中在不执行了 在线等!!!rnstring author_name,str;rn vector author_works;rn while(1)rn rn cout<<"Please input author's name and works:\n";rn cin>>author_name>>str;//输入作者名和作品rn //if("exit"==author_name)rn // break;rn author_works.push_back(str);rn cout<<"Please input more works:";rn while(cin>>str)//再次输入作品rn author_works.push_back(str);rn cout<::iterator iterv;rn iterv=author_works.begin();rn while(iterv!=author_works.end())rn rn authors.insert(make_pair(author_name,*iterv));rn ++iterv;rn rn
click事件点击一次,执行多次的问题
$("#deleteClueBtn1").click(function(){ var check1 = $("#clueListTbody input[type='checkbox']:checked"); if(check1.size() alert("请选择需要删除的项"); return; } var htmlStr = ""; $.each(check1,function
为什么发送多次相同的Ajax请求,后面不能执行?
问题描述:要实现在地图上模拟一个事故发生的情况,比方说爆炸,那么先在地图上选择“事故点”,这是一个AJAX请求,然后在地图上高亮显示一个点,然后输入相关数据,点“模拟事故”按钮,这是另一个AJAX请求,然后在地图上显示出效果图,比如说是一个圆,然后把地图上的图形清除掉,然后点“重现”按钮,希望得到的结果是刚刚画面的再一次显示,这时候就出问题了。如果我是第一次点“重现”,那么图形(包括“事故点”和“圆”)能正确的出来,如果我是第二次或者第三次或者第四次.....点“重现”,那么出来的只有“圆”,而没有那个“事故点”。这是为什么?rnrn“重现”功能的实现过程:(大概过程,只为方便描述)rn[code=JScript]rnfunction ReShow() rn SelectPoint(url,param,function()callback(););//这是一个AJAX请求,用来显示选择的“事故点”rn Compute(url,param,function()callback(););//这是另一个AJAX请求,用来显示圆的rnrn[/code]rn第一次点“重现”,SelectPoint()可以执行,Compute()也可以执行,结果正确rn第二次点“重现”,SelectPoint()没有执行,即发送的AJAX请求没有在后台执行,那么就没有在地图上显示“事故点”,SelectPoint()执行了,也显示出了圆rn第三次,第四次点“重现”结果和第二次一样,所以就这里不懂为什么会这样,有人说是cookie之类的问题?希望高手能指点迷津。rn注:相关参数是直接从数据库里取出来的,所以每次都是一样的,所以不存在参数不同之类的问题
click点击一次执行多次的问题
$("#id").click(function() { alert(1); }); 点击id元素执行多次alert(1),此处为代码错误,将click事件进行了多次绑定,需解绑后再进行绑定,解决方法如下: $("#id").off("click").on("click",function() {});
click点击一次,执行多次的bug
问题最近做项目为一个添加按钮绑定点击事件,很简单的一个事情,于是我按照通常做法找到元素,使用JavaScript的addEventListener()方法为元素绑定了点击事件,点击同时发送请求。 完成后看效果,第一次点击没有问题。再一次点击后发现发送了两次请求,后面再点击发现请求的数量越来越多。
jquery的事件点击一次执行多次的解决方法
原因: Click事件绑定了多次,只是没有触发执行,故当我触发调用一次时,它便执行多次。 解决的办法是:每次绑定前先取消上次的绑定。$(&quot;#id&quot;).unbind('click').click(function(){},$(&quot;#id&quot;).unbind('click').on(&quot;click&quot;,function(){})...
jquery click点击一次执行多次解决方法
问题: 假如我添加了3次,点击其中一个移除按钮的时候总是出现3次确认框. 假如我添加了5次,点击其中一个移除按钮的时候总是出现5次确认框. 烦都烦死啦~~~   网上找到了一个好的方法:解除绑定,具体使用如下 $('.move_parameter').unbind('click').click(function () { //这里面再执行其它代码就行了. }); 在每...
求助微信一次ajax请求,会访问两次
纯JS ,在电脑上正常,在微信上会请求两次,导致显示不正确的信息rnrn
SqlServer2000+BDE为什么不能执行FILTER?
我写的程序用SqlServer+BDE在执行过滤的时候总是报错!用ODBC则没有问题!rn还有是不是用ODBC就必须安装sqlserver2000的客户端?用BDE是不是就不用了呢?
nginx多次重发请求.前端一次请求,如果后台执行较长时,后台能接收多次请求
如题: 如果你的服务器有用到nginx,同时后台执行较长时,后台就有可能会接收多次请求,前提是先确保前端没有发送多次请求. (因为nginx默认有个机制是当后台达到一定时间(时间根据nginx的配置)而又没有返回信息时,nginx就会尝试重新请求) 对此 有如下两种解决方案: 1. 确定自己项目不要用到nginx重发机制. 那么就直接 server_name 上面加上 proxy_next_...
ISAPI过滤器 为什么OnUrlMap有的时候会连续执行多次
如题
EM_MAILSENDNOTE 监控日历发送事件的时候,为什么会执行多次?
如题,在线等,谢谢各位大神
为什么执行时间比较长时,按钮事件会多次响应?
在做项目中有这样一个问题,点击一个按钮实现从sqlserver数据库到dbf格式数据的导出。当数据量不太大时,按钮时间只响应一次便执行成功,可是当数据量比较大时(50万以上),按钮事件会响应多次,数据量越大,执行的次数就会越多。不知道是否有同仁遇到过相同的问题?
android listview为什么会执行很多次,频繁调用getview
这个问题在前段时间就遇到了,一直不明白怎么回事,那个时候不习惯用debug,debug不得不说是个好东西,直到有点再看到哪里的时候,发现问题依然还在,本就打了一下debug,发现执行了很多次,就很纳闷,为啥呢,仔细看了很多次代码,没发现哪里调了几次,就起1,2个小时还是没有发现问题,就百度了一下,说了很多的就是listview调了很多getview,造成原因说是xml布局高度用的是 wrap_...
Chrome 访问一次 Controller,请求却执行两次
写了一个 Spring Boot 整合 MyBatis Plus 的 demo,相应的配置了 SQL 性能分析插件。当所有代码都写好,访问控制器的时候,发现每发送一个请求,控制台都会输出两次同样的 SQL 分析日志。 没有配置任何拦截器,于是换了个浏览器访问,并没有出现这个问题,上网查了一下才知道是 Chrome 的 JSONView 插件搞的鬼。 只要更改一下 JSONView ...
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件