SpringMVC(一)

1.SpringMVC简介

1.1 什么是MVC

MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分

M:Model,模型层,指工程中的JavaBean,作用是处理数据

JavaBean分为两类:

一类称为实体类Bean:专门存储业务逻辑的,如Student、User等。

一类称为业务处理Bean:指Service或Dao对象,专门用于处理业务逻辑和数据访问。

V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据。

C:Controller,控制层,指工程中的servlet,作用是接收需求和响应浏览器。

MVC的工作流程:

用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理完毕将结果返回到Controller,Controller再根据请求处理的结果找到相应的View视图,渲染数据后最终响应给浏览器。

1.2什么是SpringMVC

SpringMVC是Spring的一个后续产品,是Spring的一个子项目

SpringMVC是Spring为表述层开发提供的一整套完备的解决方案,在表述层框架历经Strust、WebWork、Strust2等诸多产品的历代更迭之后,目前业务普遍选择了SpringMVC作为JavaEE项目表述层开发的首选方案。

三层架构分为表述层(或表示层)、业务逻辑层、数据访问层,表述层表示前台页面和后台servlet。

1.3SpringMVC的特点

Spring 家族原生产品,与IOC容器等基础设施无缝对接

基于原生的Servlet,通过了功能强大的前端控制器DispatcherServlet,对请求和响应进行统一处理

表述层各细分领域需要解决的问题全方位覆盖,提供全面解决方案。

代码清新简洁,大幅度提升开发效率

内部组件化程度高,可插拔式组件即插即用,想要什么功能配置相应组件即可

性能卓著,尤其适合现代大型、超大型互联网项目要求

2.入门案例

2.1配置pom.xml

我们首先进行配置如下所示:
SpringMVC(一)_第1张图片

我们需要配置web.xml,即将pom.xml的配置文件设置为war包,而下面的红色目录为web资源的路径。我们将上面的web.xml进行添加之后即可不为红色。

我们进行添加即可如下所示:

SpringMVC(一)_第2张图片

 点击OK之后即可成功创建。

SpringMVC(一)_第3张图片

我们所导入的依赖如下所示:



    4.0.0

    com.rgf
    spring_MVC_helloWorld
    1.0-SNAPSHOT
    war

    
        8
        8
        UTF-8
    

    
        
        
            org.springframework
            spring-webmvc
            5.3.1
        
        
        
            ch.qos.logback
            logback-classic
            1.2.3
        

        
        
            javax.servlet
            javax.servlet-api
            3.1.0
            provided
        

        
        
            org.thymeleaf
            thymeleaf-spring5
            3.0.12.RELEASE
        
    

SpringMVC(一)_第4张图片

 2.2配置web.xml




    
    
        SpringMVC
        org.springframework.web.servlet.DispatcherServlet
    
    
        
        SpringMVC
        /
    
    

2.3创建请求控制器

由于前端控制器对浏览器发送的请求进行了统一的处理,但是具体的请求有不同的处理过程,因此需要创建处理具体请求的类,即请求控制器

请求控制中每一个处理请求的方法称为控制器方法

因为SpringMVC的控制器由一个POJO(普通的Java类)担任,因此需要通过@Controller注解将其标识为一个控制层组件,交给Spring的IOC容器管理,此时SpringMVC才能够识别控制器的存在。

package com.rgf.controller;

import org.springframework.stereotype.Controller;

@Controller
public class HelloController {
    
}

2.4创建SpringMVC的配置文件




    
    

    
    
        
        
        
            
                
                    
                        
                        
                        
                       
                        
                        
                        
                        
                     
                 
            
        
    

我们创建的index.html如下所示:

SpringMVC(一)_第5张图片




    
    首页


  

index.html

2.4测试HelloWorld

(1)实现对首页的访问

我们首先进行对tomcat的配置:

SpringMVC(一)_第6张图片

 SpringMVC(一)_第7张图片

我们点击OK即可。 

直接运行会出现404,即找不到我们的首页,我们在控制层进行编写如下所示:

package com.rgf.controller;

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

@Controller
public class HelloController {
    //其中/为绝对路径的标志,和http://localhost:8080/SpringMVC/地址一致
    @RequestMapping("/")
    public  String protal(){
        //将逻辑视图返回index
        return  "index";
    }

}

运行之后如下所示:

SpringMVC(一)_第8张图片

我们将约束添加到模板里面:

xmlns:th="http://www.thymeleaf.org

SpringMVC(一)_第9张图片

 我们进行尝试跳转如下所示:




    
    首页


  

index.html

测试SpringMVC 测试绝对路径

我们在控制层里进行调用:

package com.rgf.controller;

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

@Controller
public class HelloController {
    //其中/为绝对路径的标志,和http://localhost:8080/SpringMVC/地址一致
    @RequestMapping("/")
    public  String protal(){
        //将逻辑视图返回index
        return  "index";
    }
    @RequestMapping("/hello")
    public  String hello(){
        //将逻辑视图返回index
        return  "success";
    }

}

我们跳转后的界面如下所示:




    
    成功


success.html

SpringMVC(一)_第10张图片

 SpringMVC(一)_第11张图片

你可能感兴趣的:(java)