原來這篇文章發在了csdn的blog上了,但是那個blog用起來感覺實在不爽,后來文章中的圖片因為放到別人的服務器上,所以在人家換服務器后就找不到了,有好幾位朋友msn過來問我圖片那里去了,給大家造成了不便非常抱歉,在此把pdf格式的文檔放在此處下載。
利用MyEclipse開發Struts+Hibernate應用? 點擊下載
其中文章中有個小的錯誤:
利用MyEclipse開發Struts+Hibernate應用? 點擊下載
其中文章中有個小的錯誤:
VipService.java中所有關閉session的地方有個小問題,還是需要通過SessionFactory來關閉。
之前代碼:
if (session != null)
{
?try
?{
?????session.close();
?}
?catch (HibernateException e)
?{
??System.err.println("Hibernate Exception" + e.getMessage());
??throw new RuntimeException(e);
?}
}
修改之后:
try {
?SessionFactory.closeSession();
} catch (HibernateException e) {
?System.err.println("Hibernate Exception" + e.getMessage());
?throw new RuntimeException(e);
}
最近正在研究這個
JBuilder中有些問題實在太煩人了
MyEclipse還算作的比較出色
但這個里面沒有哎,到底什么原因呢,問題低級,請祥解
太感謝你了!
java.lang.NullPointerException
com.xiebing.hibernate.SessionFactory.currentSession(SessionFactory.java:56)
com.xiebing.hibernate.VipService.getVipdataList(VipService.java:184)
org.apache.jsp.AddVipData_jsp._jspService(AddVipData_jsp.java:113)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
http://www.xiebing.com/mydb_src.zip
SessionFactory.closeSession();
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
java.lang.NullPointerException
com.xiebing.hibernate.SessionFactory.currentSession(SessionFactory.java:56)
com.xiebing.hibernate.VipService.getVipdataList(VipService.java:184)
org.apache.jsp.AddVipData_jsp._jspService(AddVipData_jsp.java:113)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
你提供的下載文件解壓時出現文件損壞。
<generator class="native"/>
改成
<generator class="increment"/>
因為連接的是mysql數據庫,所以要用自增。錯誤就是因為這個。
我按照你做的,能夠從數據庫里面查詢出數據,但是添加數據的時候,沒有寫進數據庫,不知道是怎么回事?
把Session.close()換成SessionFactory.closeSession(),就可以加數據了,謝謝!
22: /*
23: * 這里將產生一個Vipdata的集合
24: */
25: List vipList=VipService.getInstance().getVipdataList();
26: request.setAttribute("vipdatas",vipList);
27: %>
28: <p><code>Vipdata</code>表中的所有信息.
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
總是出現這個異常,已經重做過好幾遍了,郁悶,問題出哪了呢?
我的環境是eclipse3.1.1+myeclipse4.1GA+mysql5.0
Vipdata.hbm.xml文件:<generator class="native"/>
改成 <generator class="increment"/>
也還是出現上面的錯誤
mysql的驅動已經拷貝了一份到tomcat/common/lib/目錄下
請高手賜招!!!先謝謝了...
可惜這里不能貼源碼,要不就將源碼貼上來了
是否有源碼,希望能給我發一份,在此謝謝!cookier@sina.com.cn
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NullPointerException
com.chenz.hibernate.VipService.getVipdataList(VipService.java:95)
org.apache.jsp.AddVipData_jsp._jspService(AddVipData_jsp.java:116)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
環境:eclipse3.2.1+myeclipse5.1+mysql5.0+tomcat6.0
(我自己加了一個Vipdata.java就是一個bean,如果不加好幾個類都報錯,不知道是不是這個原因,我的QQ:122294354,希望能幫忙啊,多謝了)
錯誤如下
%%%% Error Creating SessionFactory %%%%
org.hibernate.MappingException: Could not read mappings from resource: com/xiebing/hibernate/Vipdata.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:485)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
at com.xiebing.hibernate.SessionFactory.rebuildSessionFactory(SessionFactory.java:65)
at com.xiebing.hibernate.SessionFactory.getSession(SessionFactory.java:49)
at com.xiebing.hibernate.VipService.getVipdataList(VipService.java:233)
at org.apache.jsp.AddVipData_jsp._jspService(AddVipData_jsp.java:139)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.xiebing.hibernate.Vipdata
at org.hibernate.cfg.Mappings.addClass(Mappings.java:118)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:154)
at org.hibernate.cfg.Configuration.add(Configuration.java:386)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
... 27 more
2007-7-31 22:41:43 org.apache.catalina.core.StandardWrapperValve invoke
嚴重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at com.xiebing.hibernate.VipService.getVipdataList(VipService.java:239)
at org.apache.jsp.AddVipData_jsp._jspService(AddVipData_jsp.java:139)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Exception in JSP: /AddVipData.jsp:45
42: <html:errors/>
43:
44: <%
45: List vipList=VipService.getInstance().getVipdataList();
46: request.setAttribute("vipdatas",vipList);
47: %>
48: <p>列出 <code>Vipdata</code>表中的所有信息.</p>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.RuntimeException: java.lang.NullPointerException
com.fjh.hibernate.VipService.getVipdataList(VipService.java:104)
org.apache.jsp.AddVipData_jsp._jspService(AddVipData_jsp.java:130)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.
數據庫驅動及連接都配置好了,連接后用HQLQuery
直接查詢可以查詢到數據。
但在頁面AddVipData.jsp中運行
<%
List vipList=VipService.getInstance().getVipdataList();
request.setAttribute("vipdatas",vipList);
%>
出現上面的錯誤。
我把它注釋掉后,想執行數據庫的插入操作。
點擊“submit“按鈕后沒報錯誤,然后我打開SQL Server 2005數據庫去查看數據時,查詢不了數據,出現超時。。。。。。。。
不知道是怎么回事。
第一次用Java,就。。。。。。。
java.lang.NullPointerException
com.pjqh.hibernate.VipService.getVipdataList(VipService.java:89)
org.apache.jsp.AddVipData_jsp._jspService(AddVipData_jsp.java:110)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
試驗了好幾遍都這樣,好像HQL是查不出數據來!
第89行是這樣的
Query query=session.createQuery("select Vipdata from com.pjqh.hibernate.Vipdata Vipdata order by Vipdata.vipname");