웹상의 모든 곳에서 활동 해왔다. 나는 길을 잃어 버렸고 문제를 해결할 수 없었다.자바 객체를 서블릿에서 JSP 페이지로 전달하는 방법
Eclipse를 사용하여 JSP를 클라이언트 측에, Servet/Hibernate를 서버 측에 사용하여 웹 응용 프로그램을 만듭니다. 개체를 JSP 페이지에 서블릿 양식으로 전달하려고합니다. JSP 페이지에서
Contact c = dao.getContact(dataID);
request.setAttribute("data", c);
getServletContext()
.getRequestDispatcher("/"+url+"?id="+dataID).forward(request, response);
: 서블릿에서
Contact contact = (Contact)request.getAttribute("data");
연락 "LASTNAME"와 같은 속성을 가진 ORM이다.
하지만 난이 오류 메시지가 받고 있어요 :
GRAVE: "Servlet.service()" pour la servlet GetData a généré une exception
org.hibernate.HibernateException: No CurrentSessionContext configured!
at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:683)
at domain.DAOContact.getContact(DAOContact.java:39)
at domain.GetData.doGet(GetData.java:27)
그래서 그 이유를 알아 내기 위해 노력하고 어딘가 내가 최대 절전 모드 설정 파일에 현재 세션 컨텍스트에 "실"로 설정해야한다는 읽기 .
GRAVE: Servlet.service() for servlet [GetData] in context with path [/CarnetContacts] threw exception [org.hibernate.LazyInitializationException: could not initialize proxy - no Session] with root cause
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:167)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
at domain.Contact_$$_javassist_1.getLastName(Contact_$$_javassist_1.java)
메시지의 두 번째 줄은 게으른 로딩과 관련이있다 나타내지 만 마지막 줄 내가 버그가 프로그램이려고 할 때 발생하는 것을 보여줍니다 : 내가 이런 짓을 때, 나는이 메시지가 기본적으로 문자열 인 "lastname"속성이 있으므로 "게으른로드"라고 생각하지 않습니다.
누군가가 해결책을 찾도록 도울 수 있다면, 그것은 매우 친절 할 것입니다. DAO를 방법의
코드 :이 경우
public Contact getContact(int contactId){
Session session = HibernateSessionFactory.getSessionFactory().getCurrentSession();
Transaction t = session.beginTransaction();
t.begin();
Contact contact =(Contact) session.load(Contact.class, new Integer(contactId));
t.commit();
return contact;
}
답변 주셔서 감사합니다, 내 probl 해결 안에 :) – Vincent