Spring MVC----基础

在Web容器中使用Spring MVC 必须进行四项的配置:添加servlet定义、编写servletname-servlet.xml、配置contextConfigLocation初始化参数、配置ContectLocationlistener.

在Web项目中配置Spring的IoC容器(使用 Spring IoC 的项目都必须配置):

//配置contextConfigLocation初始化参数
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicaitonContext.xml</param.value>
</context-param>

//配置ContextLocationListener
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listenter-class>
</listener>

在Web项目中配置Spring MVC:

<servlet>
    <servlet-name>spring mvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatchDervlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>spring mvc</servlet-name>
    <url-pattern>/</url-pattern>        
</servlet-mapping>
  • ContextLoaderListener:是在Web容器启动的时候启动,默认加载/WEB-INF/applicationContext.xml,并创建一个 WebApplicationContext 容器。
  • DispatcherServlet是在第一次访问应用时创建的,默认会将配置在/WEB-INF/-servlet.xml配置文件,然后创建一个WebApplicationContext,这个WebApplicationContext 将ContextLoaderListener 创建的容器作为父类容器,父类容器中配置的左右bean都能够被注入到子容器中。

Spring MVC 的工作原理:
这里写图片描述

① 客户端的所有请求都交给前端控制器 DispatherServlet 来处理,它会负责调用系统的其他模块来真正处理用户请求。
② DispatcherServlet 收到请求后,将根据请求信息(包括 URL 、HTTP 协议方法、请求头、请求参数、Cookie等)以及HandlerMapping 的配置找到处理请求的Handler (任何一个对象都可以作为Handler)。
③ Spring 会通过HandlerAdapter 对该处理器进行封装。
④ HandlerAdapter 是一个适配器,它统一的接口对各种Handler中方法进行调用。
⑤ Handler 完成对用户请求的处理后,会返回一个ModelAndView 对象给DispatcherServlet,ModelAndView 包含了数据模型以及相应的视图信息。
⑥ ModelAndView 的视图是逻辑视图,DispatcherServlet 还要借助 ViewResolver 完成从逻辑试图到真实视图对象的解析工作。
⑦ 当得到真正的视图对象后,DispatcherServlet 会利用视图对象模型数据进行渲染。
⑧ 客户端得到响应,可能是一个普通的HTML试图,也可能是一个XML或者JSON字符串,还可以使一张图片或者一个 PDF文件。

利用C3P0在Spring IoC容器中配置数据源:

<context:property-placeholder location="jdbc.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDateSource destroy-method="close">
<property name="driverClass" value="${jdbc.ClassName}"/>
<property name="url" value="${jsbc.url}"/>
<property name="user" value="${jdbc.uername}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值