ssh整合出现空指针错误

gagahaomei 2010-07-20 04:53:45
web.xml中的配置

<?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">

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>

<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>


dao中的代码
[code=Java]
public String login(){
boolean flag=true;
String hql="from Abc";
System.out.println("+++++++++++++++==");
List list = getHibernateTemplate().find("from Abc");
if(list.isEmpty()){
System.out.println("-------------------");
}
//System.out.println(list.get(1));
return "aaa";
}






List list = getHibernateTemplate().find("from Abc");,这一句出现空指针异常,怎么解决呢?
[/code]
...全文
318 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
gagahaomei 2010-08-05
  • 打赏
  • 举报
回复
Action类调用不了dao类?什么原因?
FexDeveloper 2010-07-26
  • 打赏
  • 举报
回复
src也就classpath下
gagahaomei 2010-07-26
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 mndn_nana 的回复:]
当初注入的SessionFactory或HibernateTemplate为空
调用getHibernateTemplate(),你得到的HibernateTemplate对象为空了
感觉就是这个问题了
[/Quote]

那怎么解决呢?
mndn_nana 2010-07-26
  • 打赏
  • 举报
回复
当初注入的SessionFactory或HibernateTemplate为空
调用getHibernateTemplate(),你得到的HibernateTemplate对象为空了
感觉就是这个问题了
baolong101010 2010-07-26
  • 打赏
  • 举报
回复
List list = getHibernateTemplate().find("from Abc");
这个getHibernateTemplate()怎么来的啊?不明白....不是loginDao的吗?
是不是应该是loginDao.getHibernateTemplate()啊?
gagahaomei 2010-07-22
  • 打赏
  • 举报
回复
applicationContext.xml应该放哪?
logic1221 2010-07-21
  • 打赏
  • 举报
回复
你的action贴出来看看
飘零ii 2010-07-21
  • 打赏
  • 举报
回复
一下看不出来。。先吃饭。。回来继续。。
FexDeveloper 2010-07-21
  • 打赏
  • 举报
回复
你的配置文件是不是放在这个地方啊 /WEB-INF/applicationContext.xml
gagahaomei 2010-07-21
  • 打赏
  • 举报
回复
web.xml中加上
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
报404错误The requested resource () is not available.

我用的是
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
gagahaomei 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 zxjwgw 的回复:]
Action中调用不了dao是你配置文件的错,你给出来我看看。
[/Quote]getHibernateTemplate()的文件代码,我是直接调用的,没有文件。
web.xml中的配置文件
<?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">

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>

<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>


<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>


applicationContext中的配置文件
<?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="mdatasource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/test"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
<bean id="mysessionfactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="mdatasource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/demo/Abc.hbm.xml</value></list>
</property></bean>
<bean id="logindao" class="com.demo.LoginDao">
<property name="sessionFactory">
<ref bean="mysessionfactory"/>
</property>
</bean>

<bean name="loginAction" class="com.demo.LoginAction">
<property name="logindao">
<ref bean="logindao"/>
</property>
</bean>
</beans>
FexDeveloper 2010-07-21
  • 打赏
  • 举报
回复
web.xml有没有配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext-*.xml
</param-value>
</context-param>

<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
飘零ii 2010-07-21
  • 打赏
  • 举报
回复
Action中调用不了dao是你配置文件的错,你给出来我看看。
飘零ii 2010-07-21
  • 打赏
  • 举报
回复
楼主能给出包含getHibernateTemplate()的类文件的代码么?
gagahaomei 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zxjwgw 的回复:]
List list = getHibernateTemplate().find("from Abc");,这一句出现空指针异常,很明显是没有get到HibernateTemplate,楼主去掉这一句看看是否报错,如果报了那说明是配置的问题,没报就找一下关于getHibernateTemplate()的代码。
[/Quote]

没报,getHibernateTemplate()得到的是null,现在的问题是在Action中调用不了dao
飘零ii 2010-07-21
  • 打赏
  • 举报
回复
List list = getHibernateTemplate().find("from Abc");,这一句出现空指针异常,很明显是没有get到HibernateTemplate,楼主去掉这一句看看是否报错,如果报了那说明是配置的问题,没报就找一下关于getHibernateTemplate()的代码。
gagahaomei 2010-07-21
  • 打赏
  • 举报
回复
这是Abc.hbm.xml代码
  <?xml version="1.0" encoding="utf-8" ?> 
<!DOCTYPE hibernate-mapping (View Source for full doctype...)>
- <!--
Mapping file autogenerated by MyEclipse Persistence Tools

-->
- <hibernate-mapping default-cascade="none" default-access="property" default-lazy="true" auto-import="true">
- <class name="com.demo.Abc" table="abc" catalog="test" mutable="true" polymorphism="implicit" dynamic-update="false" dynamic-insert="false" select-before-update="false" optimistic-lock="version">
- <id name="username" type="java.lang.Integer">
<column name="username" />
<generator class="assigned" />
</id>
- <property name="password" type="java.lang.String" unique="false" optimistic-lock="true" lazy="false" generated="never">
<column name="password" length="45" not-null="true" />
</property>
</class>
</hibernate-mapping>
niu90 2010-07-21
  • 打赏
  • 举报
回复
麻烦给出Abc.hbm.xml的代码
ontrackfor19888 2010-07-21
  • 打赏
  • 举报
回复
路过,帮顶!
gagahaomei 2010-07-21
  • 打赏
  • 举报
回复
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="sessionFactory" ref="mysessionfactory">
</property>
</bean>
<bean id="logindao" class="com.demo.LoginDao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
<bean name="loginAction" class="com.demo.LoginAction">
<property name="logindao">
<ref bean="logindao"/>
</property>
</bean>

这是我所更改的代码,可问题还是存在
加载更多回复(10)

67,513

社区成员

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

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