首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
有哪位大神玩过jfinal+webjars?请教怎么玩?
jasonbob
2018-06-12 00:57
用jboot-admin做项目,多个项目并行,想将静态资源统一编写,希望集成webjars,不知道哪位哪位大神有实际操作过?
@JFinal
项目:
jboot
评论区
海哥
2018-06-12 08:54
想将静态资源统一编写,配置好maven就可以了,在maven编译的过程中对静态资源统一拷贝到需求的maven模块。
不知道webjars是啥,没玩过
回复
jasonbob
2018-06-12 11:42
多谢海哥回复,我希望建立一个一个单独的项目专门来管理静态资源,那么当我A B 这2个项目都需要的时候,maven怎么去copy呢,与没有例子啊?多谢
回复
jasonbob
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
@海哥
回复
JFinal
2018-06-12 18:02
还没玩过 webjars,建议找找相关资料
或者不使用 webjars,而是用下面这几种方式:
http://www.jfinal.com/share/860
http://www.jfinal.com/share/786
http://www.jfinal.com/share/422
回复
jasonbob
2018-06-12 18:42
其实现在最主要的问题就是我的请求到不了这个handler,因为没有mapping这个路径,现在想了解怎么样才能让handler接管所有的请求,只要域名和端口是对的,到了这个服务的所有请求都走到handler来就能解决
回复
JFinal
2018-06-12 18:45
@jasonbob
handler 天然就是接管所有请求的,没有接管,应该是你没配置:
me.add(new MyHandler())
回复
jasonbob
2018-06-12 22:35
@JFinal
我是在jboot环境下,其实有配,其他我配置了的请求都能进来,就这个进不来,莫非jboot这个handler的注入方式不一样?
@Override
public void onHandlerConfig(JfinalHandlers handlers) {
handlers.add(new ContextPathHandler("ctxPath"));
handlers.add(new WebJarsHandler());
}
回复
jasonbob
2018-06-12 22:51
o哦 我知道了,是因为url里面带有点的都给放走了,我计划是通过http://ip:port/webjars/jquery.js这个方式来访问的
回复
JFinal
2018-06-12 22:53
@jasonbob
jboot 内部好像还有 handler,可能有干扰,对于带点的请求 jfinal 的 handler 也是能接管的,总之 handler 可以接管所有请求
回复
海哥
2018-06-14 08:57
@JFinal
@jasonbob
Jboot内置的handler可能在前面了,你添加handler的时候可以指定下索引。jboot的handler只是模仿了jfinal的handler,针对有点(.)的url进行过滤而已。
回复
发送
我要反馈
热门反馈
扫码入社
不知道webjars是啥,没玩过