问题是这样的:
    在输入完信息后登陆,都会有空指针异常~~~我觉得是没有注入来~~~怎么解决不知道~~~无奈了~~~applicationContext.xml
---------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <!-- 定义数据源 -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 定义数据库驱动 -->
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<!-- 定义数据库url -->
<property name="url">
<value>jdbc:oracle:thin:@127.0.0.1:1521:XE</value>
</property>
<!-- 定义数据库用户名 -->
<property name="username">
<value>openlab</value>
</property>
<!-- 定义数据库密码 -->
<property name="password">
<value>open123</value>
</property>
</bean>

<!-- 定义一个hibernate的SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 定义SessionFactory必需注入DataSource -->
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<!-- 以下用来列出所有的PO映射文件 -->
<value>/entity/User.hbm.xml</value>
<value>/entity/Admin.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<!-- 此处用来定义hibernate的SeesionFactory的属性:
不同数据库联接启动时选择create,update,create-drop -->
<prop key="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</prop>
<prop key="hibernate.hbm2ddl.auto">none</prop>
</props>
</property>
</bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean> <bean id="userDao" class="dao.UserDaoImpl">
  <property name="sessionFactory" ref="sessionFactory"/> </bean>

<bean id="us" class="service.UserService">
<property name="udi">
<ref bean="userDao"/>
</property>
</bean>

<bean id="la" class="actions.LoginAction">
<property name="udi" >
<ref bean="userDao" />
</property>
<property name="us">
<ref bean="us"/>
</property>
</bean>

<bean id="ts" class="present.Test">
<property name="udi" >
<ref bean="userDao"/>
</property>
</bean>

<bean name="/login" class="actions.LoginAction">
<property name="udi">
<ref bean="userDao"/>
</property>
<property name="us">
<ref bean="us"/>
</property>
</bean>

<bean id="chinese" class="Chinese">
<property name="axe">
<ref local="stoneAxe"/>
</property>
</bean>

<bean id="stoneAxe" class="StoneAxe" />
</beans>struts-config.xml
------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
  <data-sources />
  <form-beans >
   <form-bean name="loginForm" type="form.LoginForm" />
  </form-beans>
  <global-exceptions />
  <global-forwards />
  <action-mappings >
   <action path="/login" name="loginForm" validate="false" scope="request" input="login.jsp">
            <forward name="success" path="/pages/success.jsp" />
            <forward name="fail" path="/pages/fail.jsp" />
    </action>        
  </action-mappings>
  <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller>
  <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
  <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
   <set-property property = "contextConfigLocation" value="/WEB-INF/applicationContext.xml"/>
  </plug-in>
</struts-config>LoginAction.java
----------------------------------------------------------------
package actions;import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import dao.UserDaoImpl;import entity.Person;
import entity.User;
import form.LoginForm;import service.UserService;public class LoginAction extends Action{
private UserService us ;
private UserDaoImpl udi;

    public void setUdi(UserDaoImpl udi) {
this.udi = udi;
} public void setUs(UserService us) {
this.us = us;
} public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
   System.out.println(us);
   System.out.println(udi);
   List list = udi.get();
   System.out.println(list.size());
   LoginForm user = (LoginForm) form;
   System.out.println(user);
   String name = user.getName();
   String password = user.getPassword();
   String type = user.getType();
   System.out.println(name+password+type);
   System.out.println(name);
   System.out.println(password);
   Person user1 = us.login(name, password,type);
   System.out.println(user1);
   if (user1 != null){
    request.setAttribute("user", user);
    request.setAttribute("userlist", list);
            return mapping.findForward("success");
   } else {
            return mapping.findForward("fail");
   }}
}UserDaoImpl.java
----------------------------------------------------------------------
package dao;import java.util.List;import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;import entity.Admin;
import entity.Person;
import entity.User;
public class UserDaoImpl implements UserDao {
private HibernateTemplate hibernateTemplate;
public List get() {
// TODO Auto-generated method stub
return getHibernateTemplate().find("from User");
}
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
public void add(User user) {
getHibernateTemplate().save(user);
// TODO Auto-generated method stub

}
public Person getByName(String name,String type){
Person person = null;
if(type.equals("0")){
person = (User) getHibernateTemplate().find("from Admin a where a.name like ?",name);
}else{
person = (Admin)getHibernateTemplate().find("from User u where u.name like ?",name);
}
return person;
}

public void delete(long id) {
// TODO Auto-generated method stub
Object p = getHibernateTemplate().load(User.class, id);
getHibernateTemplate().delete(p);
}
}各位帮帮忙啊!!!!

解决方案 »

  1.   

    报的异常是:
    -----------------------------------------------------------------------------
    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException
    org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause java.lang.NullPointerException
    dao.UserDaoImpl.get(UserDaoImpl.java:17)
    actions.LoginAction.execute(LoginAction.java:38)
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.
    --------------------------------------------------------------------------------Apache Tomcat/5.5.25UserService.java
    --------------------------------------------------------------------------
    package service;import dao.UserDaoImpl;
    import entity.Person;
    import entity.User;public class UserService {
    private UserDaoImpl udi;

    public void setUdi(UserDaoImpl udi) {
    this.udi = udi;
    } public Person login(String name, String password,String type){
    Person user = udi.getByName(name,type);
    if(user == null){
    return null;
    }else if(user.getLogin_password().equals(password)){
    return user;
    }
    return null;
    }
    }
      

  2.   

    <value>/entity/User.hbm.xml </value>
    <value>/entity/Admin.hbm.xml </value> 前面的/去掉
      

  3.   

    web.xml
    -------------------------------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
          <param-name>debug</param-name>
          <param-value>3</param-value>
        </init-param>
        <init-param>
          <param-name>detail</param-name>
          <param-value>3</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
        <welcome-file>/pages/index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
      

  4.   

    先建一个java控制台看看配置文件是否正确,如果正确,检查一下struts-cofig.xml里面的type那一段是否改成了spring的代理