SpringMVC基础

一.SpringMVC

  1. 什么是MVC (Model 模型 View 视图 Controller 控制器)?
    是一种软件架构思想,将一个软件可以划分成模型、视图和控制器这样三种不同类型的模块,其中,模型用来封装业务逻辑,视图用来处理表示逻辑,控制器用来协调模型和视图(即视图发送请求给控制器,由控制器调用相应的模型来处理;模型将处理结果发送给控制器,由控制器选择相应的视图来展现处理结果)。
    模型(业务逻辑):由java类来封装业务逻辑。
    视图(表示逻辑):由jsp来处理。
    注:表示逻辑包含了数据的展现,另外,还有操作界面。
    控制器: 由Servlet来处理。
    这里写图片描述

  2. MVC优点?
    1)方便维护:模型发生修改,不影响视图;反之,修改视图,也不影响模 型。
    2)方便测试:如果将业务逻辑写在servlet里面,需要部署之后才能
    测试,则写在java类里面,可以直接测试。

  3. 什么是SpringMVC?
    是一个用来简化基于MVC架构的web应用程序开发的框架。
    注:SpringMVC是Spring框架的一部分。

  4. 五大组件
    1)DispatcherServlet 前端控制器(相当于ActionServlet)
    2)HandlerMapping 映射处理器 (请求路径与模型的对应关系)
    3)Controller 处理器 (业务逻辑的处理)
    4)ModelAndView (封装处理器的处理结果,有数据和视图名)
    5)ViewResovler 视图解析器 (视图名跟真正的视图对象的对应关系)
    step1. DispatcherServlet收到请求之后,依据HandlerMapping的配置,调用对应的Controller来处理。
    step2. Controller将处理结果封装成ModelAndView对象,返回给DispatcherServlet。
    step3. DispatcherServlet依据ViewResolver的解析调用对应的视图对象(比如某个jsp)来展现处理结果。
    这里写图片描述

  5. 编程步骤
    step1. 导包 (spring-webmvc)
    step2. 添加spring的配置文件。
    step3. 配置DispatcherServlet。
    step4. Controller类。
    step5. jsp。
    step6. 配置HandlerMapping,ViewResolver。
    这里写图片描述

二.基于注解的springmvc应用

  1. 编程步骤
    step1. 导包 (spring-webmvc)
    step2. 添加spring的配置文件
    step3. 配置DispatcherServlet
    step4. 写Controller
    这里写图片描述
    step5. 写jsp
    step6. 配置组件扫描,mvc注解扫描和视图解析器

  2. web.xml文件

    <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class>
    <!-- DispatcherServlet的初始化方法在执行时,会自动启动spring容器,contextConfigLocation初始化负责
    指定spring配置文件的位置。 
    注: 默认的spring配置文件名是 WEB-INF/servlet-name-servlet.xml。 -->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
  3. applicationContext.xml文件

    <!-- 配置HandlerMapping -->
    <!-- HandlerMapping负责提供 请求路径与Controller的对应关系 -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="/hello.do">helloController</prop>
        </props>
    </property>
    </bean>
    <!-- 配置处理器(Controller) -->
    <bean class="controller.HelloController" id="helloController"/>
    <!-- 配置视图解析器 -->
    <!-- 负责将视图名定位到某个具体的视图对象(比如某个jsp) -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/"/>
    <property name="suffix" value=".jsp"/>
    </bean>
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值