正常整合Servlet和Spring没有问题的

public class UserServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");UserService userService = (UserService) applicationContext.getBean("userService");userService.sayHello();}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}

但是每次执行Servlet的时候都要加载Spring配置,加载Spring环境,极大地降低效率!!!

解决办法
  1:在Servlet的init方法中加载Spring配置文件?(不好)
    当前这个Servlet可以使用,但是其他的Servlet用不了了!!!如果要使用,必须每个Servlet的init方法中都要加载Spring配置文件,太麻烦(pass)
  2:将加载的信息内容放到ServletContext中(正确)
    ServletContext对象是全局的对象.服务器启动的时候创建的.在创建ServletContext的时候就加载Spring的环境,ServletContextListener用于监听ServletContext对象的创建和销毁
    使用方法
      1:导入Spring web开发jar包:spring-web-3.2.0.RELEASE.jar
      2:将Spring容器初始化,交由web容器负责,配置核心监听器 ContextLoaderListener,配置全局参数contextConfigLocation(用于指定Spring的框架的配置文件位置)
        在web.xml中配置

<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>

        修改程序的代码

public class UserServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {/*也可用这种方式获得applicationContext:WebApplicationContext applicationContext = (WebApplicationContext) getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);*/WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(getServletContext());UserService userService = (UserService) applicationContext.getBean("userService");userService.sayHello();}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}

转载于:https://www.cnblogs.com/fengmingyue/p/6202892.html

Spring整合web开发相关推荐

  1. JAVAWEB开发之Spring详解之——Spring的入门以及IOC容器装配Bean(xml和注解的方式)、Spring整合web开发、整合Junit4测试

    Spring框架学习路线 Spring的IOC Spring的AOP,AspectJ Spring的事务管理,三大框架的整合 Spring框架概述 什么是Spring?  Spring是分层的Java ...

  2. day38 19-Spring整合web开发

    整合Spring开发环境只需要引入spring-web-3.2.0.RELEASE.jar这个jar包就可以了,因为它已经帮我们做好了. Spring整合web开发,不用每次都加载Spring环境了. ...

  3. spring boot 整合web开发之文件上传、静态资源访问、异常处理、返回JSON数据

    目录 springboot 整合web开发 返回json数据 静态资源访问 文件上传 全局异常 1.返回json数据 springboot默认的是jackson-databind做为json处理器.也 ...

  4. spring整合mina开发web项目和简单mina客户端的使用

    场景要求在web项目中使用mina与一些客户端通讯. 一.maven引包 <project xmlns="http://maven.apache.org/POM/4.0.0" ...

  5. spring整合cxf开发rest风格的webservice接口(客户端服务端)

    前面文章记录了在spring中如何整合cxf开发webservice客户端和服务端,其实,相较于原生开发方式,已经有了不少优化.rest风格的开发,作为一种极为流行的开发规范,可以帮助我们更加简洁高效 ...

  6. Spring在web开发中的应用

    (1)在 web 项目中要使用 spring 需要导入一个 jar 包: spring-web-4.2.4.jar包 (2)在 web.xml 文件中配置 Listener <listener& ...

  7. spring整合web

    既然说到web自然就有servlet: public class UserServlet extends HttpServlet { @SuppressWarnings("resource& ...

  8. spring boot web 开发示例

    一.创建Maven工程 创建maven工程,packaging 类型选择jar. 二.配置相关maven依赖. 1,首先你需要在pom中最上方添加spring boot的父级依赖,这样当前的项目就是S ...

  9. spring boot 整合web开发(二)

    目录 自定义错误页 CORS支持(前端跨域请求) 拦截器HandlerInterceptor 启动系统任务 springboot配置AOP 整合servlet.filter.listener 下图为本 ...

最新文章

  1. Brute Force算法介绍及C++实现
  2. 常用API(Object、String、StringBuffer、用户登陆注册)
  3. 用贪心算法解决马踏棋盘问题
  4. 离开网易的转型之路3:热爱测试之路-路上的风景
  5. python将图像转换为8位单通道_【图像处理】OpenCV系列三十五--- equalizeHist函数详解...
  6. 开发经验分享_05_葫芦画瓢
  7. MySQL令人咋舌的隐式转换
  8. C# WebBrowser准确判断网页最终装载完毕
  9. 1999年秋浙江省计算机等级考试二级c 编程题,2004年秋浙江省计算机等级考试二级C 编程题(2) (C++代码)...
  10. 35岁以后的大龄程序员,正处于怎样一种状态?
  11. 同时删除Excel表格中多行隔行空白行
  12. 单片机万年历阴阳历c语言,单片机阴历阳历c算法万年历.pdf
  13. java url 收集
  14. pip国内镜像解决no matching distribution found for XXX
  15. python输入一个字符、如果是大写字母、转换为小写_python语言 输入一个字母 如果它是一个小写英文字母 则把它转换为对应的大写字母输出?...
  16. 古代一两银子值多少人民币?
  17. 代购彷徨,《电商法》指路
  18. 联发科MT7682芯片资料MT7682处理器资料整理
  19. Nginx 启动或重启失败原因总结及解决办法
  20. css总结-笔记--部分非原创--属于资源整合

热门文章

  1. 测试wifi网络常用软件,网络基础-常用网络测试工具
  2. Maven依赖管理和插件配置
  3. matlab相机标定_【显微视界】基于视觉伺服的工业机器人系统研究(摄像机标定、手眼标定、目标单目定位)...
  4. 深度学习(22)神经网络与全连接层五: 误差计算
  5. python对比两张图片_用python实现对比两张图片的不同
  6. 『ACM-数据结构』信息竞赛进阶指南--线段树
  7. 计算机视觉领域热门研究方向state-of-art算法实时更新
  8. 两个实用的Python的装饰器
  9. Eigen密集矩阵求解 2 - 求解最小二乘系统
  10. 【python 6】Numpy