java
夏夜里的晚风。
这个作者很懒,什么都没留下…
展开
-
java科学计数法转普通数字字符串
1原创 2022-11-25 17:54:15 · 2281 阅读 · 0 评论 -
java调用其他项目接口
1原创 2022-11-21 17:05:10 · 1155 阅读 · 0 评论 -
java获取服务器临时存放路径
1原创 2022-08-16 15:36:19 · 1635 阅读 · 0 评论 -
我的创作纪念日
1原创 2022-06-28 09:36:25 · 114 阅读 · 0 评论 -
eclipse(idea)不生成class文件
-原创 2022-06-10 17:39:11 · 3818 阅读 · 0 评论 -
修改字符串的字节长度
1原创 2022-06-02 18:43:41 · 594 阅读 · 0 评论 -
tomcat发布war包开启跨越
在tomcat下加如下配置,重启服务即可原创 2022-05-20 13:51:14 · 242 阅读 · 0 评论 -
自定义注解中获取HttpServeltRequest
public static HttpServletRequest getHttpServletRequest(){ RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) requestAttributes;.原创 2022-04-29 18:22:02 · 994 阅读 · 0 评论 -
获取配置类中的JavaBean(@Bean修饰的函数返回值)对象
某一个配置类@Configuration@EnableCachingpublic class EhcacheConfig { @Bean public EhCacheManagerFactoryBean cacheManagerFactoryBean(){ EhCacheManagerFactoryBean ehCacheManagerFactoryBean = new EhCacheManagerFactoryBean(); ehCacheMan.原创 2022-04-29 18:17:23 · 1079 阅读 · 0 评论 -
获取yml配置文件节点值
spring: datasource: username: u password: 1 url: jdbc:oracle:thin:@localhost:orcl driverClassName: oracle.jdbc.driver.OracleDriver获取url的值public class GbntController { @Autowired Environment environment; public void .原创 2022-04-29 17:26:29 · 1699 阅读 · 0 评论 -
空间数据操作函数
Oracle1、SDO_ORDINATES值转成"MULTIPOLYGON (((121.0419617884178 31.31583244349259, 121.04198129573211 31.315800489614595, 121.04198129573211 31.315800489614595, 121.0419234200413 31.315774445874926, 121.0419039116718 31.315806400654854, 121.0419617884178 31.原创 2022-04-24 17:37:26 · 397 阅读 · 0 评论 -
Maven项目引入oracle的jar包
cmd输入命令:mvn install:install-file -Dfile=D:\oracle11g\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1.0 -Dpackaging=jar -DgeneratePom=truepom文件引入<dependency> <groupId>com.o.原创 2022-04-21 11:19:41 · 835 阅读 · 0 评论 -
Maven添加SQLserver的依赖及驱动
1.下载依赖链接:https://pan.baidu.com/s/1Tz4Biv3rakJshRJTWWGwgA提取码:z2g92.使用命令将依赖打包到本地maven仓库打开cmd,输入命令:mvn install:install-file -Dfile=sqljdbc42.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.2 命令解释:mv...原创 2022-04-15 18:03:15 · 6067 阅读 · 0 评论 -
NoClassDefFoundError: Could not initialize class
报错大概意思就是 该类初始化失败大概率是缺少依赖的问题。平时我们可能会更新pom文件,下载新增的依赖,然后将新下载的依赖更新到线上的系统,也是问题的所在:举例说明:例如我们新增如下的依赖 <!--获取系统CPU等信息--> <dependency> <groupId>com.github.oshi</groupId> <artifactId>oshi-core</artifactId> <原创 2022-03-08 15:51:27 · 23664 阅读 · 3 评论 -
返回头相关的安全问题及处理办法
1.HTTP Content-Security-Policy缺失 可以防止XSS,参考地址Content Security Policy 入门教程 - 阮一峰的网络日志httpServletResponse.setHeader("Content-Security-Policy", "script-src 'self' 'unsafe-eval' 'unsafe-inline';object-src 'self'");2.X-Frame-Options Header未配置..原创 2021-12-21 16:59:47 · 3071 阅读 · 1 评论 -
java判断上传文件是否为Mp4文件
直接判断后缀名会有漏洞,比如一个文本文件后缀名改成mp4所以需要使用字节流的方式判断是否为视频文件 /** * 根据文件字节流,判断文件是否为mp4视频文件 * @param file 上传的文件 * @throws RuntimeException 如果不是mp4文件则抛出异常 * */ private void isMp4Video(MultipartFile file) throws RuntimeException{ if(!file.isEmpty()){原创 2021-11-24 17:26:00 · 3584 阅读 · 0 评论 -
循环集合(List ,Set)并进行增删改操作
1.使用 CopyOnWriteArrayList ,直接for循环中就可以直接进行增删改操作2.如果使用了ArrayList 或者 Set ,那就可以使用迭代器 Iterator 或者 ListIterator 进行相关操作Iterator 和 ListIterator 的区别: Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。 Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。 ...原创 2021-10-19 17:08:11 · 795 阅读 · 0 评论 -
KAPTCHA request.getSession为null
查看一下 项目 或 中间件 的配置文件中,是否设置了 Cookie Secure 为 true,如果是,请改为false即可把cookie-secure的值改为了true,意味着"指示浏览器仅通过 HTTPS 连接传回 cookie。这可以确保 cookie ID 是安全的,且仅用于使用 HTTPS 的网站。如果启用此功能,则 HTTP 上的会话 Cookie 将不再起作用。" 这样就无法从Cookie中获取SessionId,所以我们获得的值是NULL。...原创 2021-10-13 11:07:10 · 700 阅读 · 0 评论 -
java批量下载生成zip压缩包
设计思路:1.本地先创建一个zip文件2.将批量下载的文件依次放入zip文件中3.将zip文件返回给前端//一、本地先生成zip文件//要批量下载的文件id数组String[] ids = new String[] {"1","2"}//创建zipString localZipFile = "D:/temp/test.zip" ;ZipOutputStream out = new ZipOutputStream(new FileOutputStream(localZipFil原创 2021-09-17 14:29:23 · 8744 阅读 · 4 评论 -
encodeURIComponent(encodeURIComponent(fileName)) 后端解码乱码
使用 java.net.URLEncoder.encode(request.getParameter(fileName),"utf-8")方法解码,发现还是乱码//解决办法response.setContentType("APPLICATION/OCTET-STREAM;charset=UTF-8"); response.addHeader("Content-Disposition", "attachment;filename=" + new String(filenamedispla.原创 2021-09-14 18:07:48 · 825 阅读 · 0 评论 -
java8永远滴神
//List分组Map<String, List<User>> collect = list.stream().collect(Collectors.groupingBy(u -> u.getSex()));//Map循环 map.forEach( (k, v) -> {//业务逻辑...})//list求和list.stream().mapToDouble(User::getAge).sum()未完待续......原创 2021-07-09 10:25:20 · 112 阅读 · 0 评论 -
redis java.util.LinkedHashMap cannot be cast to XXX
比如我们需要转User类Object obj = valueOperations.get(key);User u = JSON.parseObject(JSON.toJSONString(obj),User.class);原创 2021-07-02 10:39:49 · 1402 阅读 · 2 评论 -
配置拦截器不拦截Swagger
注:本人使用的swagger 是 xiaoymin 版本 @Override public void addInterceptors(InterceptorRegistry registry){ registry.addInterceptor(new JWTInterceptor()) .addPathPatterns("/**") //拦截的地址 .excludePathPatterns("/doc.ht..原创 2021-07-01 16:27:23 · 2356 阅读 · 2 评论 -
前后分离后端获取不到Token
跨域问题。如果项目涉及到跨域,浏览器访问服务端会先后发送两次请求,第一次请求为OPTIONS请求,作用是查看服务端是否支持跨域,该请求中不会携带我们需要的token信息;如果支持跨域,那么就会发出第二次请求,这第二次请求才是我们常用的GET/POST请求,才会携带我们的token。如果不支持跨域,那么第二次请求就不会发了。所以我们在拦截器里,直接放行OPTIONS请求即可 ,加上这一段代码 //如果是OPTIONS请求 直接放行 String me原创 2021-07-01 14:28:21 · 1543 阅读 · 0 评论 -
springboot整合JWT+Redis
——————————已实际运用在项目中,可放心使用————————————————引入依赖创建JWT工具类创建JWT拦截器创建Redis工具类目录引入依赖 <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.原创 2021-06-29 14:28:49 · 4209 阅读 · 6 评论 -
通过Response返回Json格式数据给前端
Map<Object, Object> map = new HashMap<>(); map.put("success",false); map.put("message","验签失败"); String jsonMap = new ObjectMapper().writeValueAsString(map); response.setContentType("application/json;charset=UTF-8"); response.getWriter(..原创 2021-06-24 18:18:15 · 8023 阅读 · 0 评论 -
@RequestBody修饰的对象属性大小写映射问题
@RequestBody注解的属性值映射,是区分大小写的。如前端传的属性名为NAME,后端对象属性名为name , 这样是无法映射值的。解决办法:在对象的属性上加注解即可 @JsonProperty("NAME") private String name;...原创 2021-06-23 13:52:23 · 1841 阅读 · 0 评论 -
Geotools解析shp文件
最近参与了一个GIS项目,记录一下吧:geometry数据类型转st_astext(geometry):该方法是把geometry类型数据转换成wkt格式数据,参数只有一个,是geometry类型的数据。原创 2021-06-18 18:32:35 · 1656 阅读 · 0 评论 -
java解析zip压缩文件并将解压后的文件保存到本地
ZIpFile.entries()获取的是压缩包内的所有文件(包括文件夹),不只是第一层的文件(和文件夹原创 2021-06-16 17:26:28 · 3545 阅读 · 0 评论 -
MultipartFile 转 File
/** * MultipartFile 转 File * * @param file * @throws Exception */ public static File multipartFileToFile(MultipartFile file) throws Exception { File toFile = null; if (file.equals("") || file.getSize() <= ..原创 2021-06-16 11:17:49 · 265 阅读 · 0 评论 -
split返回空数组
如 split(".") 返回的就是空数组 因为:涉及转义的字符,类似的还有() [] {} + - * / . ^ ? $ ¦ 。加上反斜杠即可.split("\\.")原创 2021-06-15 18:26:29 · 781 阅读 · 0 评论 -
使用cmd操作git
打开cmd,输入 git clone git地址 (前提已经配置了git的环境变量)1.如果要显示分支:cd 下载到本地的git项目;git checkout 分支名 ;git branch ;2.将本地分支更新到远程分支:git pushorigin 分支名:分支名若报错:先执行 git push origin 分支名:分支名 ,在执行git pushorigin 分支名:分支名3.更新代码到本地仓库: git pull4.提交代码...原创 2021-06-09 14:13:10 · 5822 阅读 · 0 评论 -
git上拉取的项目转成maven
找到pom.XML文件右键,pom文件,选择 add as maven project原创 2021-06-09 14:09:18 · 862 阅读 · 0 评论 -
生成json文件并返回给前端页面
HashMap<String, Object> jsonMap = new HashMap<>();//xmxxList 是要转成json格式的数据jsonMap.put("xmxx",xmxxList);String jsonString = JSON.toJSONString(jsonMap, SerializerFeature.WriteMapNullValue);try { out = response.getOutputStream(); respo..原创 2021-06-03 19:51:47 · 959 阅读 · 0 评论 -
fastJson转换json字符串时不输出空值的解决办法
value等于空值时,key默认也会过滤掉,这有点坑解决:String jsonString = JSON.toJSONString(jsonMap, SerializerFeature.WriteMapNullValue);原创 2021-06-03 19:47:28 · 1151 阅读 · 0 评论 -
在static目录下创建文件(也适用于tomcat中部署的项目)
String cgxmjhbPath = this.getClass().getClassLoader().getResource("static/CGXMJHB").getFile();原创 2021-06-03 16:23:20 · 535 阅读 · 0 评论 -
springboot创建生产环境和测试环境的配置文件,并指定某个配置文件生效
1.resource目录下创建三个配置文件 文件名固定application.properties 公共配置文件,存放一些公共的配置,如端口号application-dev.properties 测试环境用的配置文件 存放一些业务相关的配置 如 文件的存放路径application-prod.properties 生产环境用的配置文件测试环境用的配置文件 存放一些业务相关的配置 如 文件的存放路径2. 在公共的配置文件中 指定测试环境 或 生产环境 的配置文件生效sp...原创 2021-05-18 15:37:19 · 695 阅读 · 0 评论 -
list map 等转json字符串,并添加到响应头返回
导入fastjson依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.60</version></dependency>公用方法:public static <T> String serialize(T object) { .原创 2021-05-14 14:48:42 · 111 阅读 · 0 评论 -
VO DTO Entity
VO:value object 值对象。后端用于接收前端传来的数据的实体类DTO : Data transfer Object 数据传输对象。用来封装后端的数据传递给前端的实体类。Entity: 与数据库表字段一一对应的实体类。原创 2021-05-11 19:34:40 · 195 阅读 · 0 评论 -
tomcat控制台 org.apache.catalina.startup.Catalina.start 毫秒后服务器启动 就不动了
查看是否缺少ServletInitializer.java 文件, 该文件在创建项目时,选择war包为打包方式时,会自动创建。若缺少该文件,则手动添加:注:该文件,与项目的启动类文件同级,✔ 处的参数为 启动类.class 按自己实际情况填写import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.servlet.support.Sp...原创 2021-05-07 20:29:24 · 10519 阅读 · 5 评论