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日

相关推荐

  • Linux mysql定时备份脚本

    在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份,本篇文章重点为大家讲解一下 mysql定时备份具体方法。 1. 创建备份脚本 备份脚本: #!/bin/ba…

    Linux系统 2025年6月8日
  • 在Django中使用ElasticSearch

    Elasticsearch可以使我们快速,近乎实时地存储,搜索和分析大量数据,并在几毫秒内给出答复。之所以能够获得快速的搜索响应,是因为它可以直接搜索索引,而不是直接搜索文本。 什…

    Linux系统 2025年6月8日
  • Github 访问慢的若干解决方法

    我们经常要用到github,但是速度很慢,有时会有超时现象,十分地影响工作效率,可以考虑采取如下措施 1 使用 Github Mirror 下载 直接在 GitHub 仓库前面拼接…

    Linux系统 2025年6月12日
  • Linux中使用TCP 封装器加强网络服务安全

    在这篇文章中,我们将会讲述什么是 TCP 封装器TCP wrappers以及如何在一台 Linux 服务器上配置他们来限制网络服务的权限。在开始之前,我们必须澄清 TCP 封装器并…

    Linux系统 2025年6月11日
  • Python3 re模块match与search

    正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的…

    Linux系统 2025年7月10日
  • 配置高可用RabbitMQ集群

    RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用。作为一名合格的开发者,有必要对RabbitMQ有所了解,本篇文章重点为大家讲解一下配置高可…

    Linux系统 2025年6月23日
  • 使用WebFlux集成 Redis,Spring Boot 2

    Spring WebFlux 是 Spring Framework 5.0中引入的新的响应式web框架。与Spring MVC不同,它不需要Servlet API,是完全异步且非阻…

    Linux系统 2025年6月8日
  • 详解golang ssh包使用

    在使用gexpect包发现很多问题之外,这里又尝试使用ssh [email protected]的思路进行用户切换。这里记录下具体的使用方法,遇到的ssh: must s…

    Linux系统 2025年6月21日
  • Github中开源安全工具大全

    本仓库收集的初衷是为向各类企业安全从业人员提供在企业信息安全防护体系建设过程中可以参考的开源安全扫描工具,以期望企业能够利用这些扫描器对自身业务进行自检,从而提高自身业务安全性。 …

    Linux系统 2025年6月8日
  • Linux运维面试集锦

    本篇文章重点为大家分享一下Linux运维人员面试常见的问题及答案,准备参加Linux运维面试的小伙伴们是否做好了面试准备,今天在这里小编继续为大家分享一些Linux运维人员面试中的…

    Linux系统 2025年6月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注