SpringBoot中的mvc具体使用方法

经典MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面,下面为大家分享一下SpringBoot中的mvc具体使用方法。

关于SpringBoot中的mvc

在SpringBoot中使用mvc与springmvc基本一致,我们甚至可以按照springmvc中的标准来完成控制器的实现。

package com.bdqn.lyrk.study.springboot.controller;

import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
* @author chen.nie
*/
@Controller
@RequestMapping("/index")
public class IndexController {

   @GetMapping("/index")
   public String index() {
       return "index";
   }

   @GetMapping("/number/{number}/Desc/{desc}")
   @ResponseBody
   public BeanEntity bean(@PathVariable ("number") int number, @PathVariable("desc") String desc) {
       return new BeanEntity(number,desc);
   }
}

@Data
@AllArgsConstructor
class BeanEntity {
   private int number;
   private String desc;
}

当我们访问浏览器地址时得到对应的结果:

我们可以发现这里跟springmvc中controller写法无二,其余的service层和dao层也均是按常规写法,用@Service和@Repository标记service与dao即可。

关于SpringBoot中mvc(静态资源-视图)

默认情况下,Spring Boot将从类路径或ServletContext的根目录中的名为/static(或/ public或/resources或/META-INF/resources)的目录提供静态内容。

在静态内容当中我们可以放js,css样式等文件,除Web服务,我们还可以使用Spring MVC来提供动态HTML内容。Spring MVC支持各种模板技术,包括Thymeleaf,FreeMarker和JSP。当然SpringBoot不推荐用JSP来作为视图层,通常情况我们把模板放在src/main/resources/templates下。

以下目录就是典型的模板与静态资源目录结构,按照上述规则我们把静态资源js文件放在static目录下,模板文件(这里使用的是Freemarker)放在规定的目录下:

SpringBoot学习之mvcSpringBoot学习之mvc

springBoot添加对jsp的支持

原则上来说,SpringBoot不推荐使用Jsp做为视图层,如果想用Jsp,我们需要包含以下的依赖:

    
  
                        
   
    org.springframework.boot
                        
   
    spring-boot-starter-tomcat
                        
   
    provided
                 
  
       
  
             
   
    org.apache.tomcat
                
   
    tomcat-jasper
               
   
    8.5.28
       
      

在application.properties做相关视图的配置:

spring.mvc.view.suffix=/WEB-INF/jsp/
spring.mvc.view.prefix=.jsp

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/5158.html

(0)
晴川运维晴川运维
上一篇 2025年6月8日
下一篇 2025年6月8日

相关推荐

  • C++中常量与指针讲解

    在C++学习使用过程中,每个人都不可避免地使用指针,而且都或多或少的接触过常量指针或指针常量,但是对这两个的概念还是很容易搞糊涂的,所以这篇文章主要给大家介绍了关于C++中常量与指…

    Linux系统 2025年10月19日
  • 详解Linux Base64

    Base64编码在电子邮件中很常见,Foxmail、Outlook等邮件用户代理发邮件时进行SMTP验证,就是输入base64编码格式的用户名和密码进行验证的,而邮件的主体内容和附…

    Linux系统 2025年9月21日
  • Linux下安装集中式缓存系统Memcached

    Memcached 是一个高性能、分布式内存对象缓存系统,本质上是通用的,但目的是为了通过减轻数据库负载来加快动态网络应用的速度。 1.创建文件夹 mkdir mem 2…

    Linux系统 2025年10月8日
  • Linux memcache安装和配置(自启动)过程详解

    memcache 是一个高性能的分布式的内存对象缓存系统,通过在内存中维护一张统一的、巨大的 Hash 表,它能够用来存储各种格式的数据,包括图像、视频、文件及数据库检索的结果等。…

    Linux系统 2025年6月18日
  • Deepin系统中安装Visual Studio Code具体方法

    VS code是一个编辑器首先,最小化功能。 不像其它IDE很庞大,开发人员可以根据自己的开发技术设置不同的扩展组件,本篇文章重点为大家分享一下Deepin系统中安装Visual …

    Linux系统 2025年9月20日
  • KVM常用命令

    KVM是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模块 kvm.ko 提供和虚拟化核心架构和处理器规范模块。使用 KVM 可允许多个包括 Li…

    Linux系统 2025年10月26日
  • Go语言中常用的开发神器

    Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具 Python 等动态语言的开发速度和 C/C++…

    Linux系统 2025年6月8日
  • 详解Linux命令su、sudo、sudo su、sudo -i

    在Linux系统中,由于root的权限过大,一般情况都不使用它。只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用su和sudo命令。 su命…

    Linux系统 2025年7月7日
  • Linux下更改网卡名称具体方法

    Linux服务器安全对于保护用户数据、知识产权非常重要,同时还能减少你面对黑客的时间。在工作中,通常由系统管理员对Linux的安全负责,下面为大家详细讲解强化Linux服务器具体方…

    Linux系统 2025年9月16日
  • 详解服务器负载

    平常的工作中,在衡量服务器的性能时,经常会涉及到几个指标,load、cpu、mem、qps、rt等。每个指标都有其独特的意义,很多时候在线上出现问题时,往往会伴随着某些指标的异常。…

    Linux系统 2025年6月8日

发表回复

登录后才能评论