当前位置:编程学习 > JAVA >>

SSH 整合错误

applicationContent.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:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<bean id="DataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@localhost:1521:orcl</value>
</property>
<property name="username">
<value>scott</value>
</property>
<property name="password">
<value>tiger</value>
</property>
</bean>
<bean id="Factory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="DataSource" />
<property name="mappingResources">
<list>
<value>com/soft/entity/Student.hbm.xml</value>
<value>com/soft/entity/Teacher.hbm.xml</value>
<value>com/soft/entity/Manager.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
<prop key="current_session_context_class">thread</prop>
</props>
</property>
</bean>

<bean id = "dao" class="com.soft.dao.UserManagerDAO">
<property name="factory" ref="Factory"></property>
</bean>

<bean id="loginimp" class="com.soft.biz.implement.loginImp">
<property name="userDAO" ref="dao"></property>
</bean>

<bean id="action" class="com.soft.action.Action_login">
<property name="login" ref="loginimp"></property>
</bean>

</beans>
----------------------------------------------
com.soft.ation.Action_login.java
package com.soft.action;

import com.opensymphony.xwork2.ActionSupport;
import com.soft.biz.implement.loginImp;
import com.soft.entity.Manager;
import com.soft.entity.Student;
import com.soft.entity.Teacher;

public class Action_login extends ActionSupport{
private String status;
private loginImp login;// = new loginImp(); //依赖spring注入
private String usernmae;
private String password;

public String getUsernmae() {
return usernmae;
}

public void setUsernmae(String usernmae) {
this.usernmae = usernmae;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public loginImp getLogin() {
return login;
}

public void setLogin(loginImp login) {
this.login = login;
}

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public String login()
{
System.out.println(getStatus());
if(getStatus().equals("1"))
{
if(login.Studentlogon(this.getUsernmae(),this.getPassword()))
{
return "StudentSuccess";
}else
return "error";

}
else if(getStatus().equals("2"))
{
if(login.Teacherlogon(this.getUsernmae(),this.getPassword()))
{
return "TeacherSuccess";
}else
return "error";

}
else if(getStatus().equals("3"))
{
if(login.Managerlogon(this.getUsernmae(),this.getPassword()))
{
return "ManagerSuccess";
}else
return "error";
}
else{
return "error";
}




}

}
---------------------------------------------
loginImp.java
com.soft.biz.implement
package com.soft.biz.implement;
import com.soft.biz.login;
import com.soft.dao.UserManagerDAO;
import com.soft.entity.Manager;
import com.soft.entity.Student;
import com.soft.entity.Teacher;

public class loginImp implements login {
private UserManagerDAO userDAO;// = new UserManagerDAO();;

public UserManagerDAO getUserDAO() {
return userDAO;
}

public void setUserDAO(UserManagerDAO userDAO) {
this.userDAO = userDAO;
}

public boolean Managerlogon(String username,String password) {

if(userDAO.loginManager(username, password))
{
return true;
}
else return false;
}

public boolean Studentlogon(String username,String password) {

if(userDAO.loginStudent(username, password))
{
return true;
}else
return false;
}

public boolean Teacherlogon(String username,String password) {

if(userDAO.loginTeacher(username, password))
{
return true;
}else
return false;
}

}

-------------------------
userManagerDAO.java
package com.soft.dao;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

public class UserManagerDAO {

private SessionFactory factory;// = HibernateUtil.getSessionFactory();

public SessionFactory getFactory() {
return factory;
}

public void setFactory(SessionFactory factory) {
this.factory = factory;
}


public boolean loginStudent(String username,String password) {
Session session = factory.getCurrentSession();
session.beginTransaction();
List<String> list = session.createQuery("from Student where PMIID = ? and password = ?")
.setString(0, username).setString(1, password).list();
session.getTransaction().commit();
if(list.size()!=0)
{
return true;
}
else return false;
}

public boolean loginTeacher(String username,String password) {
Session session = factory.getCurrentSession();
session.beginTransaction();
List<String> list = session.createQuery("from Teacher where username = ? and password = ?")
.setString(0, username).setString(1, password).list();
session.getTransaction().commit();
if(list.size()!=0)
{
return true;
}
else return false;
}

public boolean loginManager(String username,String password) {
Session session = factory.getCurrentSession();
session.beginTransaction();
List<String> list = session.createQuery("from Manager where username = ? and password = ?")
.setString(0, username).setString(1, password).list();
session.getTransaction().commit();
if(list.size()!=0)
{
return true;
}
else return false;
}
}

--------------------编程问答-------------------- org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:63)
org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:687)
com.soft.dao.UserManagerDAO.loginStudent(UserManagerDAO.java:26)
com.soft.biz.implement.loginImp.Studentlogon(loginImp.java:31)
com.soft.action.Action_login.login(Action_login.java:52)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:510)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) --------------------编程问答-------------------- <bean id="myHibTransactionManager"  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
       <property name="sessionFactory" ref="Factory"></property>
    </bean>

在网上找资料说,少了这个,后来加了还是无效 --------------------编程问答-------------------- http://blog.csdn.net/cai5/article/details/6565523

你有时间看看 ,是可以的 --------------------编程问答--------------------
引用 3 楼  的回复:
http://blog.csdn.net/cai5/article/details/6565523

你有时间看看 ,是可以的
 感觉和我写的一样的, --------------------编程问答-------------------- 你主要看配置文件 ,类就别看啦 ,没什么好看的 ,applicationContent.xml --------------------编程问答--------------------
引用 5 楼  的回复:
你主要看配置文件 ,类就别看啦 ,没什么好看的 ,applicationContent.xml
 applicationContent.xml 有问题吗? --------------------编程问答-------------------- 能不能整一下格式呀,看着眼睛痛! --------------------编程问答-------------------- 在hibernate properties节点下加上:
<prop key="hibernate.current_session_context_class">thread</prop>  --------------------编程问答--------------------
引用 6 楼  的回复:
 applicationContent.xml 有问题吗?


注释掉 <prop key="current_session_context_class">thread</prop> --------------------编程问答--------------------
引用 9 楼  的回复:
引用 6 楼  的回复:
applicationContent.xml 有问题吗?


注释掉 <prop key="current_session_context_class">thread</prop>
 应该不是这个问题,后来DAO层继承了HibernateDaoSupport ,并且在entity层,加了空的构造方法,问题就解决了,,谢谢你们 --------------------编程问答-------------------- 谢谢你们的帮助,我找到了错误!! 用了一天的时间...
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,