package XXX.ImportXML.impl;import java.util.*;import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;import XXX.ImportXML.dao.ImportXMLDAO;
import XXX.ImportXML.factory.ImportXMLSessionFactory;
import XXX.XML.GetInfoXML;
import XXX.XML.vo.Newtracking;public class ImportXMLIpml implements ImportXMLDAO {
private Session session; public void ImportXMLImpl() {
this.session = ImportXMLSessionFactory.getSession();
}
public boolean isImport(Newtracking newtracking) {
boolean flag = false;
Transaction tx = session.beginTransaction();
try {
String xmlpath = newtracking.getXmlpath();
GetInfoXML getinfoxml = new GetInfoXML();
Map language = getinfoxml.getInfoXML(xmlpath);
Map info = (Map)language.get("info");
Map LL = (Map)language.get("LC");
......
......
......
......
......
......
session.save(newtracking);
tx.commit();
flag = true;
}
catch (HibernateException e) {
e.printStackTrace();
tx.rollback();
flag = false;
}
finally {
this.session.close();
}
return flag;
}
}
下面是SessionFactory
package XXX.ImportXML.factory;import org.hibernate.Session;
import org.hibernate.cfg.Configuration;public class ImportXMLSessionFactory {
public static Session getSession(){
Session session = null;
session = new Configuration().configure().
buildSessionFactory().openSession();
return session;
}
}在Transaction tx = session.beginTransaction();就有问题了,报java.lang.NullPointerExceptionjava.lang.NullPointerException
at Bei.Google.PM.ImportXML.impl.ImportXMLIpml.isImport(ImportXMLIpml.jav
a:23)
at cn.Bei.Google.PM.struts.action.ImportXMLAction.execute(ImportXMLActio
n.java:48)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:119
4)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcesso
r.java:857)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.pr
ocess(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:15
09)
at java.lang.Thread.run(Unknown Source)
aaaaaaaaaaaaaaaaa
java.lang.NullPointerException
at Bei.Google.PM.ImportXML.impl.ImportXMLIpml.isImport(ImportXMLIpml.jav
a:23)
at cn.Bei.Google.PM.struts.action.ImportXMLAction.execute(ImportXMLActio
n.java:48)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:119
4)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcesso
r.java:857)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.pr
ocess(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:15
09)
at java.lang.Thread.run(Unknown Source)请XD们看看哪里的问题?
import org.hibernate.Session;
import org.hibernate.Transaction;import XXX.ImportXML.dao.ImportXMLDAO;
import XXX.ImportXML.factory.ImportXMLSessionFactory;
import XXX.XML.GetInfoXML;
import XXX.XML.vo.Newtracking;public class ImportXMLIpml implements ImportXMLDAO {
private Session session; public void ImportXMLImpl() {
this.session = ImportXMLSessionFactory.getSession();
}
public boolean isImport(Newtracking newtracking) {
boolean flag = false;
Transaction tx = session.beginTransaction();
try {
String xmlpath = newtracking.getXmlpath();
GetInfoXML getinfoxml = new GetInfoXML();
Map language = getinfoxml.getInfoXML(xmlpath);
Map info = (Map)language.get("info");
Map LL = (Map)language.get("LC");
......
......
......
......
......
......
session.save(newtracking);
tx.commit();
flag = true;
}
catch (HibernateException e) {
e.printStackTrace();
tx.rollback();
flag = false;
}
finally {
this.session.close();
}
return flag;
}
}
下面是SessionFactory
package XXX.ImportXML.factory;import org.hibernate.Session;
import org.hibernate.cfg.Configuration;public class ImportXMLSessionFactory {
public static Session getSession(){
Session session = null;
session = new Configuration().configure().
buildSessionFactory().openSession();
return session;
}
}在Transaction tx = session.beginTransaction();就有问题了,报java.lang.NullPointerExceptionjava.lang.NullPointerException
at Bei.Google.PM.ImportXML.impl.ImportXMLIpml.isImport(ImportXMLIpml.jav
a:23)
at cn.Bei.Google.PM.struts.action.ImportXMLAction.execute(ImportXMLActio
n.java:48)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:119
4)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcesso
r.java:857)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.pr
ocess(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:15
09)
at java.lang.Thread.run(Unknown Source)
aaaaaaaaaaaaaaaaa
java.lang.NullPointerException
at Bei.Google.PM.ImportXML.impl.ImportXMLIpml.isImport(ImportXMLIpml.jav
a:23)
at cn.Bei.Google.PM.struts.action.ImportXMLAction.execute(ImportXMLActio
n.java:48)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:119
4)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcesso
r.java:857)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.pr
ocess(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:15
09)
at java.lang.Thread.run(Unknown Source)请XD们看看哪里的问题?
解决方案 »
- Axis2用RPC方式报文中参数的顺序问题
- 字符串拼接
- java如何调用webservice接口
- linux log4j控制台不输出内容
- 面试写经验,请大家谈怎么写这个
- 比较x.txt和y.txt
- struts入门问题,关于参数传递
- 请问有多少人在用hibernate做你们的项目?好用吗?
- 为什么编译时总是提示:Package does exist
- 关于log4j的封装
- 最近研究spring,碰到这个一个提示:The listener "***" is already configured for this context. ..has been ignored.
- java源代码反向生成uml类图
public void ImportXMLImpl() {
this.session = ImportXMLSessionFactory.getSession();
}
这个方法没有调用,session是nul,报空指针异常是当然的
this.session = ImportXMLSessionFactory.getSession();
} void 要去掉才是构造器,有void只是一个普通的方法,需要调用才能 执行里面的方法体
是这样的,我开始把部分代码省略了,现在贴上了。问题在写VO那段,从这行while (LL.get("fil").equals(("fil")))开始报java.lang.NullPointerException,从Map中是可以读取出value的,问题应该出在写VO上,我曾经想用Foreach,但是无法把map的value与VO的Set方法map起来。我朋友曾建议我把map和VO间做一个转换类,但是我有些想不出如何转换,没有这经验,希望XD们说说
package XXX.ImportXML.impl;import java.util.*;import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;import XXX.ImportXML.dao.ImportXMLDAO;
import XXX.ImportXML.factory.ImportXMLSessionFactory;
import XXX.XML.GetInfoXML;
import XXX.XML.vo.Newtracking;public class ImportXMLIpml implements ImportXMLDAO {
private Session session; public ImportXMLImpl() {
this.session = ImportXMLSessionFactory.getSession();
}
public boolean isImport(Newtracking newtracking) {
boolean flag = false;
Transaction tx = session.beginTransaction();
try {
String xmlpath = newtracking.getXmlpath();
GetInfoXML getinfoxml = new GetInfoXML();
Map language = getinfoxml.getInfoXML(xmlpath);
Map info = (Map)language.get("info");
Map LL = (Map)language.get("LC");
for(int i = 0; i<language.size(); i++){
while (LL.get("fil").equals(("fil"))) {
newtracking.setFilvendor("aaa");
}
while (LL.get("id").equals("id")) {
newtracking.setFilvendor("bbb");
}
while (LL.get("in").equals("in")) {
newtracking.setFilvendor("bbb");
}
while (LL.get("ja").equals("ja")) {
newtracking.setFilvendor("ccc");
}
while (LL.get("ko").equals("ko")) {
newtracking.setFilvendor("ddd");
}
while (LL.get("ms").equals("ms")) {
newtracking.setFilvendor("fff");
}
while (LL.get("th").equals("th")) {
newtracking.setFilvendor("eee");
}
while (LL.get("vi").equals("vi")) {
newtracking.setFilvendor("ggg");
}
while (LL.get("zh-CN").equals("zh-CN")) {
newtracking.setFilvendor("hhh");
}
while (LL.get("zh-TW").equals("zh-TW")) {
newtracking.setFilvendor("iii");
}
while (LL.get("zh-HK").equals("zh-HK")) {
newtracking.setFilvendor("jjj");
}
}
session.save(newtracking);
tx.commit();
flag = true;
}
catch (HibernateException e) {
e.printStackTrace();
tx.rollback();
flag = false;
}
finally {
this.session.close();
}
return flag;
}
}
我建议这样使用equals,可以避免LL.get("fil")为null时出现的空指针异常
org.hibernate.id.IdentifierGenerationException: ids for this class must be man
lly assigned before calling save(): XXX.XML.vo.Newtracking
at org.hibernate.id.Assigned.generate(Assigned.java:33)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId
bstractSaveEventListener.java:91)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGene
tedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrR
uestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTran
ent(DefaultSaveOrUpdateEventListener.java:175)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(
faultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpda
(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:530)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:518)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:514)
at XXX.ImportXML.impl.ImportXMLIpml.isImport(ImportXMLIpml.jav
84)
at cn.XXX.struts.action.ImportXMLAction.execute(ImportXMLActio
java:48)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
rocessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:119 at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
ationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
terChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
ve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
ve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
a:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
a:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcesso
java:857)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.pr
ess(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:15
)
at java.lang.Thread.run(Unknown Source)
org.hibernate.id.IdentifierGenerationException: ids for this class must be man
ually assigned before calling save(): XXX.XML.vo.Newtracking
at org.hibernate.id.Assigned.generate(Assigned.java:33)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId
(AbstractSaveEventListener.java:91)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGene
ratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrR
equestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTran
sient(DefaultSaveOrUpdateEventListener.java:175)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(
DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpda
te(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:530)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:518)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:514)
at XXX.ImportXML.impl.ImportXMLIpml.isImport(ImportXMLIpml.jav
a:84)
at cn.XXX.struts.action.ImportXMLAction.execute(ImportXMLActio
n.java:48)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:119
4)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcesso
r.java:857)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.pr
ocess(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:15
09)
at java.lang.Thread.run(Unknown Source)