Struts+Spring+Hibernate 的两种组合

来源:互联网 发布:kubectl设置集群端口 编辑:程序博客网 时间:2024/04/28 05:45
 两个 Struts+Spring+Hibernate 的例子,一个是 Spring Live 中第二章的 myusers,一个是 Wiring your web application with open source java(这个文档网上有中文也有英文的) 中的例子,这里我取名为 SSHTest。 在 MyEclipse 中建立这两个工程并调试成功后,我看到这两个工程在组合 Struts、Spring、Hibernate 的时候有点点不同,下面就三个配置文件(web.xml、struts-config.xml、applicationContext.xml、)来看他们的不同:

myusers 的 web.xml 没有引入什么特别的。

SSHTest 的 web.xml :
通过: 
   <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener-->
或:
   <servlet>
      <servlet-name>SpringContextServlet</servlet-name>
      <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>
Web 容器会自动加载 /WEB-INF/applicationContext.xml 初始化 ApplicationContex t实例;
也可以通过
   <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/applicationContext-*.xml</param-value>
   </context-param>
使 Web 容器加载指定名称路径的 Spring 配置文件。

myusers 的 struts-config.xml
通过
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
        <set-property property="contextConfigLocation"
            value="/WEB-INF/applicationContext.xml,
                   /WEB-INF/action-servlet.xml"/>
    </plug-in>
来加载 Spring 配置文件。

而 SSHTest 的 struts-config.xml 又没有什么特别之处了。

两个工程的 applicationContext.xml 都大同小异。

由上可以看出,即可以使用 web.xml 来使 Web 容器加载 Spring,也可以通过 struts-config.xml 来使 Web 容器加载 Spring。

原创粉丝点击