您的位置:程序门 -> java -> web 开发



struts2+spring+hibernate问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


struts2+spring+hibernate问题
发表于:2008-01-23 15:58:33 楼主
struts2+spring+hibernate环境
在做登陆的时候出现了以下问题,我先将配置文件贴出来,大虾们帮我瞧瞧
web-inf\classes\applicationcontext.xml

<?xml   version="1.0"   encoding="utf-8"?>
<!doctype   beans   public   "-//spring//dtd   bean//en"   "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean   id="datasourse"
class="org.springframework.jndi.jndiobjectfactorybean"
destroy-method="close">
<property   name="jndiname"   value="java:comp/env/jdbc/sxivr"> </property>
</bean>
<bean   id="hibernateinterceptor"
class="org.springframework.orm.hibernate3.hibernateinterceptor">
<property   name="sessionfactory">
<ref   bean="sessionfactory"   />
</property>
</bean>
<bean   id="sessionfactory"
class="org.springframework.orm.hibernate3.localsessionfactorybean">
<property   name="datasource">
<ref   bean="datasourse"   />
</property>
<property   name="hibernateproperties">
<props>
<prop   key="hibernate.dialect">
org.hibernate.dialect.sqlserverdialect
</prop>
<!--   表示允许自动提交   -->
<prop   key="hibernate.connection.autocommit"> true </prop>
<!--   显示sql语句   -->
<prop   key="hibernate.show_sql"> true </prop>
</props>
</property>
<property   name="mappingresources">
<list>
<value> org/jzk/sxivr/vo/users.hbm.xml </value>
</list>
</property>
</bean>

<bean   id="hibernatetemplate"
class="org.springframework.orm.hibernate3.hibernatetemplate">
<property   name="sessionfactory">
<ref   bean="sessionfactory"   />
</property>
</bean>

<!--   dao   -->
<bean   id="usersdao"
class="org.jzk.sxivr.dao.iface.impl.usersdaoimpl">
<property   name="hibernatetemplate">
<ref   bean="hibernatetemplate"   />
</property>
</bean>


<!--   services   -->
<bean   id="usersservice"
class="org.jzk.sxivr.services.usersservices">
<property   name="usersdao">
<ref   bean="usersdao"   />
</property>
</bean>

<!--   view   -->
<bean   id="usersaction"
class="org.jzk.sxivr.web.actions.useraction">
<property   name="usersservice">
<ref   bean="usersservice"   />
</property>
</bean>
</beans>


web-inf\classes\struts.xml


<?xml   version="1.0"   encoding="gbk"?>
<!doctype   struts   public
                "-//apache   software   foundation//dtd   struts   configuration   2.0//en"
                "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant   name="struts.i18n.encoding"   value="gbk"   />

<package   name="users"   extends="struts-default">
<action   name="login"   class="usersaction">
<result   name="suc"> /main.jsp </result>
<result   name="fal"> /index.jsp </result>
</action>
</package>

</struts>


web-inf\web.xml

<?xml   version="1.0"   encoding="utf-8"?>
<web-app   version="2.4"   xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
xsi:schemalocation="http://java.sun.com/xml/ns/j2ee  
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name> sx系统 </display-name>
<!--   contextconfiglocation   -->
        <context-param>
                <param-name> contextconfiglocation </param-name>
                <param-value> /web-inf/classes/applicationcontext.xml </param-value>
            </context-param>


<welcome-file-list>
<welcome-file> index.jsp </welcome-file>
</welcome-file-list>
<filter>
<!--   配置struts   2核心filter的名字   -->
<filter-name> struts2 </filter-name>
<!--   配置struts   2核心filter的实现类   -->
<filter-class>
org.apache.struts2.dispatcher.filterdispatcher
</filter-class>
</filter>
<filter-mapping>
<!--   配置struts   2的核心filterdispatcher拦截所有用户请求   -->
<filter-name> struts2 </filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.context.contextloaderlistener
</listener-class>
</listener>
</web-app>
发表于:2008-01-23 16:02:031楼 得分:0
org.jzk.sxivr.dao.iface.impl.usersdaoimpl.login


package   org.jzk.sxivr.dao.iface.impl;

import   java.util.list;

import   org.hibernate.query;
import   org.jzk.sxivr.dao.iface.usersdao;
import   org.jzk.sxivr.vo.users;
import   org.springframework.orm.hibernate3.support.hibernatedaosupport;

public   class   usersdaoimpl   extends   hibernatedaosupport   implements   usersdao   {

public   boolean   login(users   user)   throws   exception   {
boolean   flag   =   false;
string   hql="from   users   where   userid=?   and   userpwd=?";
query   q=super.getsession().createquery(hql);
q.setstring(0,   user.getuserid());
q.setstring(1,   user.getuserpwd());
list   all   =   q.list();
if(all.size()> 0){
flag   =   true;
}
return   flag;
}

}


