过滤器会拦截 前端页面加载 js文件的请求
学艺不精啊.....之前就总结过博客:
JAVA中解决Filter过滤掉css,js,图片文件等问题
结果现在又犯了老错误~
情况如下:
index.jsp 页面的验证码输入栏绑定了异步验证(jQurey实现),当输入内容发生变化时,异步去后台验证输入是否正确。
$(function(){
$("#a").bind('input propertychange',function () {
var registName=this.value;
var param={"method":"checkRegistName","registName":registName};
$.get("User.do",param,function(data){
if(data!="1"){
$(this).parent().children("span").html("用户名可以使用");
}else{
$(this).parent().children("span").html("用户名已被占用");
}
}.bind(this))
//ajax中的回调函数直接用this不灵,解决办法是使用bind(this)绑定this到当前事件。
});
}
但是当项目加入了登录验证(过滤器)后,发现这个验证失效了。
经过检查发现,过滤器会拦截 页面对 js文件的请求。
过滤器中加入如下代码:
System.out.println( "登录验证过滤器 loginFilter" );
String url = httpRequest.getServletPath();
System.out.println("经过过滤器的请求url为 "+url);
访问页面,工作台输出如下:
登录验证过滤器 loginFilter
经过过滤器的请求url为 /index.jsp
登录验证过滤器 loginFilter
经过过滤器的请求url为 /js/jquery.js
登录验证过滤器 loginFilter
经过过滤器的请求url为 /yanzheng
其中 “index.jsp” 为访问的页面, “/js/jquery.js”为index.jsp 中加载的js文件,“/yanzheng”是验证码图片获取时访问的后台severlet地址。
因此,前端 jQuery实现的ajax没有正常工作。
因此在过滤器中加入对 js 文件的判断,
if("/index.jsp".equals(url) |"/yanzheng".equals(url)|"/js/jquery.js".equals(url)){
chain.doFilter(request, response);
}
~问题解决了
过滤器会拦截 前端页面加载 js文件的请求的更多相关文章
- 在HTML页面中加载js文件和css文件的方法
1.在HTML页面加载js文件的方法: function loadScriptFile(filePath){ var script = document.createElement("scr ...
- 网页加载速度优化2--先加载css,然后再加载js文件。
网页加载时,是按从上到下,从左到右的顺序加载的.所以一定要先加载css文件(不要让用户看到一个杂乱无章的页面),最后再加载js文件,js一般都是处理功能的,所以不需要提前加载.先给用户观感,再给用户上 ...
- 如何动态加载js文件,$.getScript()方法的使用
有时候我们需要动态在页面中加载js文件,jquery封装了getScript()方法,不用自己再创建标签了. 写法: $.getScript("name.js",function( ...
- 网页性能优化之异步加载js文件
一个网页的有很多地方可以进行性能优化,比较常见的一种方式就是异步加载js脚本文件.在谈异步加载之前,先来看看浏览器加载js文件的原理. 浏览器加载 JavaScript 脚本,主要通过<scri ...
- 动态加载js文件
由于最近在弄echarts,关于地图类的效果,但是全国地图整体的js文件太大了,加载很耗费资源,所以要根据不同省份加载不同地区的js地图, 于是就想的比较简单, var script = docume ...
- 动态加载JS文件,并根据JS文件的加载状态来执行自己的回调函数
动态加载JS文件,并根据JS文件的加载状态来执行自己的回调函数, 在很多场景下,我们需要在动态加载JS文件的时候,根据加载的状态来进行后续的操作,需要在JS加载成功后,执行另一方法,这个方法是依托在加 ...
- ExtJS4.x动态加载js文件
动态加载js文件是ext4.x的一个新特性,可以有效的减少浏览器的压力,提高渲染速度.如动态加载自定义组件 1.在js/extjs/ux目录下,建立自定义组件的js文件. 2.编写MyWindow.j ...
- Ext JS学习第十天 Ext基础之动态加载JS文件(补充)
此文用来记录学习笔记: •Ext4.x版本提供的一大亮点就是Ext.Loader这个类的动态加载机制!只要遵循路径规范,即可动态加载js文件,方便把自己扩展组件动态加载进来,并且减轻浏览器的压力. • ...
- angularLoad(用以异步加载js文件)
angularLoad(用以异步加载js文件) 使用方法: 1.执行命令 下载 lib npm install angular-load --save 2.index.html引用js <scr ...
随机推荐
- Diocp截图
跑了个数据库的查询和插入,删除. Http SVR DEMO http://123.232.98.202:8081/
- mxnet:基础知识和一个简单的示例
NDArray与NumPy的多维数组类似,但NDArray提供了更多的功能:GPU和CPU的异步计算:自动求导.这使得NDArray能更好地支持机器学习. 初始化 from mxnet import ...
- Odoo 去掉 恼人的 "上午"和"下午"
- c++中局部变量初始化的问题
在C语言里,全局变量如果不初始化的话,默认为0,也就是说在全局空间里: int x =0; 跟 int x; 的效果看起来是一样的.但其实这里面的差别很大,强烈建议大家所有的全局变量都要初始化,他们的 ...
- Java知多少(41)泛型详解
我们知道,使用变量之前要定义,定义一个变量时必须要指明它的数据类型,什么样的数据类型赋给什么样的值. 假如我们现在要定义一个类来表示坐标,要求坐标的数据类型可以是整数.小数和字符串,例如: x = 1 ...
- supervisor的command执行两条命令
如下supervisor的进程的comand配置参数只能写一个命令 1.要执行多条命令,可以写个sh文件包含多条命令,然后sh -x xxxx.sh,但这样又多了一个文件, 2.把所有命令放在字符 ...
- [Object Tracking] Overview of algorithms for Object Tracking
From: https://www.zhihu.com/question/26493945 可以载入史册的知乎贴 目标跟踪之NIUBILITY的相关滤波 - 专注于分享目标跟踪中非常高效快速的相关滤波 ...
- [JS] JS Basic : compare with c#
Ref: React从入门到精通视频教程 Ref: C# 教程 Ref: [Unity3D] C# Basic : Gameplay Scripting /* 之前的js总结有点low, 这次通过对比 ...
- [Node.js] 06 - Multi-thread and process module
课前阅读:关于Node.js后端架构的一点后知后觉 书推荐:<Node.js design patterns> 衍生问题: 微服务的必要性,Flux架构 容错性和拓展性 一.立体拓展 假设 ...
- [AWS] Serverless
先来个热身 一整套方案,构建移动消息收发应用程序 (iOS) 要实现的目标: 使用 AWS Mobile Hub 为聊天应用程序配置移动云计算后端基础设施. 使用 Amazon Cognito 配置适 ...