【SpringMVC】注解开发

学习SpringMVC注解开发之前建议先学习SpringMVC的底层工作流程:

【SpringMVC】深入理解DispatcherServlet

使用注解简化SpringMVC

1.导入相关依赖,添加web框架支持

这一步,在 [【SpringMVC】深入理解DispatcherServlet]提到过。

2.在web.xml下注册DispatcherServlet

虽然我们使用注解开发,但其本质还是用DispatcherServlet控制三大组件。

<!--1.注册Dispatcherservlet-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--关联一个springmvc的配置文件:【servlet-name 】 -servlet.xml-->
        <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>
    <!--/匹配所有的请求;(不包括.jsp ) -->
    <!--/*匹配所有的请求;(包括.jsp ) -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

3.编写spring管理的配置文件

<?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:cotext="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 https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!-- 让指定包下的注解生效-->
    <cotext:component-scan base-package="com.kxy.controller"/>
    <!--让SpringMVC不处理静态资源 -->
    <mvc:default-servlet-handler/>
    <!-- 支持mvc注解 包含处理器适配器和处理器映射器-->
    <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.编写HelloController处理器

@Controller
public class HelloController {

    @RequestMapping("/hello")
    public String hello(Model model) {
        model.addAttribute("msg","HelloSpringMVCAnnotation!");
        return "hello";
    }
}

5.启动tomcat服务器并运行url

在这里插入图片描述

总结

流程:

1.首先当客户端的url请求发出的时候,DispatcherServlet接受请求,DispatcherServlet告诉处理器映射器,通过注解@RequestMapping的url来查找对应的处理器,返回执行链给DispatcherServlet。
2.然后DispatcherServlet告诉适配器,适配并且执行处理器HelloController,执行完返回模型和视图对象。
3.DispatcherServlet告诉视图解析器,视图解析器解析modelAndView对象,返回view视图给DispatcherServlet。在这里通过@RequestMapping(“/hello”)下的方法的返回值,根据视图名来跳转到相应的视图。
4.最后,视图交给DispatcherServlet,渲染后响应给客户端。

在这里插入图片描述
其实它的底层的思想是永远不变的。

advantages:

在经过了注解实现SpringMVC后,三大组件里的处理器适配器和处理器映射器不需要我们自己主动注册到spring容器中,只需要一个 < mvc:annotation-driven/>
包含了他们的注解支持,为了让注解生效,我们需要(开启扫描包的注解支持)。仅仅只需要我们配置视图解析器的前后缀。假如你创建的处理器很多的情况下,不再需要像从前那样,建很多处理器的类,还要把他们一个一个装配到容器里。只需要用@RequestMapping就可以完成url和处理器的映射,用@Controller完成到容器的装配。大大简化了开发~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

❀༊烟花易冷ღ

觉得博客写的不错就打赏一下吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值