博客
关于我
SpringMVC初认识
阅读量:271 次
发布时间:2019-03-01

本文共 2017 字,大约阅读时间需要 6 分钟。

SpringMVC初认识

MVC(Model、View、Controller)是模型、视图、控制器的简写,是一种常用的软件设计模式。它的核心思想是将一个应用程序划分为三个相互独立的部分:业务逻辑处理、数据展示以及请求处理。MVC模式的主要优势在于降低了视图(UI)与业务逻辑之间的耦合度,使得代码更加易于维护和扩展。

第一个SpringMVC程序的搭建

如果你刚开始接触SpringMVC,搭建一个基本的程序是非常有帮助的。以下是创建一个简单SpringMVC程序的步骤:

  • 新建Spring Boot项目:使用Spring Initializer创建一个Spring Boot项目,选择“Web Starter”作为主模块依赖。
  • 创建视图文件:添加一个test.jsp文件,内容如下:
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
    SpringMVC示例

    显示消息:${msg}

  • 配置DispatcherServlet:在web.xml中添加DispatcherServlet:
    contextPath
    /
    dispatcher
    org.springframework.web.servlet.DispatcherServlet
    contextConfigLocation
    classpath:config/springmvc-servlet.xml
    dispatcher
    /
  • 创建SpringMVC配置文件:在src/main/resources/app/config/springmvc-servlet.xml中添加以下内容:
  • 编写Controller逻辑:创建一个HelloController
    @Controller
    @RequestMapping("/hello")
    public class HelloController {
    @ResponseBody
    @GetMapping(value = "/hello")
    public String sayHello(@RequestParam(name = "name") String name) {
    return "Hello, " + name;
    }
    }
  • 运行项目并测试:启动Spring Boot应用,访问http://localhost:8080/hello,你应该能看到“Hello, World!”的信息。
  • SpringMVC的优点

    SpringMVC的优势体现在以下几个方面:

    • 灵活的视图支持:支持JSP、Thymeleaf等多种视图技术,而不局限于传统的JSP。
    • 与Spring集成:可以与Spring的IOC和AOP等功能无缝集成,简化开发流程。
    • 清晰的角色分配:DispatcherServlet作为前端控制器负责请求分发,HandlerMapping、HandlerAdapter、ViewResolver分别负责处理器映射、适配和视图解析。
    • 灵活的请求映射:支持路径映射、通用映射等多种方式,满足不同项目的需求。

    SpringMVC的执行流程

    当用户发起一个HTTP请求时,请求首先被DispatcherServlet拦截。DispatcherServlet根据请求的URL查找HandlerMapping,找到对应的处理器(Controller)。然后,HandlerExecution将请求传递给处理器,处理器执行业务逻辑并返回结果。处理器的结果会被HandlerAdapter处理,最后DispatcherServlet通过ViewResolver解析视图,并将结果呈现给用户。

    通过以上步骤,你已经了解了SpringMVC的基本概念和搭建过程,同时也了解了其优势和执行流程。如果你有实际项目需求,可以根据以上内容进行扩展和定制。

    转载地址:http://fyox.baihongyu.com/

    你可能感兴趣的文章
    npm学习(十一)之package-lock.json
    查看>>
    npm安装 出现 npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT npm ERR! 解决方法
    查看>>
    npm安装crypto-js 如何安装crypto-js, python爬虫安装加解密插件 找不到模块crypto-js python报错解决丢失crypto-js模块
    查看>>
    npm安装教程
    查看>>
    npm报错Cannot find module ‘webpack‘ Require stack
    查看>>
    npm报错Failed at the node-sass@4.14.1 postinstall script
    查看>>
    npm报错fatal: Could not read from remote repository
    查看>>
    npm报错File to import not found or unreadable: @/assets/styles/global.scss.
    查看>>
    npm报错unable to access ‘https://github.com/sohee-lee7/Squire.git/‘
    查看>>
    npm淘宝镜像过期npm ERR! request to https://registry.npm.taobao.org/vuex failed, reason: certificate has ex
    查看>>
    npm版本过高问题
    查看>>
    npm的“--force“和“--legacy-peer-deps“参数
    查看>>
    npm的安装和更新---npm工作笔记002
    查看>>
    npm的常用配置项---npm工作笔记004
    查看>>
    npm的问题:config global `--global`, `--local` are deprecated. Use `--location=global` instead 的解决办法
    查看>>
    npm编译报错You may need an additional loader to handle the result of these loaders
    查看>>
    npm设置淘宝镜像、升级等
    查看>>
    npm设置源地址,npm官方地址
    查看>>
    npm设置镜像如淘宝:http://npm.taobao.org/
    查看>>
    npm配置安装最新淘宝镜像,旧镜像会errror
    查看>>