druid数据源问题

集成了druid之后,配置了Druid的监控。但是登录的时候提示404 Action Not Found: /druid/submitLogin。我看Jfinal 对StatViewServlet进行了封装。该怎么配置才能正常访问呢?

<>
  <>DruidStatView</>
  <>com.alibaba.druid.support.http.StatViewServlet</>
  <>
    <>resetEnable</>
    <>true</>
  </>
  <>
      <>loginUsername</>
      <>mapedu</>
  </>
  <>
      <>loginPassword</>
      <>mapedu20200610</>
  </>
</>
<>
  <>DruidStatView</>
  <>/druid/*</>
</>

这是我目前的配置。求助

评论区

JFinal

2020-06-10 15:39

jfinal 俱乐部项目的配置如下:
public void configHandler(Handlers me) {
me.add(DruidKit.getDruidStatViewHandler()); // druid 统计页面功能
}

public static DruidStatViewHandler getDruidStatViewHandler() {
return new DruidStatViewHandler("/assets/druid", new IDruidStatViewAuth() {
public boolean isPermitted(HttpServletRequest request) {
String sessionId = getCookie(request, LoginService.sessionIdName);
if (sessionId != null) {
Account loginAccount = loginSrv.getLoginAccountWithSessionId(sessionId);
return AuthCacheClearInterceptor.isAdmin(loginAccount);
}
return false;
}
});
}

访问地址:
localhost/assets/druid

按照上面的办法基本照抄就可以

JFinal

2020-06-10 15:40

补一下,还需要为 DruidPlugin 添加一个 filter:
druidPlugin.addFilter(new StatFilter());

jfinal初识

2020-06-10 16:37

@JFinal 问题是怎么才能没有登录的情况下跳转到login.html啊,isRequireAuth()总是false啊,servlet中的init方法没有执行啊

JFinal

2020-06-10 17:02

@jfinal初识 我给的代码是我的用法,你可以直接 return true

public static DruidStatViewHandler getDruidStatViewHandler() {
return new DruidStatViewHandler("/assets/druid", new IDruidStatViewAuth() {
public boolean isPermitted(HttpServletRequest request) {
return true;
}
});
}

这里是给了你一个可以控制访问者权限的接口,怎么控制就看你的想象力了,不想控制就无条件 return true;

热门反馈

扫码入社