Jfinal使用UrlSkipHandler遇到的奇怪问题
问题发生在使用Websocket的时候 , 估计跟websocket关系不大
需要配置拦截器 , 过滤掉 , 所有请求
handler.add(new UrlSkipHandler("/admin/friendchat*|/ca/.*|/se/.*|.*.htm|.*.html|.*.js|.*.css|.*.json|.*.png|.*.gif|.*.jpg|.*.jpeg|.*.bmp|.*.ico|.*.exe|.*.txt|.*.zip|.*.rar|.*.7z", false));
然后请求的时候
后台server地址配置
@ServerEndpoint(value="/admin/friendchat",configurator=GetHttpSessionConfigurator.class)
这个地址 , 没问题 , 可以访问
var ws = new WebSocket("ws://localhost:8080/PointLion/admin/friendchat");
当我 , 往socket传递参数
的时候
handler没问题,不用改
handler.add(new UrlSkipHandler("/admin/friendchat/*|/ca/.*|/se/.*|.*.htm|.*.html|.*.js|.*.css|.*.json|.*.png|.*.gif|.*.jpg|.*.jpeg|.*.bmp|.*.ico|.*.exe|.*.txt|.*.zip|.*.rar|.*.7z", false));
后台server地址
@ServerEndpoint(value="/admin/friendchat/{friend}",configurator=GetHttpSessionConfigurator.class)
js请求地址
var ws = new WebSocket("ws://localhost:8080/PointLion/admin/friendchat/admin");
这样就不行了.............
我跟踪了一下代码
发现 , handler , 的正则表达式, 并不能匹配
感觉好奇怪 , 是不是我这有什么别的问题
这个是可以的
Handler -------- /admin/friendchat*
请求地址--------/admin/friendchat
这是不可以的
Handler -------- /admin/friendchat*
Handler -------- /admin/friendchat/*
Handler -------- /admin/friend*
请求地址--------/admin/friendchat/admin
我是不是正则写的不大对???
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
那我要匹配/admin/friend/admin1,/admin/friend/admin2,/admin/friend/admin3这种的。表达式应该则么写????/admin/friend/这样就可以了吗????
*表示它之前的t可以重复0或多次,即/admin/friendchatt或者/admin/friendcha可以匹配
正则表达式,用错了。。。。。。。。。。。。。。。很尴尬
"/admin/friendchat/(.*?)$|/ca/.*|/se/.*|.*.htm|.*.html|.*.js|.*.css|.*.json|.*.png|.*.gif|.*.jpg|.*.jpeg|.*.bmp|.*.ico|.*.exe|.*.txt|.*.zip|.*.rar|.*.7z"