Jfinal使用UrlSkipHandler遇到的奇怪问题

发布于 2021-12-01 16:47:06 字数 1744 浏览 762 评论 3

问题发生在使用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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

筱果果 2021-12-05 00:25:08

那我要匹配/admin/friend/admin1,/admin/friend/admin2,/admin/friend/admin3这种的。表达式应该则么写????/admin/friend/这样就可以了吗????

葬花如无物 2021-12-04 19:46:07

*表示它之前的t可以重复0或多次,即/admin/friendchatt或者/admin/friendcha可以匹配

韬韬不绝 2021-12-02 14:26:36

正则表达式,用错了。。。。。。。。。。。。。。。很尴尬

"/admin/friendchat/(.*?)$|/ca/.*|/se/.*|.*.htm|.*.html|.*.js|.*.css|.*.json|.*.png|.*.gif|.*.jpg|.*.jpeg|.*.bmp|.*.ico|.*.exe|.*.txt|.*.zip|.*.rar|.*.7z"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文