zoukankan      html  css  js  c++  java
  • 条理清晰的搭建SSH环境之整合Struts和Spring

       上文说到搭建SSH环境所需三大框架的jar包,本篇博客将通过修改配置文件整合Struts和Spring,下篇博客整合Hibernate和Spring即可完成环境搭建。

      1、声明bean,新建TestAction.java,需要给类添加注解:@Controller 和 @Scope("prototype");

       “使用@Controller注解标识TestAction之后,就表示要把TestAction交给Spring容器管理,在Spring容器中会存在一个名字为"testAction"的action,这个名字是根据TestAction类名来取的。

       注意:如果@Controller不指定其value【@Controller】,则默认的bean名字为这个类的类名首字母小写,如果指定value【@Controller(value="TestAction")】或者【@Controller("TestAction")】,则使用value作为bean的名字。

      使用@Scope注解,@Scope("prototype")表示将Action的范围声明为原型,可以利用容器的scope="prototype"来保证每一个请求有一个单独的Action来处理,避免struts中Action的线程安全问题。spring 默认scope 是单例模式(scope="singleton"),这样只会创建一个Action对象,每次访问都是同一Action对象,数据不安全,struts2 是要求每次次访问都对应不同的Action,scope="prototype" 可以保证当有请求的时候都创建一个Action对象。”

      2、添加Struts.xml内容,  在<package>下,添加如下配置

            <!-- 配置测试用的action当与spring整合,class=bean的名称(如果bean没有指定value,则首写字母要小写))  -->
            <action name="test" class="testAction">
                <result name="success">/test.jsp</result>
            </action>

      3、在web.xml中配置Spring的监听器。

      

        <!-- 配置spring的用於初始化容器對象的监听器-->
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:applicationContext*.xml</param-value>
        </context-param>

      4、加一个整合的jar包。

      

      Spring与Struts2的整合成功了,只需要两步,一步是添加Spring的监听器,另一方面是添加整合的jar包。

      需要注意的是:要用@Controller注解标记对应表现层的Bean,也就是Action,就可把他交给Spring容器来管理了。具体的注意点上面已经说过了,很轻松就完成二者的整合了。

  • 相关阅读:
    本地及远程二级缓存
    ubuntu下使用golang、qml与ubuntu sdk开发桌面应用
    TCP之心跳包实现思路
    Java读书笔记1
    回文字符串
    6.1 遍历字符串
    linux系统文件夹的作用 good
    在线程中建立Form遇到的问题
    QTabWidget and QTabBar.的文字的颜色设置,三种方法
    Ring3下Hook NtQueryDirectoryFile隐藏文件
  • 原文地址:https://www.cnblogs.com/jyh317/p/3751375.html
Copyright © 2011-2022 走看看