SMM整合页面初始化加载

SMM整合页面初始化加载

web.xml需要配置

 
 
 
      com.lyj.listener.InitBloggerData
 

applicationContext.xml需要配置

 
    
    

spring-mvc.xml需要配置


    

重点是Listener的代码

package com.lyj.listener;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

import com.lyj.entity.Blogger;
import com.lyj.service.BloggerService;

@Component //注意这个一定要
public class InitBloggerData implements ServletContextListener,ApplicationContextAware {

    public void setApplicationContext(ApplicationContext applicationContext)
            throws BeansException {
        InitBloggerData.applicationContext=applicationContext;
    }
    
    private static ApplicationContext applicationContext;
    
    public void contextInitialized(ServletContextEvent sce) {
        
        System.out.println(applicationContext);
        //先获取servlet上下文
        ServletContext application=sce.getServletContext();
        
        //根据spring的上下文获取bloggerService这个bean
        BloggerService bloggerService=(BloggerService) applicationContext.getBean("bloggerService");
        //获取博主信息
        Blogger blogger=bloggerService.getBloggerData();
        //由于密码也获取到了,比较敏感,我们也不需要这个,所以把密码清空掉
        blogger.setPassword(null);
        //将博主信息存入application域中
        application.setAttribute("blogger", blogger);
    }
    

    public void contextDestroyed(ServletContextEvent sce) {
        
    }

}

这四个重点缺一个都会报错

常见的错误是
严重: Exception sending context initialized event to listener instance of class com.lyj.listener.InitBloggerData
java.lang.NullPointerException

意思就是说初始化事件的时候出现了异常了 
一般情况下是因为缺少了某一个包导致的,我猜你现在是缺少了common-pool.jar这个jar包,如果你项目里面有这个包了,看看版本对不对,版本不对也会导致这样的问题。 
异常处理一般按这样的流程去处理(呵呵,这个是我自己的流程,反正我是这样来处理的) 
1,先检查是否导入了项目所需要的全部Jar包 
2,检查导入的jar包的版本对不对 
3,检查路径是否正确,有些时候applicationContext.xml 这个文件找不到,只要先放到classes下面先就能找到了 
4,如果都没问题,那就一步一步debug,看看到底到了哪里的时候抛出异常了 

本文来自我的ssm博客 http://iclyj.cn

你可能感兴趣的:(ssm)