ssh 报java.lang.NullPointerException 错误

程序十八大 2015-01-06 04:35:36
jsp页面
<body>
<form action="user/login.action" method="post">
<input type="submit" value="确定" id="confirm"/>
</form>

</body>

struts.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="user" extends="json-default" namespace="/user">
<action name="login" class="com.linky.action.UserAction" method="fandAll">
<result name="success" type="json"></result>
</action>

</package>
</struts>

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"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">


<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url"
value="jdbc:mysql://127.0.0.1:4000/mysql">
</property>
<property name="username" value="root"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/linky/entity/Product.hbm.xml</value>
<value>com/linky/entity/Number.hbm.xml</value></list>
</property>

</bean>

<!-- DAO bean -->

<bean id="ProductDAO" class="com.linky.dao.ProductDAOImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

<!-- DAO bean end -->

<!-- service bean-->
<bean id="UserService" class="com.linky.service.UserServiceImpl">
<property name="productDao">
<ref bean="ProductDAO"/>
</property>
</bean>
<!-- service bean end -->

<!-- action bean-->
<bean id="UserAction" class="com.linky.action.UserAction">
<property name="userService">
<ref bean="UserService"/>
</property>
</bean>
<!-- action bean end -->

</beans>
UserAction 类
package com.linky.action;


import com.linky.service.UserService;
import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {
private UserService userService;
private String mes;
public UserService getUserService() {
return userService;
}

public void setUserService(UserService userService) {
this.userService = userService;
}


public String getMes() {
return mes;
}

public void setMes(String mes) {
this.mes = mes;
}
public String fandAll(){
System.out.println("ssss");
try{
userService.getAllProduct();
}catch (Exception e) {
// TODO: handle exception
mes="error";
System.out.println("错误");
System.out.println(e);
}
return SUCCESS;
}


}
报这样的错误
ssss
错误
java.lang.NullPointerException






...全文
198 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
小伙要自信 2015-01-07
  • 打赏
  • 举报
回复
楼主,这是启动时报的错误信息?看起来是struts加载配置文件时报错;还有这是全部信息吗?要全部信息!!!
程序十八大 2015-01-06
  • 打赏
  • 举报
回复
Unable to load configuration. - [unknown location] at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:428) at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4638) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1366) at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1454) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:295) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1379) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1537) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1547) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1526) at java.lang.Thread.run(Thread.java:722)
乔不思 2015-01-06
  • 打赏
  • 举报
回复
你把异常信息全部贴出来。。。
程序十八大 2015-01-06
  • 打赏
  • 举报
