在SSH框架中使用Filter过滤器要注意以下几点:
比如在完成用户自动登录的时候,使用到Filter来完成自动登录的功能.如果直接在SSH中使用Filter,那么在自己定义的Filter类中的dao,service层的方法都调用不了.
比如
user1 = dao.login(user2);
这个地方直接在Filter自定义的类中调用dao层的login方法的时候会报空指针的异常.
这时候只需要在Filter 自定义类的开头 重新加载applicationContext.xml
//在Filter中注入dao
private static ApplicationContext ctx = new ClassPathXmlApplicationContext(
new String[] {"classpath:applicationContext.xml"});
//获取dao
UserDao dao = (UserDao) ctx.getBean("userDao");