springboot学习(2)
WebMvcConfigurerAdapter 在springboot2.0及以上版本过时问题 WebMvcConfigurerAdapter已经过时,替代方案:
1 实现 WebMvcConfigurer 接口;
2 继承 WebMvcConfigurationSupport ; 但是需要注意的是继承这个类会导致 springboot 的自动配置功能失效,所以如果还需要使用springboot的自动配置功能则推荐使用第一种方案 ===================================================================================
模板文件中静态资源使用 thymeleaf标签问题
在模板文件中,对于如下链接:
<link href="asserts/css/bootstrap.min.css" rel="stylesheet">
建议配置成:
<link href="asserts/css/bootstrap.min.css" th:href="@{/webjars/bootstrap/4.0.0/css/bootstrap.css}" rel="stylesheet">
因为使用thymeleaf标签可以动态的适配我们的服务访问路径;
比如我们修改我们的服务访问路径为:
server.servlet.context-path=/fzy
的时候,我们重新访问应用的时候需要在访问的根路径中添加/fzy才能正常方位,而这时我们html中配置的上面的link链接不需要修改就可以正常使用,框架会在url中为我们添加上
修改后的配置路径:<link href="/fzy/webjars/bootstrap/4.0.0/css/bootstrap.css" rel="stylesheet">,红色字体为框架自动识别添加的
(http://localhost:8080修改为http://localhost:8080/fzy 才能正常访问) ==================================================================================
通过 return "redirect:/main.html"; 可以防止表单重复提交的问题,因为提交表单后通过main.html跳转到我们的主页面,所以进入主页面后反复刷新页面,刷新的是
main.html,所以可以防止重复提交表单
下面复习下dispatcher和redirect的区别:
1 redirect后地址栏是新的url(服务端根据逻辑,发送一个状态码,告诉浏览器重新请求新的地址.所以地址栏显示的是新的URL),dispatcher地址栏url不变;
2 redirect后,原页面的所有数据都将失效,在新页面里无法使用;而dispatcher可以继续使用原页面里的请求数据;
使用forward是服务跳转,浏览器不知道它所请求的具体资源来源,浏览器的地址栏不会变;
使用redirect,服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL。 在heml中引入js的时候需要注意,如果将js路径配置成行对路径:
<script type="text/javascript" src="asserts/js/jquery-3.2.1.slim.min.js"></script>
则从controller跳转到当前html的时候,会从html所在页面路径下查找对应src中配置的js,而我们一般是将js放在项目根路径下,所以跳转到hmtl后会导致对应的js找不到,所以
做好将src的路径配置为绝对路径
springboot学习(2)的更多相关文章
- springboot 学习资源推荐
springboot 是什么?对于构建生产就绪的Spring应用程序有一个看法. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.(这是springboot的官方介绍) 我们为什么要学 ...
- Springboot学习记录1--概念介绍以及环境搭建
摘要:springboot学习记录,环境搭建: 官方文档地址:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/ht ...
- SpringBoot学习笔记
SpringBoot个人感觉比SpringMVC还要好用的一个框架,很多注解配置可以非常灵活的在代码中运用起来: springBoot学习笔记: .一.aop: 新建一个类HttpAspect,类上添 ...
- springboot学习(一)——helloworld
以下内容,如有问题,烦请指出,谢谢 springboot出来也很久了,以前零散地学习了不少,不过很长时间了都没有在实际中使用过了,忘了不少,因此要最近准备抽时间系统的学习积累下springboot,给 ...
- SpringBoot学习(3)-SpringBoot添加支持CORS跨域访问
SpringBoot学习(3)-SpringBoot添加支持CORS跨域访问 https://blog.csdn.net/yft_android/article/details/80307672
- Springboot学习07-数据源Druid
Springboot学习07-数据源Druid 关键字 Druid 前言 学习笔记 正文 1-Druid是什么 Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池.插件框架和SQL解析器 ...
- Springboot学习06-Spring AOP封装接口自定义校验
Springboot学习06-Spring AOP封装接口自定义校验 关键字 BindingResult.Spring AOP.自定义注解.自定义异常处理.ConstraintValidator 前言 ...
- Springboot学习05-自定义错误页面完整分析
Springboot学习06-自定义错误页面完整分析 前言 接着上一篇博客,继续分析Springboot错误页面问题 正文 1-自定义浏览器错误页面(只要将自己的错误页面放在指定的路径下即可) 1-1 ...
- Springboot学习04-默认错误页面加载机制源码分析
Springboot学习04-默认错误页面加载机制源码分析 前沿 希望通过本文的学习,对错误页面的加载机制有这更神的理解 正文 1-Springboot错误页面展示 2-Springboot默认错误处 ...
- Springboot学习笔记(六)-配置化注入
前言 前面写过一个Springboot学习笔记(一)-线程池的简化及使用,发现有个缺陷,打个比方,我这个线程池写在一个公用服务中,各项参数都定死了,现在有两个服务要调用它,一个服务的线程数通常很多,而 ...
随机推荐
- oracle备份恢复
1.oracle文件备份恢复 /etc/oraInst.loc /etc/oratab /home/oracle 家目录 /oracle 安装目录 /usr/local/bin/dbhome /usr ...
- February 25 2017 Week 8 Saturday
Energy and persistence can conquer all things. 能量和毅力可以征服一切. I have the persistence, but it seems I a ...
- 函数名: lseek
函数名: lseek 功 能: 移动文件读/写指针 头文件:#include <sys/types.h> #include <unistd.h> 用 法: off_t lsee ...
- vue.js--基础事件定义,获取数据,执行方法传值
<template> <div id="app"> <h1>{{ msg }}</h1> <br> <button ...
- ul li一行两个显示
- [18/12/05]接口(interface)
一.定义(类之上的公共标准) 一个特殊的类,用interface关键字来表示.只有全局变量和抽象方法.解决Java中子类只能单继承的问题 [语法] [访问修饰符:public 或 default] ...
- 2018.11.22 mac中"允许所有安装来源"的命令 & Mac窗口标题显示文件的路径
当Mac遇到软件无法安装或者此文件已经损坏之类的时候 原因是软件为破解版,地址来源已改变,被系统拦截了,解决办法就是直接在终端中输入"sudo spctl --master-disable ...
- HDU 1254 推箱子(BFS加优先队列)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1254 推箱子 Time Limit: 2000/1000 MS (Java/Others) Me ...
- 推荐几个Mac/Linux下比较好用的工具
1.Tmux,连接开发机可以让在任务在开发机一直执行,不用nohup &这种了也相对稳定,还有session可以记录当时的状态. 常用命令: tmux new -s name 指定名字开启一个 ...
- unity3D引擎:2D游戏自动瞄准算法实现
转:http://blog.csdn.net/naitu/article/details/39555373 在很多飞行射击类游戏里,都有敌人向玩家自动瞄准并开火的功能.在这里本人用unity3D引擎新 ...