栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring mvc教程(先学spring还是spring mvc)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring mvc教程(先学spring还是spring mvc)

一、概述

MVC是软件工程中的一种软件架构模式,它是一种分离业务逻辑与 显示界面的开发思想。

M(model)模型:处理业务逻辑,封装实体

V(view) 视图:展示内容

C(controller)控制器:负责调度分发(1.接收请求、2.调用模型、3.转发到视图)

SpringMVC 是一种基于 Java 、实现 MVC 设计模型的、请求驱动类型的轻量级 Web 框架,属于SpringframeWork 的后续产品,已经融合在 Spring Web Flow 中。

需求:客户端发起请求,服务器端接收请求,执行逻辑并进行视图跳转。

二、开发步骤 1、导入SpringMVC相关坐标

前提有servlet依赖和jsp依赖

 
        
            javax.servlet
            javax.servlet-api
            3.0.1
            provided
        
        
        
            javax.servlet.jsp
            jsp-api
            2.2
            provided
        

加上

       
            org.springframework
            spring-webmvc
            5.1.2.RELEASE
        
2、配置SpringMVC核心文件 spring-mvc.xml

先去src/Java下面创建controller文件夹,然后在resource下面新建一个xml文件:



    
    


操作完步骤之后,我访问不了页面,有可能跟一开始写的是org.example有关,后来改为com.example之后就成功访问了。

3、配置SpringMVC核心控制器DispathcerServlet

在web.xml中:


        DispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        1
    
    
        DispatcherServlet
        /
    
4、创建Controller类和视图页面
@Controller
public class QuickStart {

    @RequestMapping("/quick")
    public String start() {
        System.out.println("running");
        return "/success.jsp";
    }
}

使用注解配置Controller类中业务方法的映射地址

5、客户端发起请求测试

开启tomcat,跳转到网页http://localhost:8080
改为:http://localhost:8080/quick 看是否访问成功

三、执行流程


    前端控制器:DispatcherServlet

用户请求到达前端控制器,它就相当于 MVC 模式中的 C,DispatcherServlet 是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet 的存在降低了组件之间的耦合性。

    处理器映射器:HandlerMapping

HandlerMapping 负责根据用户请求找到 Handler 即处理器,SpringMVC 提供了不同的映射器实现不同的 映射方式,例如:配置文件方式,实现接口方式,注解方式等

    处理器适配器:HandlerAdapter

通过 HandlerAdapter 对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理 器进行执行。

    处理器:Handler
    它就是我们开发中要编写的具体业务控制器。
    由 DispatcherServlet 把用户请求转发到 Handler。由Handler 对具体的用户请求进行处理。

    . 视图解析器:View Resolver
    View Resolver 负责将处理结果生成 View 视图,View Resolver 首先根据逻辑视图名解析成物理视图名,即
    具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户

    视图:View
    SpringMVC 框架提供了很多的 View 视图类型的支持,包括:jstlView、freemarkerView、pdfView等。最
    常用的视图就是 jsp。一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面

四、注解解析 1. @RequestMapping

用于建立请求 URL 和处理请求方法之间的对应关系

2. @ResponseBody

将java对象转为json格式的数据。
@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。

在使用@RequestMapping后,返回值通常解析为跳转路径,但是加上@ResponseBody后返回的结果不会被解析为跳转路径,而是直接写入HTTP response body中。

比如异步获取json 数据,加上@ResponseBody后,会直接返回json数据。

3. @RequestParam

参数绑定注解@RequestParam

Controller中的业务方法的参数名称要与请求参数的name一致,参数值会自动映射匹配。

当请求的参数名称与Controller的业务方法参数名称不一致时,就需要通过RequestParam注解显示的绑定。

五、spring-mvc.xml配置解析

    SpringMVC基于Spring容器,所以在进行SpringMVC操作时,需要将Controller存储到Spring容器中,如果使用@Controller注解标注的话,就需要使用

进行组件扫描。

    视图解析器:属性注入的方式修改视图的的前后缀



 

这样添加了之后,controller要返回的字符串可以直接写return “success”。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773706.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号