今晚上,在做权限这块的时候,写了一个自定义过滤器来控制权限这块,运行的时候一直报空指针异常,,
我刚开始以为是spring没有注入呢,,我就看了一下,,结果还是不行,,,,,通过排查,代码没有写错,是spring注入问题,,应该和过滤器有关系,
我就尝试通过获取bean工厂看看,里面是否已经存在对象了,,,,
贴一下代码:
ApplicationContext ac =
WebApplicationContextUtils.getWebApplicationContext(req.getSession().getServletContext());
UserFilterService userFilterService = (UserFilterService)ac.getBean("userFilterService");
boolean roleFalg = userFilterService.getRoleResult(userInfo, ac);
System.out.println("uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu=" + userFilterService);
if (roleFalg)
{
//具有后台角色的继续通过
chain.doFilter(req, res);
}
else
{
//不具备访问后台的角色的不给通过,跳转到登陆界面
res.sendRedirect(basePath + "/login.xhtml");
}
上面的通过bean工厂可以获取userFilterService对象,,至于为什么不能自动注入,,现在还不知道为什么,,有知道的说一下,,,,
到现在至少这样可以解决一下,,,,,