📅  最后修改于: 2021-01-02 15:55:21             🧑  作者: Mango
我们可以将任何struts应用程序与hibernate集成。无需额外的努力。
在此示例中,我们将结合使用带有休眠的struts 2框架。您需要具有Struts 2和休眠状态的jar文件。
在此示例中,我们将使用struts2创建注册表单,并使用Hibernate将这些数据存储到数据库中。让我们看看为将struts2应用程序与hibernate集成而应该创建的文件。
在此页面中,我们使用struts标记创建了一个表单。该表单的动作名称是register。
<%@ taglib uri="/struts-tags" prefix="S" %>
这是一个简单的POJO类。在这里,它用作struts的action类和hibernate的持久类。它调用RegisterDao类的register方法,并以字符串返回成功。
package com.javatpoint;
public class User {
private int id;
private String name;
//getters and setters
public String execute(){
RegisterDao.saveUser(this);
return "success";
}
}
这是一个Java类,它使用Hibernate框架保存User类的对象。
package com.javatpoint;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class RegisterDao {
public static int saveUser(User 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;
}
}
该映射文件包含永久类的所有信息。
此配置文件包含有关数据库和映射文件的信息。在这里,我们使用hb2ddl.auto属性,因此您无需在数据库中创建表。
update
org.hibernate.dialect.Oracle9Dialect
jdbc:oracle:thin:@localhost:1521:xe
system
oracle
oracle.jdbc.driver.OracleDriver
该文件包含有关要调用的动作类的信息。这里的动作类是User。
welcome.jsp
这是欢迎文件,显示带有用户名的欢迎消息。
这是web.xml文件,其中包含有关控制器的信息。对于Struts2,StrutsPrepareAndExecuteFilter类用作控制器。
index.jsp
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*