SpringMVC学习(二)——使用注解开发SpringMVC

迈不过友情╰ 2023-01-07 07:13 280阅读 0赞

使用注解开发SpringMVC

  • 开发步骤
    • 1、在pom.xml文件中引入相关依赖
    • 2、配置web.xml
    • 3、添加Spring MVC配置文件
    • 4、创建Controller
    • 5、创建视图层
    • 运行TomCat
  • 总结

开发步骤

1、在pom.xml文件中引入相关依赖

主要有Spring框架核心库,SpringMVC、servlet、JSTL等

  1. <!--导入依赖-->
  2. <dependencies>
  3. <dependency>
  4. <groupId>junit</groupId>
  5. <artifactId>junit</artifactId>
  6. <version>4.13</version>
  7. <scope>test</scope>
  8. </dependency>
  9. <dependency>
  10. <groupId>org.springframework</groupId>
  11. <artifactId>spring-webmvc</artifactId>
  12. <version>5.2.9.RELEASE</version>
  13. </dependency>
  14. <dependency>
  15. <groupId>javax.servlet</groupId>
  16. <artifactId>servlet-api</artifactId>
  17. <version>2.5</version>
  18. </dependency>
  19. <dependency>
  20. <groupId>javax.servlet</groupId>
  21. <artifactId>jstl</artifactId>
  22. <version>1.2</version>
  23. </dependency>
  24. </dependencies>

在这里插入图片描述

2、配置web.xml

  • 注意web.xml版本,要最新版

在这里插入图片描述

  • 注册DispatcherServlet
  • 关联SpringMVC的配置文件
  • 启动级别为1
  • 映射路径为/(不能使用/*会使路径死循环404)

    <?xml version=”1.0” encoding=”UTF-8”?>

  1. <!--配置DispatcherServlet:这个是SpringMVC的核心:请求分发器、前端控制器-->
  2. <servlet>
  3. <servlet-name>springmvc</servlet-name>
  4. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  5. <!--DispatcherServlet要绑定Spring的配置文件-->
  6. <init-param>
  7. <param-name>contextConfigLocation</param-name>
  8. <param-value>classpath:springmvc-servlet.xml</param-value><!--链接到配置文件-->
  9. </init-param>
  10. <!--启动级别 1 意味着与服务器一起启动-->
  11. <load-on-startup>1</load-on-startup>
  12. </servlet>
  13. <!--在Springmvc中,
  14. / 只匹配所有的请求,不会去匹配jsp
  15. /* 匹配所有的请求包括jsp页面-->
  16. <servlet-mapping>
  17. <servlet-name>springmvc</servlet-name>
  18. <url-pattern>/</url-pattern>
  19. </servlet-mapping>
  20. </web-app>

3、添加Spring MVC配置文件

在这里插入图片描述

  • 让IOC的注解生效
  • 静态资源过滤:HTML、JS、CSS、图片、视频等等
  • MVC的注解驱动
  • 配置视图解析器

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

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context.xsd
  10. http://www.springframework.org/schema/mvc
  11. http://www.springframework.org/schema/mvc/spring-mvc.xsd">
  12. <!--自动扫描包,让指定包下的注解生效,由IOC容器统一管理-->
  13. <context:component-scan base-package="com.my.controller"/>
  14. <!--让Spring MVC不处理静态资源,过滤静态资源 .css .js .html .mp3 .mp4-->
  15. <mvc:default-servlet-handler/>
  16. <!--支持mvc注解驱动
  17. 在Spring中一般采用@RequestMapping注解来完成映射关系
  18. 要想使@RequestMapping注解生效 必须向上下文中注册DefaultAnnotationHandlerMapping
  19. 和一个AnnotationMethodHandlerAdapter实例这两个实例分别在类级别和方法级别处理。
  20. 而annotation-driven配置帮助我们自动完成上述两个实力的注入-->
  21. <mvc:annotation-driven/>
  22. <!--视图解析器-->
  23. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
  24. id="internalResourceViewResolver">
  25. <!--前缀-->
  26. <property name="prefix" value="/WEB-INF/jsp/"/>
  27. <!--后缀-->
  28. <property name="suffix" value=".jsp"/>
  29. </bean>
  30. </beans>

4、创建Controller

  • @Controller是为了让Spring IOC容器初始化时能够自动扫描到
  • @RequestMapping是为了映射请求路径,因为这里在类上和方法上都有映射所以在路径上要先访问类再访问方法真实访问地址:项目名/HelloController/hello
  • 方法中生命Model类型的参数是为了把Action中的数据带到视图中
  • 方法返回的结果是视图的名称hello,加上配置文件中的前后缀变成WEB-INF/jsp/hello.jsp

在这里插入图片描述

  1. package com.my.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.ui.Model;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. @Controller
  6. @RequestMapping("/HelloController")
  7. public class HelloController {
  8. //真实访问地址:项目名/HelloController/hello
  9. @RequestMapping("/hello")
  10. public String hello(Model model){
  11. //封装数据,在模型中添加属性msg值,可以在jsp页面中取出并渲染
  12. model.addAttribute("msg","Hello,SpringMVCAnnotation!");
  13. //WEB-INF/jsp/hello.jsp
  14. return "hello";//会被视图解析器处理
  15. }
  16. }

5、创建视图层

在这里插入图片描述

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>Title</title>
  5. </head>
  6. <body>
  7. ${
  8. msg}
  9. </body>
  10. </html>

运行TomCat

在这里插入图片描述

在这里插入图片描述

总结

  • 1.新建一个web项目
  • 2.导入相关jar包
  • 3.编写web.xml,注册DispatcherServlet
  • 4.编写springmvc配置文件
  • 5.接下来就是去创建对应的控制类,controller
  • 6.最后完善前端视图和controller之间的对应
  • 7.测试运行调试.

使用springMVC必须配置的三大件: 处理器映射器、处理器适配器、视图解析器

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

发表评论

表情:
评论列表 (有 0 条评论,280人围观)

还没有评论,来说两句吧...

相关阅读

    相关 04_springmvc注解开发

    一.注解开发 **需求:**1、进入商品查询列表页面。    2、点击修改,进入商品修改页面,页面中显示了要修改的商品(从数据库查询),要修改的商品从数据库查询,根...