当前位置: 首页 > news >正文

SpringMVC-基础架构

一、什么是MVC

二、什么是SpringMVC 

三、SpringMVC的特点

四、配置SpringMVC

简单流程:

总体框架

 

1.创建pom.xml依赖

  <!--打包方式--><packaging>war</packaging><!--依赖--><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>6.1.4</version></dependency><!--servlet依赖--><dependency><groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId><version>6.0.0</version><scope>provided</scope></dependency><!--日志依赖--><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.11</version></dependency><dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf-spring6</artifactId><version>3.1.2.RELEASE</version></dependency></dependencies>

 2.配置web.xml

   <!--配置springmvc的前端控制器,对浏览器发送的请求统一处理--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>

3.编写控制类

就是先创建一个简单的FirstController类:

 4.配置Spring MVC框架的配置文件

这个配置文件的名字为web.xml中servelet定义的名字加-servlet.xml

<context:component-scan base-package="com.pon.control"></context:component-scan><!--视图解析器--><bean id="thymeleafViewResolver" class="org.thymeleaf.spring6.view.ThymeleafViewResolver"><!--作用于视图渲染的过程中,可以设置视图渲染后输出时采用的编码字符集--><property name="characterEncoding" value="UTF-8"/><!--如果配置多个视图解析器,它来决定优先使用哪个视图解析器,它的值越小优先级越高--><property name="order" value="1"/><!--当 ThymeleafViewResolver 渲染模板时,会使用该模板引擎来解析、编译和渲染模板--><property name="templateEngine"><bean class="org.thymeleaf.spring6.SpringTemplateEngine"><!--用于指定 Thymeleaf 模板引擎使用的模板解析器。模板解析器负责根据模板位置、模板资源名称、文件编码等信息,加载模板并对其进行解析--><property name="templateResolver"><bean class="org.thymeleaf.spring6.templateresolver.SpringResourceTemplateResolver"><!--设置模板文件的位置(前缀)--><property name="prefix" value="/WEB-INF/templates/"/><!--设置模板文件后缀(后缀),Thymeleaf文件扩展名不一定是html,也可以是其他,例如txt,大部分都是html,一般情况下后缀名为.html--><property name="suffix" value=".thymeleaf"/><!--设置模板类型,例如:HTML,TEXT,JAVASCRIPT,CSS等--><property name="templateMode" value="HTML"/><!--用于模板文件在读取和解析过程中采用的编码字符集--><property name="characterEncoding" value="UTF-8"/></bean></property></bean></property></bean>

5.将FirstController类进行具体编码

package com.pon.control;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class FirstController {@RequestMapping(value = "/test")public String hehe(){return "first";//返回值代表逻辑视图的名称}
}

 6.提供浏览器显示的视图

<!doctype html>
<html lang="en"><head><title>First Spring MVC</title></head><body><h1>First Spring MVC!</h1></body></html>

 7.运行结果

五、超链接

FirstController类:

package com.pon.control;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class FirstController {@RequestMapping(value = "/test")public String hehe(){return "first";}@RequestMapping(value = "/aaa")//地址public String hihi(){return "other";}
}

first.thymeleaf:编写浏览器看到的界面

<!doctype html>
<html lang="en" xmlns:th="http://www.thymeleaf.org"><head><title>First Spring MVC</title></head><body><h1>First Spring MVC!</h1>     //a:超链接<a th:href="@{/aaa}">hihi</a> //@{}这个是thymeleaf的模式</body></html>

bother.thymeleaf:

<!doctype html>
<html lang="en" xmlns:th="http://www.thymeleaf.org"><head><title>First Spring MVC</title></head><body><h1>你好</h1></body></html>

六、SpringMVC配置文件

SpringMVC配置文件的名字和位置可以自定义。

 

http://www.lryc.cn/news/371807.html

相关文章:

  • 《Windows API每日一练》4.1 GDI绘图
  • SQL Server 安装后,服务器再改名,造成名称不一致,查询并修改数据库服务器真实名称
  • 单例模式、工厂模式 c++关键字 static
  • 基于文本和图片输入的3D数字人化身生成技术解析
  • C语言 | Leetcode C语言题解之第150题逆波兰表达式求值
  • API安全性的重要性及实施策略
  • 现在Java行情不好可以转.net吗?
  • 大文件word生成的处理与解决策略
  • unity3d:GameFramework+xLua+Protobuf+lua-protobuf,与服务器交互收发协议
  • 二刷算法训练营Day30 | 回溯算法(6/6)
  • 【车载AI音视频电脑】200万像素迷你一体机
  • 齐普夫定律在循环神经网络中的语言模型的应用
  • 如何在Android Studio上发布Flutter应用
  • C++ 字符串处理4-根据指定的分隔符将字符串分割为多个子串根据指定的分隔符将多个子串连接成一个字符串
  • 微信小程序请求request封装
  • Web前端不挂科:深入探索与实战指南
  • Golang | Leetcode Golang题解之第149题直线上最多的点数
  • 京准电钟 NTP时间同步服务器助力水库水坝水利自动化建设
  • 程序员应该具备什么职业素养?
  • linux 安装sftp及使用sftp上传和下载
  • AI虚拟试穿技术:开启高保真、多场景、多样化服装组合的试穿应用
  • 数栈xAI:轻量化、专业化、模块化,四大功能革新 SQL 开发体验
  • oppo手机精简包名列表
  • Cisco Packet Tracer实验(二)
  • Julia 数学函数
  • [next.js] svgr/webpack
  • vue页面和 iframe多页面无刷新方案和并行存在解决方案
  • Leetcode498. 对角线遍历
  • flume配置----a1.sources.r1.positionFile=xxxx.json
  • Controller 自动化日志输出