【spring mvc】基础概念
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
- 路径相关疑问可参考:http://blog.csdn.net/jackieliulixi/article/details/24556403
- ClassPathXmlApplicationContext
只能读放在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>
【spring mvc】基础概念的更多相关文章
- Spring MVC 基础
Spring MVC 基础 1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是 ...
- Spring MVC基础了解
参考网址:https://www.yiibai.com/spring_mvc/springmvc_overview.html Spring框架相关 Spring Security 一个灵活强大的身份验 ...
- Spring MVC基础
1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是一样的方法.框架只能在技术层 ...
- (一)spring MVC基本概念和流程
MVC的概念 Model(模型):包含数据和行为.不过现在一般都分离开来:Value Object(数据) 和 服务层(行为). View(视图):负责进行模型的展示,一般就是展示给用户的界面. Co ...
- Spring MVC基础知识整理➣环境搭建和Hello World
概述 Spring MVC属于SpringFrameWork的产品,采用Model-View-Controller进行数据交互,已经融合在Spring Web Flow里面.Spring 框架提供了构 ...
- Java Web系列:Spring MVC基础
1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是一样的方法.框架只能在技术层 ...
- Spring MVC基础入门
Spring MVC简介 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱 ...
- spring mvc基础配置
web.xml 配置: <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class> ...
- Spring MVC 基础注解之@RequestMapping、@Controller、(二)
我现在学的是spring4.2 今天主要学习了Spring MVC注解 引入注解可以减少我们的代码量,优化我们的代码. @Controller:用于标识是处理器类: @RequestMapping:请 ...
- Spring MVC 基础笔记
spring mvc功能: 以Controller为中心完成对系统流程的控制管理 从请求中搜集数据 对传入的参数进行验证 将结果返回给视图 针对不同的视图提供不同的解决方案 针对jsp视图技术提供标签 ...
随机推荐
- 【python】多进程多线程
import threading import multiprocessing class MultiThread(threading.Thread): def __init__(self,func, ...
- js定义对象
1.工厂模式 function createPerson(name,age,job){ var o = {}; o.name = name; o.age = age; o.job = job; o.s ...
- CSS清除浮动常用方法小结
1.使用空标签清除浮动.我用了很久的一种方法,空标签可以是div标签,也可以是P标签.我习惯用<P>,够简短,也有很多人用<hr>,只是需要另外为其清除边框,但理论上可以是任何 ...
- Windows版Nginx启动失败之1113: No mapping for the Unicode character exists in the target multi-byte code page
Windows版Nginx启动一闪,进程中未发现nginx进程,查看nginx日志,提示错误为1113: No mapping for the Unicode character exists in ...
- 写了一个简单的CGI Server
之前看过一些开源程序的源码,也略微知道些Apache的CGI处理程序架构,于是用了一周时间,用C写了一个简单的CGI Server,代码算上头文件,一共1200行左右,难度中等偏上,小伙伴可以仔细看看 ...
- jQuery中如何解决多库冲突问题
方法一:使用noConflict():舍弃$,$用jQuery代替jQuery.noConflict(); 方法二:自定义变量:舍弃$,新定义一个$y变量来代替$var $y = jQuery.noC ...
- ASP.NET 4.0尚未在Web服务器注册 解决
http://www.cnblogs.com/lvxiouzi/p/3511446.html 安装asp.net 4.0.30319.0版本 命令: %windir%\Microsoft.NET\Fr ...
- android基础组件---->Picker的使用
Android为提供了一个随时可用的对话框,方便用户选取时间或者日期.今天我们就简单的学习一下Picker的使用.我们的爱,比死亡还要理所当然. Picker的使用 项目结构如下:
- MQTT的学习研究(十)【转】mosquitto——一个开源的mqtt代理
MQTT(MQ Telemetry Transport),消息队列遥测传输协议,轻量级的发布/订阅协议,适用于一些条件比较苛刻的环境,进行低带宽.不可靠或间歇性的通信.值得一提的是mqtt提供三种不同 ...
- eclipse项目更换svn共享库
eclipse项目更换svn共享库 参考内容: http://blog.csdn.net/yang5726685/article/details/59111586 已经共享过的svn项目,更换资源库时 ...