java.lang.NullPointerException
这么写没问题
        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
Adminservice add = (Adminservice) ac.getBean("adminservice");
Admin ad=add.login(userid, password);这么写就出错,报空指针java.lang.NullPointerException
        Admin ad=adminservice.login(userid, password);package com.pro.action;
public class Adminaction extends BaseAction {
private Adminservice adminservice;
  private String userid;
  private String password;
  
public String login()


// ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
// Adminservice add = (Adminservice) ac.getBean("adminservice");


//System.out.println(add.login(userid,password));
// Admin ad=adminservice.login(userid,password);
   // adminservice=new Adminserviceimpl();
//Admin ad=adminservice.login(userid,password);
Admin ad=adminservice.login(userid, password);
System.out.print(ad.getCode());

return "xxx";
}public Adminservice getAdminservice() {
return adminservice;
}
public void setAdminservice(Adminservice adminservice) {
this.adminservice = adminservice;
}public String getUserid() {
return userid;
}public void setUserid(String userid) {
this.userid = userid;
}public String getPassword() {
return password;
}public void setPassword(String password) {
this.password = password;
}
}<!-- 用户登陆的 -->
<bean id="adminDao" class="com.pro.Daoimpl.AdminDAOimpl">
    <property name="sessionFactory" ref="sessionFactory"></property>
</bean>

<bean id="adminservice" class="com.pro.serviceimpl.Adminserviceimpl">
<property name="admindao" ref="adminDao"></property>
</bean>

<bean id="Adminaction" class="com.pro.action.Adminaction">
<property name="adminservice" ref="adminservice"></property>
</bean>
百度了一个下午也没找出原因受不了了。。

解决方案 »

  1.   

    web.xml中有没有加上<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>你spring文件的位置</param-value>
    </context-param> <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
      

  2.   

    web.xml
    classpath:applicationContext.xml spring文件是放在src 目录下,项目创建的时候默认在web-inf下的,我给它移到src下,不知道有没影响。
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <listener>   
      <listener-class>   
        org.springframework.web.context.ContextLoaderListener   
       </listener-class>   
    </listener>   
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>  <filter>
       <filter-name>struts2</filter-name>
       <filter-class>
       org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
       </filter-class>
      </filter>
      <filter-mapping>
       <filter-name>struts2</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
       <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>*.jsp</url-pattern>
       </filter-mapping>
     
     </web-app>
      

  3.   

    你struts的配置就应该这样写
    <action name="Adminaction" class="Adminaction">spring中bean的id