Spring整合web开发

正常整合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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

环信快速集成,以及实际集成中遇到的坑

一.pod集成遇到的问题 1.直接pod 安装 pod EaseUI, :git > https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git 在这个过程中&#xff0c;如果你pod已经安装了sdwebimage&#xff0c;mjrefresh等他自身包含的三方&#xff0c;就需要在你的podfile里面把这个给删…

PAFF 和MBAFF

PAFF 和MBAFF&#xff1a;当对隔行扫描图像进行编码时&#xff0c;每帧包括两个场&#xff0c;由于两个场之间存在较大的扫描间隔&#xff0c;这样&#xff0c;对运动图像来说&#xff0c;帧中相邻两行之间的空间相关性相对于逐行扫描时就会减小&#xff0c;因此这时对两个场分…

Test435678

2345鱼57洋炮456789转载于:https://www.cnblogs.com/rhxuza1993/p/9534938.html

用NPOI从DataBase到Excel '2

NPOI的C# Helper代码2 1 public static MemoryStream ExportXls(DataTable dt)2 {3 HSSFWorkbook wk new HSSFWorkbook();4 ISheet sheet null;5 6 string sheetName "Sheet1";7 if (!string.Is…

CMOS图像传感器——噪声模型

由于CMOS图像传感噪声的复杂性和不可控性,学者们一直在寻求一种能对其比较精确表的噪声模型。在图像降噪领域,为了降低算法设计的复杂度,人们普遍采用基于信道相关噪声的模型(即加性噪声),但其缺点就是不能精确地表示传感器的噪声。于是Hirakawa提出了一 种精确CMOS传感器…

TCp传输粘包问题

解决TCP网络传输“粘包”问题 当前在网络传输应用中&#xff0c;广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口&#xff08;API&#xff09;。TCP/IP传输层有两个并列的协 议&#xff1a;TCP和UDP。其中TCP&#xff08;transport control protocol&#xff0c;传…

AtomicIntegerArray和AtomicIntegerFieldUpdater

2019独角兽企业重金招聘Python工程师标准>>> AtomicIntegerArray 对int数组中元素的操作不是原子性的&#xff0c;所以存在并发操作时&#xff0c;我们应该使用AtomicIntegerArray类来代替int数组。 下面是验证演示代码&#xff1a; public class AtomicIntegerArra…

CMOS图像传感器——高动态范围

动态范围是CMOS 图像传感器中很重要的一项评价指标。动态范围指示了CMOS 图像传感器能够在同一帧图像中同时探测到的最大光强信号和最小光强信号的范围。动态范围通常用dB 形式来表示,其计算公式如下 其中Pmax 和Pmin 分别是最大非饱和光强与最小可探测光强。对于线性…

键盘绑定

1.理论: 从击键到内核,前后的执行情况,之间没有必然关联 按键->csrss.exe->win32!RawInputThread->win32k!OpenDevice->ZwCreateFile->NtCreateFile->ntIopParseDevice->nt!IoGetAttachedDevice ->IoAllocateIrp->nt!ObCreateObject->nt!IopfCal…

《Linux内核设计与实现》读书笔记(七)- 中断处理

中断处理一般不是纯软件来实现的&#xff0c;需要硬件的支持。通过对中断的学习有助于更深入的了解系统的一些底层原理&#xff0c;特别是驱动程序的开发。 主要内容&#xff1a; 什么是中断中断类型中断相关函数中断处理机制中断控制方法总结1. 什么是中断 为了提高CPU和外围硬…

入门视频采集与处理(学会分析YUV数据)

标签&#xff1a;分析码流 视频采集 RGB YUV 原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/823160/555791做视频采集与处理&#xff0c;自然少不了要学会分析…

数字后端——时序验证

时序验证则是采用时序分析等方法验证设计是否满足时序收敛&#xff0c;这些时序检验工作包括反向标定(back-annotation)、时序与功耗的检验、时序与信号完整性的检验和当代低功耗纳米先进设计中的“多模式多端角”(MMMC&#xff0c;multi-mode multi-comer)检验。 一、反向标定…

Hadoop系列(三)MapReduce Job的几种提交运行模式

Job执行可以分为本地执行或者集群执行。hadoop集群安装部署在远程centos系统中。使用经典的WordCount代码为例。 1. 本地执行模式&#xff08;本地为MacOS环境&#xff09;&#xff0c;无需启动远程的hadoop集群&#xff0c;本地job会提交给本地执行器LocalJobRunner去执行。 1…

2600: [Ioi2011]ricehubh

Description 乡间有一条笔直而长的路称为“米道”。沿着这条米道上 R 块稻田&#xff0c;每块稻田的坐标均为一个 1 到 L 之间(含 1 和 L)的整数。这些稻田按照坐标以不减的顺序给出&#xff0c;即对于 0 ≤ i <R&#xff0c;稻田 i 的坐标 X[i]满足 1 ≤ X[0] ≤ ... ≤ X[…

常见视频接口介绍,VGA,YPbPr,DVI,HDMI,DisplayPort

1&#xff0c;VGA(D-SUB) 这种是显示器最常见的&#xff0c;用了很多年&#xff0c;色域空间是RGB&#xff0c;也就是红绿蓝&#xff0c;模拟信号&#xff0c;无音频 插头是15针的&#xff0c;实际所需的最小针数应该是5针&#xff0c;也就是RGB三色信号&#xff0c;水平…

js 对已知数组数据的导出EXCEL

1. 方法一 <a id"frontExportLogLink" href"javascript:void(0)" ng-click"exportLog()" class"btn btn-danger">导出<span class"glyphicon glyphicon-question-sign mgl10" tooltip"{{不支持ie | translate…

芯片面积估计方法

一、概念 芯片面积的主要涵盖部分分为三部分 IO&#xff1a;芯片的信号及电源pad等Standard cell : 实现芯片的功能逻辑Macro block &#xff1a;第三方IP( PLL DAC POR Memory .etc )芯片面积估计就是通过目标工艺的库信息&#xff0c;设计的spec、以往设计的信息及&#xff…

WordPress开发之WP Custom Register Login插件试用

简介 WP Custom Register Login可以为你的WordPress网站前台增加注册、登录、找回密码的功能&#xff1b;你可以通过简码在任何页面上调用。此外&#xff0c;该插件还支持设置自动通过用户的电子邮件验证新帐户激活&#xff0c;自带算术验证码&#xff0c;有效防护垃圾注册。对…

Java数据类型(基本数据类型)学习

Java数据类型&#xff08;基本数据类型&#xff09;学习 与其他语言一样&#xff0c;Java编程同样存在&#xff0c;比如int a&#xff0c;float b等。在学习变量之前我就必须先了解Java的数据类型啦。 Java的数据类型包括基本数据类型和引用数据类型。具体如下&#xff1a; 各数…

电视信号——行场同步

电视信号分NTSC制和PAL制两种制式, NTSC制每秒刷新60次,而PAL制每秒刷新50次。 水平消隐&#xff1a;电子枪从左到右画出象素&#xff0c;它每次只能画一条扫描线&#xff0c;画下一条之前要先回到左边并做好画下一条扫描线的准备&#xff0c;这之间有一段时间叫做水平消隐&…