1、容器

  • servlet容器

负责管理servlet生命周期。

  • web容器–tomcat

负责管理和部署web应用,其本身可能具备servlet容器组件;如果没有,一般能将第三方servlet容器作为组件整合进web容器。 web容器好比”电视机”,servlet容器好比”VCD”。没有VCD你可以看电视,但是有了VCD没有电视机,你从哪看起? 没有servlet容器,你也可以用web容器直接访问静态页面,比如安装一个apache等,但是如果要显示jsp/servlet,你就要安装一个 servlet容器了,但是光有servlet容器是不够的,因为它要被解析成html输出,所以你仍需要一个web容器.大多数servlet容器同时提供了web容器的功能,也就是说大多servelt可以独立运行你的web应用。

  • IOC容器–Spring Bean Factory

BeanFactory负责配置、创建、管理Bean,他有一个子接口:ApplicationContext,因此也称之为Spring上下文。Spring容器负责管理Bean与Bean之间的依赖关系。

  • Spring容器–Spring Application Context

2、Spring Application Context

只能读放在web-info/classes目录下的配置文件,如图所示:

1.没有前缀:默认为项目的classpath下相对路径 ApplicationContext appCt = new ClassPathXmlApplicationContext(“app.spring.xml”);

2.前缀classpath:表示的是项目的classpath下相对路径 ApplicationContext appCt = new ClassPathXmlApplicationContext(“classpath:app.spring.xml”);

3.使用前缀file 表示的是文件的绝对路径 ApplicationContext appCt = new ClassPathXmlApplicationContext(“file:D:/app.spring.xml”);

4.可以同时加载多个文件 String[] xmlCfg = new String[] { “classpath:base.spring.xml”,”app.spring.xml”}; ApplicationContext appCt = new ClassPathXmlApplicationContext(xmlCfg);

5.使用通配符加载所有符合要求的文件 ApplicationContext appCt = new ClassPathXmlApplicationContext(“*.spring.xml”); ClassPathXmlApplicationContext是spring的容器,用于解析spring的beans.xml,获取响应的bean。 ApplicationContext实例是spring的核心,它既是一个巨大的工厂,还是一个功能超强的工厂。spring框架的绝大部分功能都是通过该容器实现的。 spring就是使用xml配置文件来实现程序中对象的调用,指定实例间的依赖关系。所谓依赖关系,如果a调用了b的方法,就可以称a依赖于b。

  • FileSystemXmlApplicationContext

1.默认为项目工作路径 即项目的根目录 ApplicationContext appCt2 = new FileSystemXmlApplicationContext(“src/main/resources/app.spring.xml”);

2.前缀classpath:表示的是项目的classpath下相对路径 ApplicationContext appCt2 = new FileSystemXmlApplicationContext(“classpath:app.spring.xml”);

3.使用前缀file 表示的是文件的绝对路径 ApplicationContext appCt2 = new FileSystemXmlApplicationContext(“file:D:/app.spring.xml”); ApplicationContext appCt2 = new FileSystemXmlApplicationContext(“D:/app.spring.xml”);

4.可以同时加载多个文件 String[] xmlCfg = new String[] { “src/main/resources/base.spring.xml”,”classpath:app.spring.xml”}; ApplicationContext appCt2 = new FileSystemXmlApplicationContext(xmlCfg);

5.使用通配符加载所有符合要求的文件 ApplicationContext appCt2 = new FileSystemXmlApplicationContext(“classpath:*.spring.xml”);

3、servletContext

参考:https://my.oschina.net/u/1398304/blog/261236

Servlet容器在启动一个Web应用时,会为它创建一个servletContext对象。每个web应用有唯一的servletContext对象。同一个web应用的所有servlet对象共享一个serveltContext,servlet对象可以通过它来访问容器中的各种资源。

如果一个参数为整个web应用所用,那么就配置为ServletContext参数,如下所示:

<context-param>
<param-name>encoding</param-name>
<param-value>gb2312</param-value>
</context-param>

如果一个参数仅为一个Servlet所用,那么就应该配置为ServletConfig参数,如下所示:

<servlet>
<servlet-name>affice_add</servlet-name>
<servlet-class>servlet.Affice_add</servlet-class>
<init-param>
<param-name>filepath</param-name>
<param-value>/webContent/affice</param-value>
</init-param>
</servlet>

最新文章

  1. Android studio debug模式获取变量的值
  2. Selenium2+python自动化3-解决pip使用异常
  3. iOS开发 multipart 上传多张图片
  4. eclipse workspace出错而导致启动不了
  5. nohup.out
  6. 敏捷开发用户故事系列之十一:CSDN博客用户故事分析
  7. CentOS 7下安装X Window
  8. 用DriverStudio开发USB驱动程序
  9. 【LOJ#2402】[THUPC2017]天天爱射击(整体二分)
  10. (最完美)小米平板3的USB调试模式在哪里开启的流程
  11. 【Linux】Jenkins安装(二)
  12. Django项目中自定义manage命令
  13. p6spy简介
  14. EF code first,set composite primary key 复合key问题
  15. mysql 查看建表语句
  16. Lodop打印条码二维码的一些设置
  17. Android手机刘海屏(附工具类)
  18. ubuntu18.10安装网易云音乐
  19. java 并查集
  20. Could not find a version that satisfies.... No matching distribution found for .....

热门文章

  1. Java 中 Map与JavaBean实体类之间的相互转化
  2. Cocostudio学习笔记(2) Button + CheckBox
  3. linux下更改vncserver的密码
  4. ASP代码审计学习笔记-1.SQL注入
  5. Python 对目录做遍历
  6. CentOS5.5环境下布署LVS+keepalived
  7. List转换为数组Array的方法
  8. /usr/local/java/jdk1.8.0_11
  9. java基础----&gt;多线程之ThreadLocal(七)
  10. java高级----&gt;Thread之Condition的使用