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

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。SpringMVC学习(二)——使用注解开发SpringMVC,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

开发步骤

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

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

<!--导入依赖-->
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.9.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

在这里插入图片描述

2、配置web.xml

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

在这里插入图片描述

  • 注册DispatcherServlet
  • 关联SpringMVC的配置文件
  • 启动级别为1
  • 映射路径为/(不能使用/*会使路径死循环404)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">


    <!--配置DispatcherServlet:这个是SpringMVC的核心:请求分发器、前端控制器-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--DispatcherServlet要绑定Spring的配置文件-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value><!--链接到配置文件-->
        </init-param>
        <!--启动级别 1 意味着与服务器一起启动-->
        <load-on-startup>1</load-on-startup>

    </servlet>
    
    <!--在Springmvc中,
    / 只匹配所有的请求,不会去匹配jsp
    /* 匹配所有的请求包括jsp页面-->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

3、添加Spring MVC配置文件

在这里插入图片描述

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

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

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       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">

    <!--自动扫描包,让指定包下的注解生效,由IOC容器统一管理-->
    <context:component-scan base-package="com.my.controller"/>
    <!--让Spring MVC不处理静态资源,过滤静态资源 .css .js .html .mp3 .mp4-->
    <mvc:default-servlet-handler/>
    <!--支持mvc注解驱动
    在Spring中一般采用@RequestMapping注解来完成映射关系
    要想使@RequestMapping注解生效 必须向上下文中注册DefaultAnnotationHandlerMapping
    和一个AnnotationMethodHandlerAdapter实例这两个实例分别在类级别和方法级别处理。
    而annotation-driven配置帮助我们自动完成上述两个实力的注入-->
    <mvc:annotation-driven/>

    <!--视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          id="internalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--后缀-->
        <property name="suffix" value=".jsp"/>

    </bean>
</beans>

4、创建Controller

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

在这里插入图片描述

package com.my.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/HelloController")
public class HelloController {

    //真实访问地址:项目名/HelloController/hello
    @RequestMapping("/hello")
    public String hello(Model model){
        //封装数据,在模型中添加属性msg值,可以在jsp页面中取出并渲染
        model.addAttribute("msg","Hello,SpringMVCAnnotation!");
        //WEB-INF/jsp/hello.jsp
        return "hello";//会被视图解析器处理
    }
}


5、创建视图层

在这里插入图片描述


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

${msg}

</body>
</html>

运行TomCat

在这里插入图片描述

在这里插入图片描述

总结

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/152873.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!