您的位置:首页 > 编程语言 > Java开发

Spring在Web项目中的三种启动加载的配置

2013-09-29 01:05 489 查看
在最近的项目中,使用到了spring相关的很多东西,有点把spring的配置给搞混了,从网上查到的资料以及整理了一下。

在Web项目中,启动spring容器的方式有三种,ContextLoaderListener; ContextLoaderServlet
;ContextLoaderPlugIn

  1.在web.xml中配置ContextLoaderListener,如

 <context-param>

        <param-name>contextConfigLocation</param-name>

        <param-value>/WEB-INF/spring-context.xml</param-value>

    </context-param>

    

    <listener>

        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

     </listener> 

可以通过<import resource ="classpath:spring/spring-xxx.xml "/>的方式把其他的配置抱进来。

 

2.在web.xml中配置ContextLoaderServlet,如

 <servlet>

        <servlet-name>context</servlet-name>

        <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>

        <load-on-startup>1</load-on-startup>

      </servlet> 

这种方式,spring3.0以后不再支持了

 

3.通过plugin配置,如

<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">

        <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"/>

    </plug-in> 

该方式适用于, spring与struts等整合,在Struts的配置文件struts-config.xml里面配置一个ContextLoaderPlugIn,用于spring的初始化工作。

在此建议使用用ContextLoaderListener。

此外,如果使用到了spring-mvc的话,在web.xml中配置DispatcherServlet,如下:

<servlet>

        <servlet-name>spring</servlet-name>

        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <load-on-startup>1</load-on-startup>

    </servlet>

    <servlet-mapping>

        <servlet-name>spring</servlet-name>

        <url-pattern>/</url-pattern>

    </servlet-mapping> 

 

如果使用到了spring-security的话,在web.xml中配置FilterChain如下:

<filter>

        <filter-name>springSecurityFilterChain</filter-name>

        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>

        <init-param>

            <param-name>contextAttribute</param-name>

            <param-value>org.springframework.web.servlet.FrameworkServlet.CONTEXT.spring</param-value>

        </init-param>

    </filter>

    <filter-mapping>

        <filter-name>springSecurityFilterChain</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping> 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring3
相关文章推荐