各位大神速来求助,我在过滤器里面拿到redis数据库的值,总是报空指针
辉家大少 2018-03-29 06:10:15 过滤器:
package com.orhonit.ipb.portal.configuration;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
public class PwTfTempUserFilter implements Filter{
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO Auto-generated method stub
System.err.println("过滤器执行了");
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse rep = (HttpServletResponse) response;
String token = req.getHeader("token");
if(token == null){
rep.sendError(401, "没有token");
return;
}
System.out.println(token);
String id = (String) redisTemplate.opsForValue().get("PwTfTempUser:"+token);
System.out.println(id);
req.getSession().setAttribute("TempUser", id);
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
String id = (String) redisTemplate.opsForValue().get("PwTfTempUser:"+token);这句一直报空指针
依赖注入没问题,我在别的地方这个方法就可以用,为什么?