SSH开发环境的配置:web.xml、Spring集成hibernate和Spring集成Struts2

发布于:2021-09-21 17:55:23

一、struts + hibernate + Spring整合开发包的导入:从myeclipse集成开发工具中导入或者从相应网站下载然后放在工程项目WEB-INF包下的lib包内即可。


二、本文主要说明开发包导入后对配置文件的配置。


三、相应配置文件的配置:web.xml、struts.xml、applicationContext.xml。


1.在web.xml配置中配置Spring和Struts2


在web.xml中需要配置Struts2的Filter、Spring配置文件的位置、加*鳌pring使用Listener进行初始化,Struts2使用Filter作为分发器,将以“.action”结尾的URL及以/struts开的URL交给Struts2处理。代码如下:


web.xml



? ? ? ? ?contextConfigLocation ? ? ? ? ? ?


? ? ? ? ?


classpath:applicationContext.xml


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?






org.springframework.web.context.ContextLoaderListener









? struts2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
? org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter ? ? ? ? ? ??
?

?

?
? struts2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? /* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?




2.在struts2配置文件中配置Spring


? ? ? ? ?PersonAction(以PersonAction为例,是一个java类)需要配置到Struts2配置文件struts.xml中。一定要用添加名struts.objectFactory的常量,把值设为spring,表示该Action由Spring产生。然后配置PersonAction时,把的class属性改为personAction(任意的标识符都可以)。Struts2将会到Spring中寻找名为personAction的PersonAction对象。struts.xml配置代码如下:


? ? ? ? ? ? ? ? ? ? ? ? struts.xml




? ?
? ?






? ?


/login.jsp

/error.jsp

/exception.jsp



? ? ? ? ? ? ?
/login.jsp
/success.jsp


/list.jsp


? ?




3.Spring中配置Action、Service和Dao.


? ? ? Spring负责生成Action对象。id属性对就struts.xml中的class属性。因为Struts2的Action不是单个实例,因此scope属性需要配置为prototype(默认为singleton,只会生成一个实例)。配置代码如下:


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?applicationContext.xml














class="com.standard.action.PersonAction" > ? ? ? ? ? ? ? ? ? ? ? ? ? ?


? ? ? ? ? ? ??

? ? ? ? ? ? ? ?


提示:一定要配置Struts2的Action的scope的属性为prototype。浏览器每请求一次Struts2.Spring都会生成一个新的Action对象。




4.配置集成Hibernate


? ? ? ?传统上讲,Spring需要一个配置文件,Hibernate也需要一个配置文件。在Spring中,可以只使用Spring的配置文件。下面是Hibernate在Spring中的配置。


? ? ? ?(1).在Spring中配置Hibernate


? ? ? ? ? ? ? ? 由于Hibernate全部交给Spring来管理,Hibernate不再需要自已的配置文件,所有的参数都配置在Spring中。Spring中需要配置数据源、SessionFactory及PersonDaoImpl,并配置实体类。代码如下:


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?applicationContext.xml


destroy-method="close">

com.mysql.jdbc.Driver



jdbc:mysql://127.0.0.1:3306/ssh?useUnicode=true&characterEncoding=UTF-8


root


123456





5





30





5





60





5





60




class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">





org.hibernate.dialect.MySQLDialect
false
true
auto
true

org.hibernate.connection.C3P0ConnectionProvider.class





com/standard/pojo/Person.hbm.xml








下面是三个配置文件完整的配置(下面实用的是Familly实例):


web.xml



xmlns="http://java.sun.com/xml/ns/javaee"?
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee?
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">




org.springframework.web.context.ContextLoaderListener





contextConfigLocation

classpath:applicationContext.xml





?
? ? index.jsp
?

?
? struts2
?
? org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
?

?

?
? struts2
? /*
?





sturts.xml







"http://struts.apache.org/dtds/struts-2.1.dtd">






? ?

? ?





























/login.jsp





/error.jsp





/exception.jsp














/login.jsp


/success.jsp








/list.jsp







? ?



applicationContext.xml





xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

destroy-method="close">

com.mysql.jdbc.Driver



jdbc:mysql://127.0.0.1:3306/ssh?useUnicode=true&characterEncoding=UTF-8


root


123456





5





30





5





60





5





60




class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">





org.hibernate.dialect.MySQLDialect
false
true
auto
true

org.hibernate.connection.C3P0ConnectionProvider.class





com/standard/pojo/Familly.hbm.xml
















PROPAGATION_REQUIRED















































相关推荐

最新更新

猜你喜欢