Coin163

首页 > 在web项目中集成Spring

在web项目中集成Spring

2020腾讯云双十一活动,全年最低!!!(领取3500元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1073

2020阿里云双十一最低价产品入口,含代金券(新老用户有优惠),
入口地址https://www.aliyun.com/minisite/goods

相关推荐:Spring Struts (Web)

 一 概念 本方式是使用拦截的方式是Spring和Struts结合在一起 二 在web.xml配置 <context-param>                              //必须放在第一位         <param-name>contextConfigLocation</param-name>         <param-value>/WEB-INF/applicationContext

我们都知道如果要将spring集成到web项目中必须导入spring-web.jar,那么这是为什么呢?


不妨写一个测试servlet,在这个servlet中我们实例化一个在applicationContext.xml文件中配置好的bean,我们测试在doGet方法中调用这个bean:

      ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
     Service service = (Service) applicationContext.getBean("service ");
     service .do();

我们部署这个servlet到tomcat服务器,请求试一下有什么效果,你会发现每次请求都会加载Spring环境也就是spring的所有配置文件,初始化所有Bean ,这就严重导致了服务器的性能资源问题.

相关推荐:使用Maven构建Web项目+Spring+Mybatis配置

http://blog.csdn.net/yuguiyang1990/article/details/8796726 http://blog.csdn.net/yuguiyang1990/article/details/8799307 http://blog.csdn.net/yuguiyang1990/article/details/8801158


解决方法:

    1.将代码放入Servlet的init 中,但是无法保证所有Servlet都能使用我们在改servlet中实例化好的bean.

    2.在web应用中有个全局的ServletContext,而且ServletContextListener的init方法只加载一次将所有的web资源加载到ServletContext中,这样就可以全局使用了.

第二种解决方法就是spring-web.jar的作用,他有一个ContextLoaderListener继承了ServletContextListener,所以我们只要在web.xml中配置这个监听器就继承spring了.

原文

我们都知道如果要将spring集成到web项目中必须导入spring-web.jar,那么这是为什么呢? 不妨写一个测试servlet,在这个servlet中我们实例化一个在applicationContext.xml文件中配置好的bean,我

------分隔线----------------------------