请帮忙 的 hibernate.cfg.xml中
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hbm2ddl.auto">create</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="connection.url">jdbc:sqlserver://localhost;databaseName=MyDB</property>
<property name="connection.username">sa</property>
<property name="connection.password">password</property>
<property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="show_sql">true</property>
<mapping resource="user.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>
我没有看到文件有什么问题
user.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.raj.User" table="UserData">
<id name="id" type="int" column="id">
<generator class="assigned"></generator>
</id>
<property name="email" column="email"></property>
<property name="login" column="login"></property>
<property name="password" column="password"></property>
</class>
</hibernate-mapping>
代码出了什么问题,有人请检查并帮我解决这个问题,提前谢谢
错误
org.apache.jasper.JasperException: An exception occurred processing JSP page /register.jsp at line 5
2: <jsp:useBean id="obj" class="com.rajshree.User"></jsp:useBean>
3: <jsp:setProperty property="*" name="obj"/>
4:
5: <% int i=UserDao.register(obj);
6: if(i>0)out.println("You are successfully registered");%>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
root cause
org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1491)
org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
org.hibernate.cfg.Configuration.configure(Configuration.java:1411)
com.rajshree.UserDao.register(UserDao.java:11)
org.apache.jsp.register_jsp._jspService(register_jsp.java:69)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
root cause
org.dom4j.DocumentException: Connection reset Nested exception: Connection reset
org.dom4j.io.SAXReader.read(SAXReader.java:484)
org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1481)
org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
org.hibernate.cfg.Configuration.configure(Configuration.java:1411)
com.rajshree.UserDao.register(UserDao.java:11)
org.apache.jsp.register_jsp._jspService(register_jsp.java:69)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
我在运行代码时得到的堆栈跟踪
答案 0 :(得分:0)
1)将 hibernate.cfg.xml 更改为以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.connection.url">jdbc:sqlserver://localhost;databaseName=MyDB</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="show_sql">true</property>
<mapping resource="user.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>
注意:需要互联网连接
2)使用以下 HibernateUtil 获取SessionFactory对象:
import org.hibernate.HibernateException;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil {
private static SessionFactory sessionAnnotationFactory;
public static SessionFactory getSessionAnnotationFactory() {
if (sessionAnnotationFactory == null) {
sessionAnnotationFactory = buildAnnotationSessionFactory();
}
return sessionAnnotationFactory;
}
private static SessionFactory buildAnnotationSessionFactory() {
SessionFactory sessionFactory = null;
try {
sessionFactory = new AnnotationConfiguration().configure("hibernate.cfg.xml").buildSessionFactory();
} catch (HibernateException e) {
e.printStackTrace();
}
return sessionFactory;
}
}
并获取SessionFactory&amp;会话对象使用以下代码:
SessionFactory sessionFactory = HibernateUtil.getSessionAnnotationFactory();
session = sessionFactory.openSession();