一 目前jetty已升级到9+ 希望官方能直接集成WebSocket
二 希望可以自定义一组超类用于ActionMapping 中的排除非action方法
三 希望能知道下 jetty下WebSocket除了这种一个个加还有什么好办法没
ServerContainer wscontainer = WebSocketServerContainerInitializer.configureContext(webApp);
//自行扫描获取 class数组 遍历加入
wscontainer.addEndpoint(clazz);
另外这么加了以后貌似 热加载没生效
项目:JFinal
public class WebSocketHandler extends Handler {
private Pattern filterUrlRegxPattern;
public WebSocketHandler(String filterUrlRegx) {
if (StrKit.isBlank(filterUrlRegx))
throw new IllegalArgumentException("The para filterUrlRegx can not be blank.");
filterUrlRegxPattern = Pattern.compile(filterUrlRegx);
}
@Override
public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) {
if (filterUrlRegxPattern.matcher(target).find())
return ;
else
next.handle(target, request, response, isHandled);
}
}
作用应该是给"^/websocket"(这个路径进行放行。)
2、做排除非action方法用@NotAction,如果想自定义一个超类完全可以自己定义,ActionHandle已开放,在做自定义处理超类时,记得在项目配置文件中配置把ActoinHandle更换下.me.setActionHandle(MyActionHandle);