您的位置:首页 > 其它

自定义一个过滤器无法调用service的方法

2015-12-12 23:12 711 查看
今晚上,在做权限这块的时候,写了一个自定义过滤器来控制权限这块,运行的时候一直报空指针异常,,

我刚开始以为是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对象,,至于为什么不能自动注入,,现在还不知道为什么,,有知道的说一下,,,,

到现在至少这样可以解决一下,,,,,

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: