2018-06-12 22:51

o哦 我知道了,是因为url里面带有点的都给放走了,我计划是通过http://ip:port/webjars/jquery.js这个方式来访问的

2018-06-12 22:35

@JFinal 我是在jboot环境下,其实有配,其他我配置了的请求都能进来,就这个进不来,莫非jboot这个handler的注入方式不一样?

@Override
public void onHandlerConfig(JfinalHandlers handlers) {
handlers.add(new ContextPathHandler("ctxPath"));
handlers.add(new WebJarsHandler());
}

2018-06-12 18:42

其实现在最主要的问题就是我的请求到不了这个handler,因为没有mapping这个路径,现在想了解怎么样才能让handler接管所有的请求,只要域名和端口是对的,到了这个服务的所有请求都走到handler来就能解决

2018-06-12 17:21

我现在handler里面写了关于这个文件的处理,但是路径上我没有配置,比如我判断
public void handle(String target, HttpServletRequest request,
HttpServletResponse response, boolean[] isHandled) {
if (target.contains("/webjars/")) {
String path = StringUtils.substringAfter(target, "/webjars/");
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(path);
OutputStream outputStream = null;
try {
if (inputStream != null) {
outputStream = response.getOutputStream();
IOUtils.copy(inputStream, response.getOutputStream());
}
} catch (IOException e) {
log.error("cant get static resource : " + path + " from jar", e);
} finally {
IOUtils.closeQuietly(inputStream);
IOUtils.closeQuietly(outputStream);
}
isHandled[0] = true;
} else {
this.next.handle(target, request, response, isHandled);
}
}


但是我并不能走到这里,如果路径中带webjars的话,因为我没有在路由中配置,这个需要怎么做才能将 这个webjars请求走进来呢?我参考这个兄弟的https://my.oschina.net/u/2249085/blog/1518126,但是实际使用没有成功@JFinal @海哥

2018-06-12 11:42

多谢海哥回复,我希望建立一个一个单独的项目专门来管理静态资源,那么当我A B 这2个项目都需要的时候,maven怎么去copy呢,与没有例子啊?多谢