tomcat部署项目到根目录
在tomcat的conf目录下的server.xml
<Context path="/" docBase="路径" debug="true" reloadable="false"></Context>
哦对了,是放在Host标签里
mybatis的xml中使用大于小于号
今天写一个范围查询接口的时候
发现一个问题,mybatis里的xml,我写小于的时候,它给我报错了?!
于是去网上搜了搜,原来是xml给我转义了。。。
大概有两种解决办法,一种是用替代符
< #小于>= #大于等于
不过个人觉得这种阅读性太差,过久了说不定就不知道这啥玩意了
所以推荐第二种办法
<![CDATA[<]]> #小于<![CDATA[>=]]> #大于等于
大于(大于等于)其实可以不加,但个人强迫症。。。
小于都加了,大于也加个吧hh
HashMap
HashMap是由数组和链表组合构成的数据结构。
大概如下,数组里面每个地方都存了Key-Value这样的实例,在Java1.7叫Entry,在Java1.8中叫Node。
因为它本身所有位置都为null,在put插入的时候会根据key的hash去计算一个index值。
就比如我put(”rubenwei”,666),我插入了为”rubenwei”的元素,这个时候我们会通过哈希函数计算出插入的位置,如果计算出来index是2,那就放在第三个位置
但我们知道数组长度是有限的,在有限的长度里面我们使用哈希,哈希本身就存在概率性,就是”rubenwei”和“ruben”我们都去hash有一定的概率计算出来的hashcode是重复的,这时候如果put“ruben”就会在当前entry节点下形成一个链表用于存放hashcode一样的这些元素
每一个节点都会保存自身的hash、key、value以及(next)下个节点
java8之前采用头插法,原有的值顺推到链表中去,新来的值变成链表表头,是因为代码作者认为新来的值会被查找的可能性大一点,为了提升查找的效率设计的
java8之后改用尾插法,当ha ...
阿里云sms发送短信(新)
之前跟着狂神学习sms发送短信
今天拿出来用发现。。。依赖版本冲突,用的新版的依赖,旧的方法直接无法调用了,于是自己去看了看官方文档。废话不多说,直接贴代码
对了,开通服务教程
package com.ruben.sms;import com.alibaba.fastjson.JSONObject;import com.aliyuncs.CommonRequest;import com.aliyuncs.CommonResponse;import com.aliyuncs.DefaultAcsClient;import com.aliyuncs.IAcsClient;import com.aliyuncs.exceptions.ClientException;import com.aliyuncs.http.MethodType;import com.aliyuncs.profile.DefaultProfile;import java.util.HashMap;import java.util.Map;/** * @ClassName: SmsUtil * @Description: ...
阿里云OSS临时凭证前后端配合上传文件
唔姆,分享一篇企业里用的阿里云OSS临时签证直传的上传教程
项目地址….springboot+thymeleaf+jquery,简单好用,写博客、做网站专属
https://github.com/VampireAchao/ossUpload
一般的阿里云OSS上传,要么放在前端上传,暴露了accesskey和secrekey
要么放在后端,文件先传到后端,再由后端上传,让服务器压力变得巨大。。。
所以,这里一篇服务端签名后直传的教程
Web端向服务端请求签名,然后直接上传,不会对服务端产生压力,而且安全可靠。但本示例中的服务端无法实时了解用户上传了多少文件,上传了什么文件。
如果想实时了解用户上传了什么文件,可以采用服务端签名直传并设置上传回调
坏处还有就是辛苦了我们的前端同志。。。
首先开通服务
登录阿里云官网。将鼠标移至产品,单击对象存储 OSS,打开 OSS 产品详情页面。在 OSS 产品详情页,单击立即开通。开通服务后,在 OSS 产品详情页单击管理控制台直接进入 OSS 管理控制台界面。您也可以单击位于官网首页右上方菜单栏的控制台,进入阿里云管理控制台首页,然后单击左侧的 ...
Docker常用命令
docker一图就够了!!!
来,上图
前端传递参数后端接收不到的坑
前两天跟小伙伴一起做项目的时候遇到一个问题
我们前端同志传递过来的参数无论如何也接收不到,debug发现根本没有传进来,而前端明明传了
后来在哥们儿的帮助下发现原来是参数名的问题….
用的是代码生成器,生成的javabean的属性名是这样的uname
而生成的getter/setter方法名是这样的…
/** * 获取活动名称 * * @return 活动名称 */public String getEName() { return this.eName;}/** * 设置活动名称 * * @param eName * 活动名称 */public void setEName(String eName) { this.eName = eName;}
直接导致参数接收不到
解决办法是用
@PostMapping("/event/add")public AjaxJson addEvent(@RequestBody Map<String, Object> map) { Qh ...
自我介绍
我的名字叫阿坤,22岁。住在长沙的雨花区一带,未婚。我在一家普通公司做java开发。每天都要加班到晚上9点才能回家。我抽烟,酒仅止于浅尝。晚上12点睡,每天要睡足5个小时。睡前,我一定看一集狂神的学习视频,然后做打几把王者荣耀,上了床,马上熟睡。一觉到天亮,决不把疲劳和压力,留到第二天。医生都说我很正常。
gateway
gateway
阿里云短信服务
redis