Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我为登录用户创建会话时,如何在struts2中维护hibernate会话?_Java_Hibernate_Struts2 - Fatal编程技术网

Java 当我为登录用户创建会话时,如何在struts2中维护hibernate会话?

Java 当我为登录用户创建会话时,如何在struts2中维护hibernate会话?,java,hibernate,struts2,Java,Hibernate,Struts2,我做了一个应用程序,因为我应该维护一个登录用户会话,所以我创建了一个登录拦截器来维护它。我继承了做hibernate会话维护的目的。当我使用登录拦截器和“hibernate default”时,它会抛出Nullpointer异常。这里hibernate会话显示为空。如何维护hibernate会话 下面是我的struts.xml <package name="helloworld" extends="hibernate-default"> <interceptors&g

我做了一个应用程序,因为我应该维护一个登录用户会话,所以我创建了一个登录拦截器来维护它。我继承了做hibernate会话维护的目的。当我使用登录拦截器和“hibernate default”时,它会抛出Nullpointer异常。这里hibernate会话显示为空。如何维护hibernate会话

下面是我的struts.xml

 <package name="helloworld" extends="hibernate-default">
    <interceptors>
        <interceptor name="mylogging" class="Demo.AuthenticationInterceptor"></interceptor>
        <interceptor-stack name="loggingStack">
            <interceptor-ref name="mylogging" />
            <interceptor-ref name="defaultStack" />                
        </interceptor-stack>
    </interceptors>
    <default-interceptor-ref name="loggingStack"></default-interceptor-ref>
    <action name="signin" method="checkLogin" class="Demo.LoginForm">
        <result name="input">/login.jsp</result>
        <result name="success" type="redirect">/list.jsp</result>
        <result name="failure">/error.jsp</result>
    </action>
    <action name="listUser" method="list" class="Demo.UserAction"> 
        <interceptor-ref name="basicStackHibernate"/>           
        <result name="success">/register1.jsp</result>
        <result name="login">/login.jsp</result>
    </action>
 </package>
</struts>     
例外情况是:

Session =null
java.lang.NullPointerException
at Demo.UserDAOImpl.listUser(UserDAOImpl.java:57)
at Demo.UserAction.list(UserAction.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
null
at java.lang.reflect.Method.invoke(Method.java:606)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)

使用basicStackHibernate拦截器是因为要执行列表、编辑和删除操作Hibernate access(会话和/或事务)



和@Aniket谢谢你Aniket。一切正常,但更新时更新除外。它未更新,并添加了另一列空数据。更新问题并显示您正在获取的异常/错误session interceptor用于验证/维护会话,而不是用于输入值,如
null
。您可以手动检查值是
null
还是空。@Aniket我解决了这个问题,感谢您与我共度了宝贵的时间
Session =null
java.lang.NullPointerException
at Demo.UserDAOImpl.listUser(UserDAOImpl.java:57)
at Demo.UserAction.list(UserAction.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
null
at java.lang.reflect.Method.invoke(Method.java:606)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
<interceptor-ref name="defaultStackHibernate" />