回复
简化了还是报错 [color=#FF0000]applicationContext.xml设置[/color] <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://127.0.0.1:4000/mysql"> </property> <property name="username" value="root"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>com/linky/entity/Product.hbm.xml</value> </list> </property> </bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> </bean> <bean id="productDAO" class="com.linky.dao.ProductDAOImpl"> <property name="hibernateTemplate"> <ref bean="hibernateTemplate"/> </property> </bean> <bean id="userAction" class="com.linky.action.UserAction"> <property name="productDAO"> <ref bean="productDAO"/> </property> </bean> </beans> UserAction action类代码 package com.linky.action; import com.linky.dao.ProductDAO; import com.linky.dao.ProductDAOImpl; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { private ProductDAO productDAO; public ProductDAO getProductDAO() { return productDAO; } public void setProductDAO(ProductDAO productDAO) { this.productDAO = productDAO; } private String mes; public String getMes() { return mes; } public void setMes(String mes) { this.mes = mes; } public String fandAll(){ System.out.println("ssss"); try{ productDAO=new ProductDAOImpl(); int i= productDAO.findAll().size(); System.out.println("数组"+i); }catch (Exception e) { // TODO: handle exception mes="error"; System.out.println("错误"); System.out.println(e); } return SUCCESS; } } ProductDAO 接口代码 package com.linky.dao; package com.linky.dao; import java.util.List; import com.linky.entity.Product; public interface ProductDAO { // property constants public static final String NAME = "name"; public static final String SUPPLIER = "supplier"; public static final String TYPE = "type"; public static final String VERSIONS = "versions"; public static final String SPECIFICATION = "specification"; public static final String COLOR = "color"; public static final String SIZE = "size"; public static final String AGREEMENT = "agreement"; public static final String REMARK = "remark"; public abstract List findAll(); } ProductDAOImpl 接口实现类代码 package com.linky.dao; import java.sql.Timestamp; import java.util.List; import org.hibernate.LockMode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.linky.entity.Product; /** * A data access object (DAO) providing persistence and search support for * Product entities. Transaction control of the save(), update() and delete() * operations can directly support Spring container-managed transactions or they * can be augmented to handle user-managed Spring transactions. Each of these * methods provides additional information for how to configure it for the * desired type of transaction control. * * @see com.linky.entity.Product * @author MyEclipse Persistence Tools */ public class ProductDAOImpl extends HibernateDaoSupport implements ProductDAO { private static final Logger log = LoggerFactory.getLogger(ProductDAOImpl.class); protected void initDao() { // do nothing } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findAll() */ public List findAll() { log.debug("finding all Product instances"); try { String queryString = "from Product"; return getHibernateTemplate().find(queryString); } catch (RuntimeException re) { log.error("find all failed", re); throw re; } } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#attachDirty(com.linky.entity.Product) */ public void attachDirty(Product instance) { log.debug("attaching dirty Product instance"); try { getHibernateTemplate().saveOrUpdate(instance); log.debug("attach successful"); } catch (RuntimeException re) { log.error("attach failed", re); throw re; } } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#attachClean(com.linky.entity.Product) */ public void attachClean(Product instance) { log.debug("attaching clean Product instance"); try { getHibernateTemplate().lock(instance, LockMode.NONE); log.debug("attach successful"); } catch (RuntimeException re) { log.error("attach failed", re); throw re; } } public static ProductDAO getFromApplicationContext(ApplicationContext ctx) { return (ProductDAO) ctx.getBean("ProductDAO"); } } 页面显示效果 {"mes":"error","productDAO":{"hibernateTemplate":null,"sessionFactory":null}} myeclipse打印错误: ssss 错误 java.lang.NullPointerException
程序十八大 2015-01-06
  • 打赏
  • 举报
回复
还是不行! 你的QQ是什么。我加你QQ好友好么?
  • 打赏
  • 举报
回复
引用 7 楼 san_dunfan 的回复:
[quote=引用 2 楼 pow8368684 的回复:] 我明明都用spring 的aop切入了。为什么还要实例化?
AOP的意思是面向方面编程。AOP和实例化?你说的应该是DI或者是IOC。所以,楼上说的让你实例化一下,报错应该就没有了。如果不实例化,那应该加上@autowired或者@resource,让spring去认识到这里需要注入对应的实例[/quote] 他都已经自己定义bean了 就不用,@了
san_dunfan 2015-01-06
  • 打赏
  • 举报
回复
引用 2 楼 pow8368684 的回复:
我明明都用spring 的aop切入了。为什么还要实例化?
AOP的意思是面向方面编程。AOP和实例化?你说的应该是DI或者是IOC。所以,楼上说的让你实例化一下,报错应该就没有了。如果不实例化,那应该加上@autowired或者@resource,让spring去认识到这里需要注入对应的实例
程序十八大 2015-01-06
  • 打赏
  • 举报
回复
我都该小写了 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://127.0.0.1:4000/mysql"> </property> <property name="username" value="root"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>com/linky/entity/Product.hbm.xml</value> <value>com/linky/entity/Number.hbm.xml</value></list> </property> </bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="userProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager"/> </property> <property name="target"> <ref bean="productDAO"/> </property> </bean> <bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager"/> </property> <property name="target"> <ref bean="productDAO"/> </property> </bean> <bean id="productDAO" class="com.linky.dao.ProductDAOImpl"> <property name="hibernateTemplate"> <ref bean="hibernateTemplate"/> </property> </bean> <bean id="userAction" class="com.linky.action.UserAction"> <property name="productDAO"> <ref bean="userProxy"/> </property> </bean> </beans> 页面显示的效果 {"mes":"error","productDAO":{"hibernateTemplate":null,"sessionFactory":null}}
  • 打赏
  • 举报
回复
<bean id="userService" class="com.linky.service.UserServiceImpl"> <property name="productDao"> <ref bean="ProductDAO"/> </property> </bean> 开头必须小写
程序十八大 2015-01-06
  • 打赏
  • 举报
回复
报错 ssss bbbb 调用DAO错误:java.lang.NullPointerException
程序十八大 2015-01-06
  • 打赏
  • 举报
回复
Service类[b][/b] package com.linky.service; import java.util.ArrayList; import java.util.List; import com.linky.dao.ProductDAO; import com.linky.dao.ProductDAOImpl; import com.linky.entity.Product; public class UserServiceImpl implements UserService { private ProductDAO productDao; public void setProductDao(ProductDAO productDao) { this.productDao = productDao; } /* (non-Javadoc) * @see com.linky.service.UserService#getAllProduct() */ public ArrayList<Product> getAllProduct(){ System.out.println("bbbb"); productDao=new ProductDAOImpl(); try{ productDao.findAll(); }catch (Exception e) { // TODO: handle exception System.out.println("调用DAO错误:"+e); } return null; } } DAO类 package com.linky.dao; import java.sql.Timestamp; import java.util.List; import org.hibernate.LockMode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.linky.entity.Product; /** * A data access object (DAO) providing persistence and search support for * Product entities. Transaction control of the save(), update() and delete() * operations can directly support Spring container-managed transactions or they * can be augmented to handle user-managed Spring transactions. Each of these * methods provides additional information for how to configure it for the * desired type of transaction control. * * @see com.linky.entity.Product * @author MyEclipse Persistence Tools */ public class ProductDAOImpl extends HibernateDaoSupport implements ProductDAO { private static final Logger log = LoggerFactory.getLogger(ProductDAOImpl.class); protected void initDao() { // do nothing } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#save(com.linky.entity.Product) */ public void save(Product transientInstance) { log.debug("saving Product instance"); try { getHibernateTemplate().save(transientInstance); log.debug("save successful"); } catch (RuntimeException re) { log.error("save failed", re); throw re; } } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#delete(com.linky.entity.Product) */ public void delete(Product persistentInstance) { log.debug("deleting Product instance"); try { getHibernateTemplate().delete(persistentInstance); log.debug("delete successful"); } catch (RuntimeException re) { log.error("delete failed", re); throw re; } } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findById(java.lang.Integer) */ public Product findById(java.lang.Integer id) { log.debug("getting Product instance with id: " + id); try { Product instance = (Product) getHibernateTemplate().get( "com.linky.entity.Product", id); return instance; } catch (RuntimeException re) { log.error("get failed", re); throw re; } } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findByExample(com.linky.entity.Product) */ public List findByExample(Product instance) { log.debug("finding Product instance by example"); try { List results = getHibernateTemplate().findByExample(instance); log.debug("find by example successful, result size: " + results.size()); return results; } catch (RuntimeException re) { log.error("find by example failed", re); throw re; } } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findByProperty(java.lang.String, java.lang.Object) */ public List findByProperty(String propertyName, Object value) { log.debug("finding Product instance with property: " + propertyName + ", value: " + value); try { String queryString = "from Product as model where model." + propertyName + "= ?"; return getHibernateTemplate().find(queryString, value); } catch (RuntimeException re) { log.error("find by property name failed", re); throw re; } } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findByName(java.lang.Object) */ public List findByName(Object name) { return findByProperty(NAME, name); } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findBySupplier(java.lang.Object) */ public List findBySupplier(Object supplier) { return findByProperty(SUPPLIER, supplier); } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findByType(java.lang.Object) */ public List findByType(Object type) { return findByProperty(TYPE, type); } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findByVersions(java.lang.Object) */ public List findByVersions(Object versions) { return findByProperty(VERSIONS, versions); } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findBySpecification(java.lang.Object) */ public List findBySpecification(Object specification) { return findByProperty(SPECIFICATION, specification); } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findByColor(java.lang.Object) */ public List findByColor(Object color) { return findByProperty(COLOR, color); } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findBySize(java.lang.Object) */ public List findBySize(Object size) { return findByProperty(SIZE, size); } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findByAgreement(java.lang.Object) */ public List findByAgreement(Object agreement) { return findByProperty(AGREEMENT, agreement); } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findByRemark(java.lang.Object) */ public List findByRemark(Object remark) { return findByProperty(REMARK, remark); } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#findAll() */ public List findAll() { log.debug("finding all Product instances"); try { String queryString = "from Product"; return getHibernateTemplate().find(queryString); } catch (RuntimeException re) { log.error("find all failed", re); throw re; } } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#merge(com.linky.entity.Product) */ public Product merge(Product detachedInstance) { log.debug("merging Product instance"); try { Product result = (Product) getHibernateTemplate().merge( detachedInstance); log.debug("merge successful"); return result; } catch (RuntimeException re) { log.error("merge failed", re); throw re; } } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#attachDirty(com.linky.entity.Product) */ public void attachDirty(Product instance) { log.debug("attaching dirty Product instance"); try { getHibernateTemplate().saveOrUpdate(instance); log.debug("attach successful"); } catch (RuntimeException re) { log.error("attach failed", re); throw re; } } /* (non-Javadoc) * @see com.linky.dao.ProductDAO#attachClean(com.linky.entity.Product) */ public void attachClean(Product instance) { log.debug("attaching clean Product instance"); try { getHibernateTemplate().lock(instance, LockMode.NONE); log.debug("attach successful"); } catch (RuntimeException re) { log.error("attach failed", re); throw re; } } public static ProductDAO getFromApplicationContext(ApplicationContext ctx) { return (ProductDAO) ctx.getBean("ProductDAO"); } }
程序十八大 2015-01-06
  • 打赏
  • 举报
回复
我明明都用spring 的aop切入了。为什么还要实例化?
my_mtx 2015-01-06
  • 打赏
  • 举报
回复
private UserService userService; private String mes; 这两个实例化一下看看

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