Hibernate 3.2 + Struts 1.3 + Spring 2.5
<!------------------------------手动配置---------------------------------------->
<!--hibernate.cfg.xml 不是必要-->
<session-factory>
.......
<property name="show_sql">true</property><!-- 不是必要-->
<property name="connection.autocommit">true</property>
</session-factory>
<!--applicationContext.xml action -->
<bean name="/reg" class="com.web.struts.action.RegAction">
<property name="user" ref="userBiz"/>
</bean>
<!--struts-config.xml-->
<action
attribute="userForm"
input="/index.jsp"
name="userForm"
path="/reg"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy" >
</action>
<!--在message-resources 后加入插件 -->
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<!--plug-in-->
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="classpath:applicationContext.xml"/>
</plug-in>
<!--注意:Spring 版本有冲突,将 Spring 2.5 AOP 去掉,否则 报 action :null 异常-->
<!------------------------------自动配置---------------------------------------->
<!-----------------------1: applicationContext.xml--------------->
不用配置action
<!-----------------------2: struts-config.xml------------------->
<!-- 对ActionServlet进行配置 controller放在message-resources前面-->
<!-- action : type不变-->
<action
.....
type="com.hr.struts.action.UsersAction" >
</action>
<controller processorClass="org.springframework.web.struts.AutowiringRequestProcessor" />
<message-resources parameter="com.hr.struts.ApplicationResources" />
<!--------------------3: web.xml------------------------------------->
<!-- 添加Spring的监听器,当Context初始化时就初识化所有的SpringBean -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
-------------------------------------------------------------------------------------------
注意的地方:
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import Idao.IUsersDao;
import entity.*;
public class UsersDao extends HibernateDaoSupport implements IUsersDao {
public SysUser getUserById(String hql) {
//List list = getHibernateTemplate().find(hql);
//SysUser user = (SysUser) super.getObjectById(hql);
//上两行代码 spring 会报异常 说他是 ArrayList的类型,不能转换。
List list=super.getHibernateTemplate().find(hql);
SysUser user=(SysUser)list.get(0);
return user;
}
-------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
<!------------------- Hibernate 3.2 + Struts 2.0.14 + Spring 2.5----------------------------------------------------------------------------->
<!--1 添加struts 2包-->
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.14.jar
struts2-spring-plugin-2.0.14.jar
xwork-2.0.7.jar
<!--2 新建 struts.xml 名字被规定-->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"struts-2.0.dtd">
<struts>
<!-- extends 属性 目前 记住一定要是"struts-default"这个 -->
<package name="default" extends="struts-default">
<!--name 是.action的名字 class="useraction" 是spring.xml配置的action -->
<action name="user" class="useraction">
<result name="success">ok.jsp</result>
</action>
</package>
</struts>
<!--5-------------- applicationContext.xml---------------->
<bean name="useraction" class="actions.UsersAction">
<property name="userBiz" ref="userbiz"></property>
</bean>
<!--3 web.xml------------------------------------>
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- spring 监听 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--4-------- 新建action 是一个普通类,get/set方法,String execute() 方法-->
<!--存入会话中-->
ActionContext.getContext().getSession().put("user", user);
----------------------------------------------------------
结:::还是要去掉spring 2.5 aop
<!----------struts 2 自动装配 默认为 自动装配------------------->
<!--struts.xml -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"struts-2.0.dtd">
<struts>
<!-- extends 属性 目前 记住一定要是"struts-default"这个 -->
<package name="default" extends="struts-default">
<!--name 是.action的名字 class="actions.UsersAction"
是spring.xml配置的原有 action路径 加要执行的方法 method="login"-->
<action name="login" class="actions.UsersAction" method="login">
<result name="success">ok.jsp</result>
</action>
</package>
</struts>
<!------------------------------手动配置---------------------------------------->
<!--hibernate.cfg.xml 不是必要-->
<session-factory>
.......
<property name="show_sql">true</property><!-- 不是必要-->
<property name="connection.autocommit">true</property>
</session-factory>
<!--applicationContext.xml action -->
<bean name="/reg" class="com.web.struts.action.RegAction">
<property name="user" ref="userBiz"/>
</bean>
<!--struts-config.xml-->
<action
attribute="userForm"
input="/index.jsp"
name="userForm"
path="/reg"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy" >
</action>
<!--在message-resources 后加入插件 -->
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<!--plug-in-->
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="classpath:applicationContext.xml"/>
</plug-in>
<!--注意:Spring 版本有冲突,将 Spring 2.5 AOP 去掉,否则 报 action :null 异常-->
<!------------------------------自动配置---------------------------------------->
<!-----------------------1: applicationContext.xml--------------->
不用配置action
<!-----------------------2: struts-config.xml------------------->
<!-- 对ActionServlet进行配置 controller放在message-resources前面-->
<!-- action : type不变-->
<action
.....
type="com.hr.struts.action.UsersAction" >
</action>
<controller processorClass="org.springframework.web.struts.AutowiringRequestProcessor" />
<message-resources parameter="com.hr.struts.ApplicationResources" />
<!--------------------3: web.xml------------------------------------->
<!-- 添加Spring的监听器,当Context初始化时就初识化所有的SpringBean -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
-------------------------------------------------------------------------------------------
注意的地方:
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import Idao.IUsersDao;
import entity.*;
public class UsersDao extends HibernateDaoSupport implements IUsersDao {
public SysUser getUserById(String hql) {
//List list = getHibernateTemplate().find(hql);
//SysUser user = (SysUser) super.getObjectById(hql);
//上两行代码 spring 会报异常 说他是 ArrayList的类型,不能转换。
List list=super.getHibernateTemplate().find(hql);
SysUser user=(SysUser)list.get(0);
return user;
}
-------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
<!------------------- Hibernate 3.2 + Struts 2.0.14 + Spring 2.5----------------------------------------------------------------------------->
<!--1 添加struts 2包-->
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.14.jar
struts2-spring-plugin-2.0.14.jar
xwork-2.0.7.jar
<!--2 新建 struts.xml 名字被规定-->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"struts-2.0.dtd">
<struts>
<!-- extends 属性 目前 记住一定要是"struts-default"这个 -->
<package name="default" extends="struts-default">
<!--name 是.action的名字 class="useraction" 是spring.xml配置的action -->
<action name="user" class="useraction">
<result name="success">ok.jsp</result>
</action>
</package>
</struts>
<!--5-------------- applicationContext.xml---------------->
<bean name="useraction" class="actions.UsersAction">
<property name="userBiz" ref="userbiz"></property>
</bean>
<!--3 web.xml------------------------------------>
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- spring 监听 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--4-------- 新建action 是一个普通类,get/set方法,String execute() 方法-->
<!--存入会话中-->
ActionContext.getContext().getSession().put("user", user);
----------------------------------------------------------
结:::还是要去掉spring 2.5 aop
<!----------struts 2 自动装配 默认为 自动装配------------------->
<!--struts.xml -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"struts-2.0.dtd">
<struts>
<!-- extends 属性 目前 记住一定要是"struts-default"这个 -->
<package name="default" extends="struts-default">
<!--name 是.action的名字 class="actions.UsersAction"
是spring.xml配置的原有 action路径 加要执行的方法 method="login"-->
<action name="login" class="actions.UsersAction" method="login">
<result name="success">ok.jsp</result>
</action>
</package>
</struts>