
Java web开发
文章平均质量分 75
Dream_xun
越努力,越幸运!
展开
-
Java打印异常的正确方式
Java如何正确的打印异常日志原创 2023-02-02 11:03:49 · 5163 阅读 · 1 评论 -
问题:Feign调用的服务配置了server.servlet.context-path时,调用出现404
问题:Feign调用的服务配置了server.servlet.context-path时,调用出现404先说明一下情况:我现在有两个服务:order服务和聚合服务oms,order服务配置了server.servlet.context-path为/order。提供了一个接口:/token/timestamp,访问这个接口的完整路劲是:order/token/timestampFeignClient配置:有的人可能觉得我这个路劲有问题,应该写成这样子:/order/token/timestamp但是原创 2021-11-04 11:35:14 · 2253 阅读 · 0 评论 -
Controller 默认的是单例还是多例
前言看spring容器依赖注入的时候,说的spring容器默认注入的都是单例对象,也就是spring容器里面存的都是单例对象,即一个对象只会存在一个。然后就突然想到一个常见的面试题:平时用的Controller是单例还是多例?相信很多人都知道是单例,所以我们就来证明一下!测试代码:直接正常写一个接口,多调用几次打印自己的地址,看一不一样:import org.springframework.context.annotation.Scope;import org.springframework.w原创 2021-08-04 15:42:58 · 3016 阅读 · 2 评论 -
Mybatis/Mybatis-Plus 使用流式查询优化大量数据导出
前言相信小伙伴们工作当中肯定会经常遇到导出数据的需求,做这个导出需求的话相信大家肯定很多人用easypoi工具包,这个工具包用起来是真的方便,爽。但是如果数据量大,产品又要你导出很多数据,这时候就不爽了,因为如果数据量大的话,服务器配置又不是很高,那么很容易就把服务器导挂了。今天就教大家一招(有能力的小伙伴也可以自行研究使用其它方式优化导出),使用mybatis/mybatis-plus中的流式查询结合阿里的easyexcel做到一边查询一边写入流的方式优化大量数据导出,这样做写入流后的数据内存就可原创 2021-08-03 00:50:41 · 10738 阅读 · 11 评论 -
过滤器与拦截器的区别
原文链接: 地址太长,点我作者: Java高级架构师前言Spring的拦截器与Servlet的Filter有相似之处,比如二者都是AOP编程思想的体现,都能实现权限检查、日志记录等。但它们之间又有不少区别,很多朋友工作多年,可能还没有深刻的了解它们的具体使用以及它们之间的区别。本文带大家全面了解一下它们的使用、实现机制以及区别。过滤器(Filter)的详解及使用过滤器(filter)属于Servlet的范畴,可以认为是Servlet的一种“加强版”,通过实现javax.servlet.Filter原创 2021-01-27 00:38:40 · 230 阅读 · 0 评论 -
Tomcat部署项目的五种方法
第一种方法:在tomcat中的conf目录中,在server.xml中的<host/>节点中添加<Context path="/blog" docBase="D:/blog/blog-web" debug="0" privileged="true"></Context>第二种方法:将web项目拷贝到wepapps目录下,(...原创 2020-03-02 18:43:43 · 1313 阅读 · 0 评论 -
vue element tabs 点击链接切换选项卡
一、业务需求工作中,用到element UI的el-tabs组件,tabs里面有几个<el-tab-pane>现在需要在第一个<el-tab-pane>内容中点击某个内容,然后切换到其他选项卡中显示对应的内容如图我需要点击提货单编号后在第二个选项卡中显示对应的提货单信息对应的提货单信息二、代码实现思路就是:在需要链接的地方添加事件(我在提货单...原创 2019-02-22 17:39:12 · 5880 阅读 · 6 评论 -
vue控制台报错Duplicate keys detected: 'xxxx'. This may cause an update error.解决方案
vue项目中报了一个这样的错:Duplicate keys detected: 'C1812170006'. This may cause an update error.虽然不影响使用,但是报错还是得解决的只要一进入该页面,就会出这个红色的错误,网上查了资料,说是v-for循环里,key值可能重复了,所以会报这个错。查看了下,页面果然有v-for循环key值是必须唯一的,...原创 2018-12-18 14:24:34 · 280678 阅读 · 32 评论 -
vue 利用事件改变数组属性值,视图没有及时更新数据的处理方法
场景在我使用vuex的过程中,使用computed获取数据。获取到的数据格式是这个样子的carts: [{}, {}, {}]但是我在这个页面中需要给这个数据额外添加一个数据字段carts[index].editState = false;遇到的问题当我这样开始做的时候,是直接在conputed计算属性中获取这个值,视图没有更新。参考这篇文章:https://cn....原创 2018-12-11 17:13:10 · 5236 阅读 · 1 评论 -
vue 报错 TypeError: "_utils_global__WEBPACK_IMPORTED_MODULE_1__.default[option] is undefined"
今天做vue项目开发遇到一个问题,找了好久不知道问题出在哪里,后来莫名其妙的添加了一个全局变量,就突然好 了错误信息:TypeError: "_utils_global__WEBPACK_IMPORTED_MODULE_1__.default[option] is undefined"原因是前端用到了这个全局变量过滤后来我去添加了这个全局变量问题就解决了写此文章,以...原创 2018-12-27 11:43:43 · 8720 阅读 · 0 评论 -
vue watch属性的简单使用,watch监听对象变化
代码中监听了一个简单的属性currentPage和一个对象selectForm,只要它们的值一改变就会触发其中的逻辑函数或者异步请求watch: { //属性监听 currentPage(oldV, newV) { this.exchangeCurrentPage(); }, //对象监听 ...原创 2018-12-07 12:26:38 · 1600 阅读 · 0 评论 -
JS对象克隆,js改变新对象的值不影响引用对象的值,亲测有效
话不多说,直接上代码getChildFormData(row,data){ this.form = {id:this.form.id} this.form.produceId = row.id this.arrData = data //这样赋值其实就是引用,地址相同, alert(this.arrData===data) //使用===(绝对等于)打印 ...原创 2018-12-07 12:21:17 · 3820 阅读 · 0 评论 -
vue el-table添加数据后自动定位到行前行尾,el-table添加数据后滚动到行前行尾
el-table 添加数据行后定位到最后一行(滚动条滚动到对应的行头或行尾)问题滚动到第一行:this.$refs.table.bodyWrapper.scrollTop =0;滚动到最后一行:push进table绑定的数据源后定位到最后一行 //验证产品类型是否一致:是就可以添加,否则提示错误 if(valid){ ...原创 2018-12-19 16:57:02 · 11017 阅读 · 4 评论 -
servlet的url-pattern匹配规则详细描述
一、概述在利用servlet或Filter进行url请求的匹配时,很关键的一点就是匹配规则,但servlet容器中的匹配规则既不是简单的通配,也不是正则表达式,而是由自己的规则,比较容易混淆。本文来详细举例介绍下。下面的说明都是在tomcat服务器中得到验证的。先介绍一下匹配的概念,上例子代码。在一个app(如名字为myapp)的web.xml文件中,有如下信息:ser转载 2017-09-07 18:05:59 · 399 阅读 · 0 评论 -
Server Tomcat v7.0 Server at localhost failed to start.
情况1:检查web.xml中的servlet映射出现此异常,一般是由于过滤器造成的。@WebFilter("/*") 过滤器弄错了,检查中配置的内容是否缺少“/” ,"/"表示当前web应用。路径配置没有错误,还是出现错误的话,再检查一下servlet和servlet-mapping中的servlet-name是否相同,如果name不一样也会出现这样的错原创 2017-09-07 21:57:46 · 309 阅读 · 0 评论 -
html年月日下拉联动菜单 年月日三下拉框联动
html>head>title>年月日三下拉框联动title>meta http-equiv='Content-Type' content='text/html; charset=gb2312'>head>body>form name="reg_testdate"> select name="YYYY" onchange="YYYYDD(this.value)"> opt原创 2017-09-18 17:33:08 · 20853 阅读 · 6 评论 -
struts2+Jquery+ajax实现前后端数据交互
一.首先配置环境,导入stuts2-json集成jar包二.修改struts2.xml配置文件json-default继承struts-default三.前端采用$.ajax方式进行交互1.传输简单的字符串---password对应action中password字段,$.parswJSON()为jquery中一解析json方法---在Action中,从客户端传来的数据可以只生成set方法,发送到客...转载 2018-05-12 11:56:39 · 711 阅读 · 0 评论 -
Mybatis3+Spring4+SpringMVC4 整合,新手练手
首先在整合这个框架的时候,想想其一般的步骤是怎样的,先有个步骤之后,不至于在后面的搞混了,这样在整合的时候也比较清晰些。然后我们就细细的一步一步来整合。1 创建一个Web项目。2 导入Mybatis3、Spring4、SpringMVC4、连接数据库(我使用的数据库是mysql)的jar包。spring-websocket-4.2.0.RELEASE.jar 我所用的包:3 创建Mybati...转载 2018-07-13 17:37:22 · 200 阅读 · 0 评论 -
最实用的vue刷新当前页面,provide / inject 组合 方式实现vue页面刷新
这是一种最实用的vue刷新当前页面,其他方式一般会出现一个瞬间的空白页面,体验不好,相当于按ctrl+F5 强制刷新那种方式:provide / inject 组合 方式实现vue页面刷新1.修改App.vue代码如下图所示通过声明reload方法,控制isRouterAlice属性true or false 来控制router-view的显示或隐藏,从而控制页面的再次加载2....原创 2018-10-12 11:37:28 · 4690 阅读 · 6 评论 -
TagsView.vue 有效果图
先上代码,项目结构图和效果图在后面展示。1.TagsView.vue<template> <div class="tags-view-container"> <scroll-pane class="tags-view-wrapper" ref="scrollPane"> <router原创 2018-10-18 14:36:59 · 4450 阅读 · 11 评论 -
vue rules验证规则,后面附案例
required : 必须值验证属性[['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息']; #说明:CRequiredValidator 的别名, 确保了特性不为空. email : 邮箱验证['email', 'email']; #说明:CEmailValidator的别名,确保了特性的值是一个有效的...原创 2018-10-15 17:03:37 · 27753 阅读 · 6 评论 -
js将父子关系(含有pId)数据转化为树形结构数据,一维数组转化为二位数组
获取tree数据:调用方法获取tree,然后绑定在组件数据源上将GetDeptListTree方法返回的tree数据绑定在组件上具体的转换方法:最终效果:源数据格式: ...原创 2018-10-10 09:10:12 · 2428 阅读 · 2 评论 -
JS (GMT)与普通时间格式的互相转换,JS转GMT格式时间
在使用Element UI的过程中,发现DateTimePicker选择器返回值是GMT格式的,但向后端发送的时间格式是标准时间格式,于是需要把DateTimePicker返回的值转换格式1.GMT转普通格式GMTToStr(time){ let date = new Date(time) let Str=date.getFullYear() + '-' + (d...转载 2018-10-19 10:51:42 · 16657 阅读 · 8 评论 -
Vue Treeselect下拉树实现,选择部门下拉树,下拉树菜单
先来看一张最基本的效果图:介绍vue-treeselect是一个多选组件,具有对Vue.js的嵌套选项支持。具有嵌套选项支持的单个和多个选择 模糊匹配 异步搜索 延迟加载(仅在需要时加载深层选项的数据) 键盘支持(使用Arrow Up&Arrow Down键导航,使用键选择选项Enter等) 丰富的选项和高度可定制 支持各种浏览器需要Vue 2.2+入门...原创 2018-10-17 20:49:25 · 71934 阅读 · 21 评论 -
dialog中el-table默认勾选数据,el-table默认勾选数据
1.序言由于工作需求,需要在dialog弹出框中的table中加载动态数据并且想要数据加载完成后默认勾选一些数据,于是尝试了网上很多方法都没成功:网上一般是这么说的:使用table多行选中事件toggleRowSelection(row,selected)来完成将上面的代码放在这里(其中multipleTable是el-table的ref值,this.tableData[ind...原创 2018-12-04 10:10:22 · 10220 阅读 · 6 评论 -
The content of element type "struts" must match "(package|include|bean|constant)*".
一、出现问题二、问题原因三、解决方案 出现该错误说明xml不符合dtd规范,提示信息已经给出来了,它的意思是struts下的子节点只能是package、include、bean或者constant。 而我struts标签下却有,所以报错。 解决办法是将标签移到pac转载 2017-09-23 21:27:55 · 1159 阅读 · 0 评论