我得到:HTTP 状态 500 类型的异常报告
- 消息描述:“服务器遇到内部错误 () 阻止它完成此请求”。
-异常:org.hibernate.InvalidMappingException:无法从资源 user.hbm.xml 解析映射文档
-注意 GlassFish Server Open Source Edition 3.1.2.2 日志中提供了异常的完整堆栈跟踪及其根本原因。GlassFish Server 开源版 3.1.2.2
<%--
Document : index
Created on : Sep 24, 2013, 10:26:57 AM
Author : Administrator
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Register</title>
</head>
<center>
<body>
<h1>ENTER DETAILS HERE</h1>
<s:form action="abc">
<s:textfield name="roll" label="Roll No."/></br>
<s:textfield name="name" label="Name"/></br>
<s:textfield name="course" label="Course"/></br>
<s:submit label="Click here to save"></s:submit>
</s:form>
</body>
</center>
</html>
<%--
Document : welcome
Created on : Sep 24, 2013, 11:02:18 AM
Author : Administrator
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Details</title>
</head>
<center>
<body>
<h1>Your details are saved now</h1>
Roll No.: <s:property value="roll"/></br>
Name: <s:property value="name"/></br>
Course: <s:property value="course"/></br>
</body>
</center>
</html>
<?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.hbm2ddl.auto">update</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/dbms</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<mapping resource="user.hbm.xml"/>
</session-factory>
</hibernate-configuration>
<?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="tanuj.Register" table="student">
<id name="id">
<generator class="increment"></generator>
</id>
<property name="roll" type="integer" column="roll"></property>
<property name="name" type="string" column="name"></property>
<property name="course" type="string" column="course"></property>
</class>
</hibernate-mapping>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<action name="abc" class="tanuj.Register">
<result name="success">welcome.jsp</result>
</action>
</package>
</struts>
package tanuj;
import com.opensymphony.xwork2.ActionSupport;
/**
*
* @author Administrator
*/
public class Register extends ActionSupport {
private int roll;
private String name, course;
public int getRoll() {
return roll;
}
public void setRoll(int roll) {
this.roll = roll;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCourse() {
return course;
}
public void setCourse(String course) {
this.course = course;
}
public String execute() {
RegisterSaveHiber.saveUser(this);
return "success";
}
}
package tanuj;
import org.hibernate.Session;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
/**
* Hibernate Utility class with a convenient method to get Session Factory
* object.
*
* @author Administrator
*/
public class RegisterSaveHiber {
public static int saveUser(Register u) {
Session session = new Configuration().configure("/hibernate.cfg.xml").
buildSessionFactory().openSession();
Transaction t = session.beginTransaction();
int i = (Integer) session.save(u);
t.commit();
session.close();
return i;
}
}