首页
关于
留言
Search
1
网盘挂载程序sharelist美化教程
3,763 阅读
2
红米 AX3000 (AX6) 路由器解锁 SSH 教程
3,092 阅读
3
小米路由器 AX3600 开启SSH教程,官方固件即可安装 ShellClash开启科学上网
848 阅读
4
小米路由器Openwrt固件修改代码超频至1100MHZ
520 阅读
5
编译带PassWall和SSR-plus插件的Openwrt系统
323 阅读
前端
Vue
React
后端
Java
Python
PHP
数据库
运维
杂谈
小程序
影视资源
登录
Search
标签搜索
Java
Linux
Mysql
IDEA
Docker
Debian
Springboot
JavaScript
Cloudflare
Maven
Windows
MacBook
JS
SQL
CSS
Map
List
Debian10
容器
小米路由器
William
累计撰写
118
篇文章
累计收到
464
条评论
首页
栏目
前端
Vue
React
后端
Java
Python
PHP
数据库
运维
杂谈
小程序
影视资源
页面
关于
留言
搜索到
5
篇与
的结果
2022-02-22
Springboot使用Thymeleaf时静态资源不起作用解决方法
Springboot项目将HTML与CSS,JS都分别放入了resources文件夹下的templates与static文件夹下了。 HTML中CSS与JS的引用部分需要做修改JS部分,增加了 th:src="@{路径}",另外,图片的引用也需要添加<script th:src="@{/js/jquery.min.js}" src="../static/js/jquery.min.js" th:></script> <script th:src="@{/js/semantic.min.js}" src="../static/js/semantic.min.js"></script>CSS部分,增加了 th:href="@{路径}" <link rel="stylesheet" href="../static/css/semantic.min.css" th:href="@{/css/semantic.min.css}"> <link rel="stylesheet" href="../static/css/me.css" th:href="@{/css/me.css}">然后在 application.yml 中增加配置: web: resources: static-locations: classpath:/static/,classpath:/templates/另外,最好也修改 thymeleaf 的缓存为 false thymeleaf: mode: HTML cache: false最后rebuild一下项目,通常问题就解决了。
2022年02月22日
1 阅读
0 评论
0 点赞
2021-10-12
Mysql设置时区的多种解决方法
问题是这样来的,William导入一个项目后,连接局域网内另一台电脑的Mysql,死活连不上。控制台报错信息提示将Mysql连接驱动改为新的 com.mysql.cj.driver,但是改了之后没啥用,然后使用IDEA自带的连接Mysql试一下,就是页面右侧的Database,也是连接不上,有个提示说是返回的时区有问题,那就是因为mysql数据库时区问题导致无法连接呗。没改之前的报错信息:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 2021-10-12 08:50:25.884 ERROR 43878 --- [ restartedMain] o.a.t.j.p.ConnectionPool : Unable to create initial connections of pool. java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.解决Mysql时区问题有好几个方法,William选择的是修改JDBC的连接,加了个时区设置 serverTimezone=Asia/Shanghai ,最后设置为:jdbc:mysql://localhost:3306/数据库名?serverTimezone=Asia/Shanghai&autoReconnect=true&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&useSSL=false查Mysql的时区执行下面的代码可以进行查询select timediff(now(),convert_tz(now(),@@session.time_zone,'+00:00'));或者SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP);或者show variables like '%time_zone%';如果是中国标准时间, 会输出 08:00动态修改时区set global time_zone = '+8:00'; ##修改mysql全局时区为北京时间,即我们所在的东8区 set time_zone = '+8:00'; ##修改当前会话时区 flush privileges; #立即生效在jdbc url指定默认时区还有一种是在jdbc连接的url后面加上 serverTimezone=UTC 或 GMT 即可,如果指定使用 gmt+8 时区,需要写成 GMT%2B8,否则可能报解析为空的错误。示例如下:jdbc:mysql://localhost:3306/demo?serverTimezone=UTC&characterEncoding=utf-8jdbc.url=jdbc:mysql://localhost:3306/demo?serverTimezone=GMT%2B8&characterEncoding=utf-8jdbc.url=jdbc:mysql://localhost:3306/demo?serverTimezone=Asia/Shanghai&characterEncoding=utf-8 就是增加了 serverTimezone=UTC serverTimezone=GMT%2B8更推荐使用 serverTimezone=Asia/Shanghai多余的话如果 pom.xml 中 mysql connector的版本没有切换到高版本,比如 8.0.16,就算在application.xml中修改了mysql的驱动为 com.mysql.cj.driver,控制台还是会有红色提示的,也是提示你Loading class 'com.mysql.jdbc.Driver'. This is deprecated. The new driver class is 'com.mysql.cj.jdbc.Driver'但这时候是不影响运行跟数据库连接的,有代码洁癖的可以修改一下。
2021年10月12日
6 阅读
0 评论
0 点赞
2020-08-19
在SpringBoot的application.yaml文件配置schema却无法执行sql
William看的教程里面用的是1.5.1的springboot,但是William自己用的是2.3.3的。教程里是没有这种问题的,但是我这个高版本有这个问题。在application.yml中加入:schema - classpath:sql/department.sql - classpath:sql/employee.sql将sql文件统一放在resources文件夹下的sql文件夹中。不执行的原因是少了这一句:initialization-mode: always 要把它添加在application.yml中
2020年08月19日
29 阅读
0 评论
0 点赞
2020-08-07
Springboot-Thymleaf语法
1、表达式${...} 获取变量值, *{...} 在功能上与${}是一样的。#{} 获取国际化内容@{...} 定义url,例子: @{/order/process(execId=${execId},execType='FAST')}th:each 遍历每次遍历都会生成当前这个标签th:each="遍历代替对象 :${要遍历的东西}"比如有一个map, map.put("users", Arrays.asList("william","danlel","kosin"));那么遍历时:第二个th是遍历map,第一个th是将遍历出来的user写到h4标题当中,原本h4是空的遍历的行内写法,也就是说上面的代码不要第一个th,那么写法是:[[${user}]]其中[[...]]相当于th:text 而 [(...)] 相当于 th:untext, 前者会解析特殊字符,后者不解析特殊字符
2020年08月07日
22 阅读
0 评论
0 点赞
2020-06-16
Springboot使用LayUI将Ajax发送请求获取的返回数据用ECharts图表显示
后端使用Springboot,前端框架使用LayUI,前端页面一个日期控件,一个下拉框控件,实现选择日期,以及选择下拉框,点击提交,layui发送ajax请求到后端,请求数据返回后,在控件下方用echarts图表显示出来。HTML代码:<form class="layui-form" action="/"> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">选择日期</label> <div class="layui-input-inline"> <input type="text" name="date" id="date" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input date_selected"> </div> </div> <div class="layui-inline"> <label class="layui-form-label">选择企业</label> <div class="layui-input-inline"> <select name="company_name" lay-filter="company_name" class="com_selected"> <option value=""></option> <option value="0">选项一</option> <option value="1">选项二</option> <option value="2">选项三</option> <option value="3">选项四</option> </select> </div> </div> <div class="layui-inline view_history" style="margin-left: 70px;"> <div class="layui-input-inline"> <button type="submit" class="layui-btn" lay-submit="" lay-filter="demo1">立即查看</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> </div> </div> </div> </form>Javascript代码:<script> layui.use(['form', 'layedit', 'laydate', 'element', 'echarts', 'jquery'], function () { var form = layui.form , $ = layui.jquery , layer = layui.layer , layedit = layui.layedit , laydate = layui.laydate , element = layui.element , echarts = layui.echarts; //日期 laydate.render({ elem: '#date' }); //监听提交 var ndData = null; form.on('submit(demo1)', function (data) { var date_user = $(".date_selected").val(); var name_user = $(".com_selected").find("option:selected").text(); $.ajax({ url: "/history/getlist", type: "GET", data: { date: date_user, name: name_user }, dataType: "JSON", async: false, success: function (res) { /** * Echarts显示 */ var echartsRecords = echarts.init(document.getElementById('EchartZhu'), 'walden'); var optionRecords = { tooltip: { trigger: 'axis' }, legend: { data: ['油烟浓度', '颗粒物', '非甲烷总烃'] }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, toolbox: { feature: { saveAsImage: {} } }, xAxis: { type: 'category', boundaryGap: false, data: ['周一','周二','周三','周四','周五','周六','周日'] }, yAxis: { type: 'value', }, dataZoom: [ { type: 'inside', show: true, top: '90%', realtime: true, start: 85, end: 100 } ], series: [{ name: '油烟浓度', type: 'line', data: res } ] }; echartsRecords.setOption(optionRecords); // echarts 窗口缩放自适应 window.onresize = function () { echartsRecords.resize(); } } }); return false; }); }); </script> 这里有一个要注意的地方就是form.on监听提交的方法里面一定要有 return false来禁用表单跳转,不然的话,点击提交以后,iframe就会跳转,我这里是变成了首页,也就是iframe里面变成了另一个刚打开的系统首页对于Echarts的引入,个人不建议使用LayUI集成的,因为我用了集成的ECharts总有各种小毛病出现,什么 EchartsTheme.js找不到等等,我当时已经将EchartsTheme.js复制到每一个可能的文件夹下都还是这样抱错。最后我是直接在要显示ECharts的页面引入,而不是在一开始的整个LayUI框架首页引入。请求API返回的是登录页刚开始,我写好接口以后,尝试着自己创造链接,没有从前端页面获取用户选择的情况下测试下接口行不行。我发现浏览器上登录系统后,再从输入链接的话是能够返回数据的。但是,我要是清楚数据,或者说没有登录的情况下去访问,系统回跳转到登录页(PS:用Postman测试的时候也是返回的登录页的HTML代码)。在我这里是因为,在Security的配置中设置了除了登录页以及静态资源外都要登录后访问,于是我修改了security的配置文件,加了一行代码 web.ignoring().mvcMatchers("/history/**");@Override public void configure(WebSecurity web) throws Exception { web.ignoring().mvcMatchers("/lib/**", "/css/**", "/js/**"); web.ignoring().mvcMatchers("/history/**"); }放行该API路径后,使用postman已经layui中用ajax发送http请求都可以获取数据,而不用先登录。(可能不安全,大家看着办)
2020年06月16日
97 阅读
0 评论
0 点赞