365bet体育|www.635288com-365体育手机在线

热门关键词: 365bet体育,www.635288com,365体育手机在线

springboot学习(2)

2019-05-27 作者:365bet体育   |   浏览(102)
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的路径配置为绝对路径


 

本文由365bet体育发布于365bet体育,转载请注明出处:springboot学习(2)

关键词:

365bet体育推荐