1.导入struts,spring,hibernate所需的相应包文件
2.web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>SSH</display-name>
<!--Struts所需的配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--Struts整合Spring所需的配置 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
</listener>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- struts2委托spring管理 -->
<constant name="struts.objectFactory" value="spring" />
<!-- struts2的包配置 -->
<package name="demo_action" extends="struts-default">
<action name="userDetail" class="userDetailBean" method="get">
<result >/userDetail.jsp</result>
</action>
</package>
</struts>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd ">
<!--采用单例形式配置Hibernate的SessionFactory,以classpath形式调用hibernate的配置文件 -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
<!-- 采用单例形式配置Hibernate的transactionManager -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- userDao的实现者 -->
<bean id="userDao" class="dao.hibernate.UserDaoHibernate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- Id与struts.xml配置的class相同,此处的Class为真实的Class -->
<bean id="userDetailBean" class="action.UserAction" scope="prototype">
<property name="userDao">
<ref bean="userDao" />
</property>
</bean>
</beans>
package dao;
import java.util.List;
import entites.Userinfo;
public interface UserDao {
public abstract Userinfo get(int userId);
}
package dao.hibernate;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import dao.UserDao;
import entites.Userinfo;
public class UserDaoHibernate extends HibernateDaoSupport implements UserDao {
@Override
public Userinfo get(int userId) {
return (Userinfo) getHibernateTemplate().get(Userinfo.class, userId);
}
}
package action;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import dao.UserDao;
import entites.Userinfo;
public class UserAction extends ActionSupport {
private UserDao userDao;
public void setUserDao(UserDao dao) {
userDao = dao;
}
public String get()
{
Userinfo userinfo=userDao.get(40);
setUserInfo(userinfo);
return super.SUCCESS;
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
table {
border: 1px solid black;
border-collapse: collapse;
}
table tbody tr td {
border: 1px solid black;
padding: 3px;
}
</style>
</head>
<body>
UserDetail
<table>
<tr><td>UserName:</td><td>${requestScope.UserInfo.userName}</td></tr>
<tr><td>PassWord:</td><td>${requestScope.UserInfo.password}</td></tr>
</table>
</body>
</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.bytecode.use_reflection_optimizer">false</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">111</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/javadb</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="entites/Userinfo.hbm.xml" />
</session-factory>
</hibernate-configuration>
10.Userinfo.hbm.xml文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2011-1-7 15:19:38 by Hibernate Tools 3.2.4.GA -->
<hibernate-mapping>
<class name="entites.Userinfo" table="userinfo" catalog="javadb">
<id name="userId" type="java.lang.Integer">
<column name="UserId" />
<generator class="identity" />
</id>
<property name="userName" type="string">
<column name="UserName" length="30" />
</property>
<property name="password" type="string">
<column name="Password" length="100" />
</property>
<property name="height" type="java.lang.Integer">
<column name="Height" />
</property>
<property name="birth" type="date">
<column name="Birth" length="10" />
</property>
<property name="ip" type="string">
<column name="Ip" length="20">
<comment>last ip address</comment>
</column>
</property>
</class>
</hibernate-mapping>
浙公网安备 33010602011771号