Я бы не использовал контекст sevlet для хранения фабрики сессий. Я бы посмотрел на шаблон open-session-in-view для обработки моих спящих сессий.
Тем не менее, если вы просто хотите устранить ошибку, я предлагаю разбить эту строку кода и посмотреть, что на самом деле там пусто, например:
ServletContext s= request.getSession().getServletContext();
SessionFactory sf = s.getAttribute("sessionFactory");