ssh 空指针异常
一个简单的用ssh框架完成的查询功能但是点击查询后出现严重:Exceptionoccurredduringprocessingrequest:nulljava.lang....
一个简单的用ssh框架完成的查询功能
但是点击查询后出现
严重: Exception occurred during processing request: null
java.lang.NullPointerException
at com.citycard.service.impl.ScenicServiceImpl.showScenic(ScenicServiceImpl.java:19)
at com.citycard.action.ScenicAction.execute(ScenicAction.java:24)
后面还有很多行,但是与我自己的代码无关了
然后 上面那个form跳转的是 ScenicAction这个action 然后action再调用service层的方法
然后ScenicServiceImpl.java 里面出错了
public class ScenicServiceImpl implements ScenicService{
private ScenicDao scenicdao;
public List<Scenic> showScenic(String cityname){
System.out.println(cityname);
System.out.println("已到service层");
List<Scenic> list = scenicdao.showScenicByCityname(cityname); //此行出错,能打印出正确
//cityname,但是当调用dao层的方法时 提醒空指针
return list;
}
}
然后实体类Scenic.java里面有
public class Scenic {
private int id;
private String name;
private String brf;
private String shortBrf;
private int cityId;
private String cityname;
以及相应的get set
对应的Scenic.hbm.xml里面有相应的与数据库的映射 字数有限不能全部粘贴了。
那个 里面 与 user相关的 如 loginaction userdao都是另一个模块的,可以成功运行。与scenic相关的就是出错的。
applicationContext里面的 sessionFactory里面有相关映射
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<value>com/citycard/pojo/User.hbm.xml</value>
<value>com/citycard/pojo/Scenic.hbm.xml</value>
</list>
其中user这个模块没有问题,但是scenic就有问题了。struts.xml经检查也没问题
dao层的代码没粘贴了,因为dao层的showScenicByCityname(String cityname)进不去报空指针
头一次用ssh,以前都只用struts2不整合 其他2样的。代码有点多望谅解!
大致明白问题在哪儿了
这一句
private ScenicDao scenicdao;
然后我在下面就直接用scenicdao.showScenicByCityname(cityname);了
我变成了private ScenicDao scenicdao = new ScenicDaoImpl();后就能进入dao层了
因此我觉得应该是配置文件哪儿没写完全,我觉得这个对象的实例化应该是框架去完成吧?(我们所做的就是在某个配置文件中配置一下就行了吧?)
就像我user那个模块里面也是直接
private UserDao userDao;
然后userDao.getUserByName(name)就没错
但是我实在找不出究竟在哪个配置文件配置 展开
但是点击查询后出现
严重: Exception occurred during processing request: null
java.lang.NullPointerException
at com.citycard.service.impl.ScenicServiceImpl.showScenic(ScenicServiceImpl.java:19)
at com.citycard.action.ScenicAction.execute(ScenicAction.java:24)
后面还有很多行,但是与我自己的代码无关了
然后 上面那个form跳转的是 ScenicAction这个action 然后action再调用service层的方法
然后ScenicServiceImpl.java 里面出错了
public class ScenicServiceImpl implements ScenicService{
private ScenicDao scenicdao;
public List<Scenic> showScenic(String cityname){
System.out.println(cityname);
System.out.println("已到service层");
List<Scenic> list = scenicdao.showScenicByCityname(cityname); //此行出错,能打印出正确
//cityname,但是当调用dao层的方法时 提醒空指针
return list;
}
}
然后实体类Scenic.java里面有
public class Scenic {
private int id;
private String name;
private String brf;
private String shortBrf;
private int cityId;
private String cityname;
以及相应的get set
对应的Scenic.hbm.xml里面有相应的与数据库的映射 字数有限不能全部粘贴了。
那个 里面 与 user相关的 如 loginaction userdao都是另一个模块的,可以成功运行。与scenic相关的就是出错的。
applicationContext里面的 sessionFactory里面有相关映射
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<value>com/citycard/pojo/User.hbm.xml</value>
<value>com/citycard/pojo/Scenic.hbm.xml</value>
</list>
其中user这个模块没有问题,但是scenic就有问题了。struts.xml经检查也没问题
dao层的代码没粘贴了,因为dao层的showScenicByCityname(String cityname)进不去报空指针
头一次用ssh,以前都只用struts2不整合 其他2样的。代码有点多望谅解!
大致明白问题在哪儿了
这一句
private ScenicDao scenicdao;
然后我在下面就直接用scenicdao.showScenicByCityname(cityname);了
我变成了private ScenicDao scenicdao = new ScenicDaoImpl();后就能进入dao层了
因此我觉得应该是配置文件哪儿没写完全,我觉得这个对象的实例化应该是框架去完成吧?(我们所做的就是在某个配置文件中配置一下就行了吧?)
就像我user那个模块里面也是直接
private UserDao userDao;
然后userDao.getUserByName(name)就没错
但是我实在找不出究竟在哪个配置文件配置 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询