求助。。。在线等
filter里面进行操作,然后通过跳转到mian页面,但是看日志,获取的路径都没有问题,但是在request.getRequestDispatcher("/").forward(request,response);的时候为什么没有走main,走的是tologin呢,真心求教,谢谢!!!!!在线等
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)servletRequest;
HttpServletResponse response = (HttpServletResponse)servletResponse;
ServletContext sc = request.getSession().getServletContext();
XmlWebApplicationContext cxt = (XmlWebApplicationContext)WebApplicationContextUtils.getWebApplicationContext(sc);
if(cxt != null && cxt.getBean("userService") != null && userService == null)
userService = (UserService) cxt.getBean("userService");
User user = (User) request.getSession().getAttribute(DsrcmConstant.CURRENT_USER);
String path = request.getServletPath();
logger.debug(path);
if(Common.isEmpty(user) && !ArrayUtils.contains(filterUrls, path)){
/*HttpServletRequest httpRequest = (HttpServletRequest) request;*/
String uid = request.getHeader("OAM_REMOTE_USER");
logger.debug(uid);
logger.debug("2");
if(StringUtils.isNotBlank(uid)){
user = userService.queryUserDetail(uid);
logger.debug("3");
if(user!=null){//认证通过
logger.debug("4");
user.setUserNameCn(user.getUserName());
try {
userService.initUserSession(request, user);
logger.debug(user.getUserNameCn());
} catch (DocumentException e) {
e.printStackTrace();
}
request.getRequestDispatcher("/").forward(request,response);
logger.debug(request.getRequestURL());
logger.debug("5");
//return false;
}
}