以下是我出现的问题的日志
2008-01-23   15:48:06,703   info   [com.opensymphony.xwork2.util.objecttypedeterminerfactory]   -   detected   genericsobjecttypedeterminer,   initializing   it...
2008-01-23   15:48:38,906   info   [com.opensymphony.xwork2.validator.actionvalidatormanagerfactory]   -   detected   annotationactionvalidatormanager,   initializing   it...
2008-01-23   15:48:39,718   error   [org.apache.catalina.core.containerbase.[catalina].[localhost].[/sxivr].[default]]   -   servlet.service()   for   servlet   default   threw   exception
java.lang.nullpointerexception
at   org.jzk.sxivr.dao.iface.impl.usersdaoimpl.login(usersdaoimpl.java:16)
at   org.jzk.sxivr.services.usersservices.login(usersservices.java:10)
at   org.jzk.sxivr.web.actions.useraction.EXECute(useraction.java:25)
at   sun.reflect.nativemethodaccessorimpl.invoke0(native   method)
at   sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)
at   sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)
at   java.lang.reflect.method.invoke(method.java:589)
at   com.opensymphony.xwork2.defaultactioninvocation.invokeaction(defaultactioninvocation.java:404)
at   com.opensymphony.xwork2.defaultactioninvocation.invokeactiononly(defaultactioninvocation.java:267)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:229)
at   com.opensymphony.xwork2.interceptor.defaultworkflowinterceptor.dointercept(defaultworkflowinterceptor.java:221)
at   com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:86)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   com.opensymphony.xwork2.validator.validationinterceptor.dointercept(validationinterceptor.java:150)
at   org.apache.struts2.interceptor.validation.annotationvalidationinterceptor.dointercept(annotationvalidationinterceptor.java:48)
at   com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:86)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   com.opensymphony.xwork2.interceptor.conversionerrorinterceptor.intercept(conversionerrorinterceptor.java:123)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   com.opensymphony.xwork2.interceptor.parametersinterceptor.dointercept(parametersinterceptor.java:167)
at   com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:86)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   com.opensymphony.xwork2.interceptor.staticparametersinterceptor.intercept(staticparametersinterceptor.java:105)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   org.apache.struts2.interceptor.checkboxinterceptor.intercept(checkboxinterceptor.java:83)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   org.apache.struts2.interceptor.fileuploadinterceptor.intercept(fileuploadinterceptor.java:207)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   com.opensymphony.xwork2.interceptor.modeldriveninterceptor.intercept(modeldriveninterceptor.java:74)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
发表于:2008-01-23 16:02:142楼 得分:0
org.jzk.sxivr.dao.iface.impl.usersdaoimpl.login


package   org.jzk.sxivr.dao.iface.impl;

import   java.util.list;

import   org.hibernate.query;
import   org.jzk.sxivr.dao.iface.usersdao;
import   org.jzk.sxivr.vo.users;
import   org.springframework.orm.hibernate3.support.hibernatedaosupport;

public   class   usersdaoimpl   extends   hibernatedaosupport   implements   usersdao   {

public   boolean   login(users   user)   throws   exception   {
boolean   flag   =   false;
string   hql="from   users   where   userid=?   and   userpwd=?";
query   q=super.getsession().createquery(hql);
q.setstring(0,   user.getuserid());
q.setstring(1,   user.getuserpwd());
list   all   =   q.list();
if(all.size()> 0){
flag   =   true;
}
return   flag;
}

}


以下是我出现的问题的日志
2008-01-23   15:48:06,703   info   [com.opensymphony.xwork2.util.objecttypedeterminerfactory]   -   detected   genericsobjecttypedeterminer,   initializing   it...
2008-01-23   15:48:38,906   info   [com.opensymphony.xwork2.validator.actionvalidatormanagerfactory]   -   detected   annotationactionvalidatormanager,   initializing   it...
2008-01-23   15:48:39,718   error   [org.apache.catalina.core.containerbase.[catalina].[localhost].[/sxivr].[default]]   -   servlet.service()   for   servlet   default   threw   exception
java.lang.nullpointerexception
at   org.jzk.sxivr.dao.iface.impl.usersdaoimpl.login(usersdaoimpl.java:16)
at   org.jzk.sxivr.services.usersservices.login(usersservices.java:10)
at   org.jzk.sxivr.web.actions.useraction.EXECute(useraction.java:25)
at   sun.reflect.nativemethodaccessorimpl.invoke0(native   method)
at   sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)
at   sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)
at   java.lang.reflect.method.invoke(method.java:589)
at   com.opensymphony.xwork2.defaultactioninvocation.invokeaction(defaultactioninvocation.java:404)
at   com.opensymphony.xwork2.defaultactioninvocation.invokeactiononly(defaultactioninvocation.java:267)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:229)
at   com.opensymphony.xwork2.interceptor.defaultworkflowinterceptor.dointercept(defaultworkflowinterceptor.java:221)
at   com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:86)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   com.opensymphony.xwork2.validator.validationinterceptor.dointercept(validationinterceptor.java:150)
at   org.apache.struts2.interceptor.validation.annotationvalidationinterceptor.dointercept(annotationvalidationinterceptor.java:48)
at   com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:86)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   com.opensymphony.xwork2.interceptor.conversionerrorinterceptor.intercept(conversionerrorinterceptor.java:123)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   com.opensymphony.xwork2.interceptor.parametersinterceptor.dointercept(parametersinterceptor.java:167)
at   com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:86)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   com.opensymphony.xwork2.interceptor.staticparametersinterceptor.intercept(staticparametersinterceptor.java:105)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   org.apache.struts2.interceptor.checkboxinterceptor.intercept(checkboxinterceptor.java:83)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   org.apache.struts2.interceptor.fileuploadinterceptor.intercept(fileuploadinterceptor.java:207)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
at   com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:221)
at   com.opensymphony.xwork2.interceptor.modeldriveninterceptor.intercept(modeldriveninterceptor.java:74)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:224)
at   com.opensymphony.xwork2.defaultactioninvocation$2.doprofiling(defaultactioninvocation.java:223)
at   com.opensymphony.xwork2.util.profiling.utiltimerstack.profile(utiltimerstack.java:455)
发表于:2008-01-23 16:15:103楼 得分:0
感觉应该是jar包的问题....
发表于:2008-01-23 16:46:284楼 得分:0
对象未实例化,空指针异常nullpointerexception  
你看看
usersdaoimpl.java类中的16行和useraction.java中的25行
发表于:2008-01-23 19:23:265楼 得分:0
谢谢guoqiangone   指点,是你说的未实例化对象原因
加分结贴哈哈


快速检索

最新资讯
热门点击