私はウェブ上のどこにいても、ほとんど失われず、問題を解決できませんでした。サーブレットからJSPページにJavaオブジェクトを(適切に)渡す方法
私はEclipseを使用してWebアプリケーションを作成しています。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");
連絡先は、 "姓" のような属性を持っている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)
メッセージの2行目には、それが遅延読み込みを行うことを有することを示すが、最後の行は、私はバグはプログラムが取得しようとしたときに発生していることを示しています。私はこれをしなかったときしかし、私はこのメッセージが表示されます基本的には文字列である "lastname"属性なので、 "lazy loaded"とは思わない。
誰かが解決策を見つける手助けをすることができたら、それはとても親切です。 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