1. SpringMVC的知识脉络
-
SpringMVC知识点梳理
SpringMVC知识点梳理 -
官网
网址:https://docs.spring.io/spring-framework/docs/current/reference/html/web.html -
SpringMVC的运行原理
iSpringMVC的运行原理
2. SpringMVC的简单使用
-
SpringMVC的简单使用
SpringMVC的简单使用
- SpringMVC的操作相关参考
1、spring、SpringMVC、servlet的依赖
<!--Spring的核心依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.6.RELEASE</version>
</dependency>
<!--SpringMVC-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.6.RELEASE</version>
</dependency>
<!--spring-web-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.1.6.RELEASE</version>
</dependency>
<!--servlet相关依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!--jsp相关依赖-->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
2、springmvc.xml文件的约束
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
</beans>
3、jackson的依赖(在使用@ResponseBody 的情况下需要引入以下内容)
如果用2.75以下的版本,就有可能出现兼容性问题
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
3. SpringMVC+FreeMarker完成业务操作
-
SpringMVC+FreeMarker的整合
SpringMVC+FreeMarker的整合的操作步骤
- 在上方的SpringMVC项目中加入FreeMarker的依赖
<!-- 添加freemarker的相关依赖 -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>3.2.9.RELEASE</version>
</dependency>
- 配置springmvc.xml文件中的FreeMarker相关配置
<!-- 配置Freemarker属性文件路径 -->
<bean id="freemarkerConfiguration"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location" value="classpath:freemarker.properties" />
</bean>
<!-- 配置freeMarker模板加载地址 -->
<bean id="freemarkerConfig"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<!-- 视图解析器在/WEB-INF/ftl/路径下扫描视图文件 -->
<property name="templateLoaderPath" value="/WEB-INF/ftl/" />
<!--设置一些常用的全局变量-->
<property name="freemarkerVariables">
<map>
<entry key="xml_escape" value-ref="fmXmlEscape" />
</map>
</property>
</bean>
<!-- 对给定的模板片段执行XML转义-->
<bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape" />
<!-- 配置freeMarker视图解析器 -->
<bean id="freemakerViewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
<!-- 扫描路径內所有以ftl結尾的文件 -->
<property name="viewNames">
<array>
<value>*.ftl</value>
</array>
</property>
<property name="contentType" value="text/html; charset=UTF-8" />
<property name="exposeRequestAttributes" value="true" />
<property name="exposeSessionAttributes" value="true" />
<property name="exposeSpringMacroHelpers" value="true" />
<property name="requestContextAttribute" value="request" />
<!-- 给视图解析器配置优先級,你可以给之前jsp视图解析器的值配为2 -->
<property name="order" value="1" />
</bean>
- 创建freemarker.properties
#设置标签类型([],<>)
tag_syntax=auto_detect
#模板缓存时间
template_update_delay=2
#默认编码
default_encoding=UTF-8
#输出编码
output_encoding=UTF-8
#本地化
locale=zh_CN
#Date格式化
date_format=yyyy-MM-dd
#Time格式化
time_format=HH:mm:ss
#Datetime格式化
datetime_format=yyyy-MM-dd HH:mm:ss
- 创建helloftl.ftl
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
Hello, ${name}!!!
</body>
</html>
- 创建HelloFtlController
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @Author: Neco
* @Description:
* @Date: create in 2022/5/17 23:03
*/
@Controller
public class HelloFtlController {
@RequestMapping("helloftl")
public String helloFtl(Model model) {
String name = "Neco";
model.addAttribute("name", name);
return "helloftl.ftl";
}
}
访问并测试结果
- 访问并测试结果
- 对于后续的类似列表和数据库的集成,不再过多描述
如果觉得有收获就点个赞吧,更多知识,请点击关注查看我的主页信息哦~
网友评论