注解开发SpringMVC


注解开发才是SpringMVC的精髓

第一步:新建一个Module,添加Web支持,建立包结构com.luo.controller

第二步:由于Maven可能存在资源过滤问题,我们再03的pom.xml中添加如下代码,完善配置




src/main/resources

**/*.properties
**/*.xml

true


src/main/java

**/*.properties
**/*.xml

true


第三步:在pom.xml文件中引入相关依赖

    主要有Spring框架核心库,SpringMVC,servlet,JSTL等,我们在父依赖中已经引入

第四步:配置web.xml

    注意:1.web.xml版本问题,要最新版

        2.注册DispatcherServlet

        3.关联SpringMVC配置文件

        4.启动级别为 1

        5.映射路径为/(不要用/*)



springmvc
org.springframework.web.servlet.DispatcherServlet


contextConfigLocation
classpath:springmvc-servlet.xml


1




springmvc
/

第五步:添加Spring MVC配置文件

    让IOC的注解生效

    静态资源过滤:HTML,JS,CSS,图片,视频......

    MVC的注解驱动

    配置视图解析器

  在recource目录下添加spring-mvc.xml配置文件,配置的形式与Spring容器配置基本类似,为了支持基于注解的IOC,设置了自动扫描包的功能,具体配置信息如下:

<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">


















第六步:创建Controller

  编写一个Java控制类:com.luo.controller.HelloController,注意编码规范

  @Controller是为了让Spring IOC容器初始化时自动的扫描到

  @RequestMapping是为了映射请求路径,这里因为类与方法上都有映射所以访问时应该是/HelloController/hello

  方法中生命Model类型的参数是为了把Action中的数据带到视图中

  方法返回的结果是视图的名称hello,加上配置文件中的前后缀变成WEB-INF/jsp/hello.jsp 

第七步:创建视图层

  在WEB-INF/jsp目录中创建hello.jsp,视图可以直接取出并展示从Controller带回的信息

   可以通过EL表示取出Model中存放的值,或者对象。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


Title



${msg}

第八步:配置Tomcat,启动测试

小结:

1.新建一个web项目

2.导入相关jar包

3.编写web.xml,注册DispatcherServlet

4.编写springmvc配置文件

5.创建对应的控制类

6.完善前端视图和controller之间的对应

7.测试运行调试

SpringMVC配置三大件:

处理器映射器,处理器适配器,视图解析器

通常只需要手动配置视图解析器,处理器映射器和处理器适配器只需要开启注解驱动即可,而省去了大量的xml配置。