java后端
java后端
泠鸢秋绘
这个作者很懒,什么都没留下…
展开
-
【day41】springdatajpa 实现灵活控制字段更新
save()方法在不指定主键的情况下,即实体对象的主键为null时,执行的是insert操作,而在指定主键的情况下,执行的操作为update操作,是将指定主键对应的那条记录的所有字段,更新为实体对象的每个对应属性的值,包括null值,它也会帮你更新,这方面看来显得不是很聪明 @Override public Object updateByOid(PageData pd) { BjUser bjUser = JSONObject.parseObject(JSONObject.t.原创 2021-05-28 17:00:54 · 552 阅读 · 0 评论 -
【day40】配置tomcat环境变量/jdk环境变量
原创 2021-05-25 17:53:31 · 158 阅读 · 0 评论 -
【day39】springboot项目war包和jar包部署的区别和各自的优缺点
war包部署1.将war包解压,将里面的内容放到服务器项目的目录下2.修改/usr/local/apach/conf/extra目录下的httpd-vhosts.conf文件,将部署服务器访问端口3.重启apach: service httpd restart4.war需要修改服务器上tomcat的server.xml文件,部署tomcat访问端口5.重启tomcat命令1)关掉tomcat : ./shutdown.sh2) 启动tomcat: ./startup.sh..原创 2021-05-19 11:41:19 · 1016 阅读 · 0 评论 -
【day39】java中日志的级别说明
log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。ALL:最低等级的,用于打开所有日志记录。TRACE: designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志级别,一般不会使用。DEBUG: 指出细粒度信息事件对调试应用程序是非常有帮助的,主要用于开发过程中打印一些原创 2021-05-19 10:28:04 · 86 阅读 · 0 评论 -
【day38】@RequestBody @RequestParam区别,ajax如何传递json字符串格式的参数,Content-Type的理解
apiPost如何传参 json字符串格式ajax如何传参 json字符串格式后端接口如何接收前端请求传Json对象则后端使用@RequestParam;前端请求传Json对象的字符串则后端使用@RequestBody。@RequestBody接受的是一个json对象的字符串,而不是Json对象,在请求时往往都是Json对象,用JSON.stringify(data)的方式就能将对象变成json字符串。SpringBoot 出现 Content type ‘application/x.原创 2021-05-18 16:44:56 · 316 阅读 · 0 评论 -
【day37】80端口不可用 java.lang.IllegalStateException: port: 8000 not available!
Win7.W10的80端口默认是被System进程占用的。用如下方法可以解决System进程占用80端口的问题:打开RegEdit:开始-运行-输入regedit-调出注册表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP找到一个DWORD值Start,将其改为4,默认为3.重启电脑,System进程将不会占用80端口。可以将其他程序改为80口。原文地址...原创 2021-05-17 16:24:32 · 1110 阅读 · 0 评论 -
【day36】钉钉RC版调试 inspector.js:2978 Uncaught TypeError: document.registerElement is not a function
下载了一个钉钉RC版来调试web端页面这是钉钉RC版的下载连接,下载后需要手动更新下最新版本大佬们帮忙看看,到底是什么原因,RC版我也更新到最新版本了。很着急。拜托大家了~~~原创 2021-05-15 19:53:15 · 562 阅读 · 0 评论 -
【day35】SpringBoot项目解决跨域问题
域:协议 + 域名 + 端口;三者完全相同则为同域,反之有其一不同均为不同域。跨域请求:当前【发起请求】的域和【请求指向】的域属于不同域时,该次请求称之为跨域请求。跨域问题:同一域名下允许通信同一域名下不同文件夹允许通信同一域名不同端口不允许通信同一域名不同协议不允许通信域名和域名对应IP不允许通信主域名相同,子域名不同不允许通信同一域名,不同二级域名不允许通信不同域名不允许通信springboot项目通过注解方式解决跨域问题使用 @CrossOrigin 注解:Controlle.原创 2021-05-13 11:12:00 · 100 阅读 · 0 评论 -
【day34】Double.parseDouble,java格式化double类型的数据:new DecimalFormat(“pattern“)
Double.parseDouble:将数字形式的String转为double类型Java程序无法将字符串"¥12345.00"转换为double类型,因此,抛出了java.lang.NumberFormatException异常。所以在使用Double的parseDouble方法时,要注意传入的方法的参数为数字。new DecimalFormat(“pattern”):DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示..原创 2021-05-11 17:42:32 · 668 阅读 · 0 评论 -
【day34】freemarker导出word,ftl模板声明全局变量并使用
声明循环遍历集合,先进性非空判断再声明<#list 0..(list_bzcy!?size-1) as i> <#if i==0> <#if (list_bzcy[0].name)??> <#assign bzcy_name0=list_bzcy[0].name> </#if> <#if (list_bzcy[0].kpdc)??> .原创 2021-05-11 15:51:59 · 238 阅读 · 0 评论 -
【day33】Oracle varchar与varchar2的区别,最大长度为多少
varchar – 存放定長的字符数据,最长2000個字符;varchar2 – 存放可变长字符数据,最大长度为4000字符。目前没有本质的区别但是:varchar2是oracle提供的独特的数据类型oracle保证在任何版本中该数据类型向上和向下兼容但不保证varchar,这是因为varchar是标准sql提供的数据类型有可能随着sql标准的变化而改变char对于不够位数的用空格添补,varchar2不用。可以试着比较一下。varchar2把所有字符都占两字节处理(一般情况下),varchar只.原创 2021-05-10 15:43:04 · 526 阅读 · 1 评论 -
【day32】idea+jFinal,浏览器访问hjml页面报404的解决方法
jfinal项目,在eclipse里面启动正常,html访问也正常,换到idea里面启动后,启动没有报错,但是浏览器访问html的时候会提示404原因:这个项目是以module的形式导入的,在working directory选中的是第一个项目,不是本项目。于是把这个改成了本项目就可以正常访问了...原创 2021-05-10 14:35:40 · 389 阅读 · 0 评论 -
【day31】jFinal获取项目绝对路径/访问地址位置/端口,获取配置文件中的值
获取项目绝对路径String path= PathKit.getWebRootPath();访问地址位置System.out.println(getRequest().getRequestURL());端口System.out.println(getRequest().getServerPort());获取配置文件中的值PropKit.get("key")原文地址...原创 2021-05-07 11:09:07 · 392 阅读 · 0 评论 -
【day31】JAVA获取桌面路径
FileSystemView fsv = FileSystemView.getFileSystemView();File com=fsv.getHomeDirectory();//桌面真实路径String Desktop = com.getPath();System.out.println(Desktop); windows 桌面真实路径 系统盘C盘情况下 C:\Users\Public\DesktopFileSystemView为系统文件视图接口分别有几个针对不同系统的实现类i原创 2021-05-07 09:47:46 · 251 阅读 · 0 评论 -
【day31】freemarker ftl文件 数字默认以逗号隔开的解决办法
FreeMarker显示数字的时候,比如 ${post.postId} 文章Id为 9183,FreeMarker 默认显示为 9,183,在超链接的里就会报错。解决办法有两种方法一、在表达式后面加 ?c ,默认不加会以,分隔${post.postId?c}方法二、直接在配置文件(application.yml)中加 number_format=0这个方法比较推荐,避免每个地方都要加?c对了,还有一种说法是number_format=#,但是yml里的#是注释符号,无效,所以以0替换没.原创 2021-05-07 09:30:05 · 727 阅读 · 0 评论 -
【day31】freemarker ftl文件 属性判空
freemarker中显示某对象使用${name}.但如果name为null,freemarker就会报错。如果需要判断对象是否为空:<#if name??> …… </#if>当然也可以通过设置默认值${name!’’}来避免对象为空的错误。如果name为空,就以默认值(“!”后的字符)显示。对象user,name为user的属性的情况,user,name都有可能为空,那么可以写成${(user.name)!’’},表示user或者name为null,都显示.原创 2021-05-07 09:04:12 · 1838 阅读 · 0 评论 -
【day30】freemarker导出word踩坑
编辑word模板时,$ {string} 标签最好是手动一次性输入完毕,或者使用记事本统一将整个$ {string}编辑好之后,粘贴至word里边。也就是说,不要在word里首先打完 ${ } 之后,又从其它地方把 string 字符串粘贴至 { } 之间,这样在 word 转化为 xml时,解析会有问题,freemarker解析时,会报错。将${} 和 string 分开录入word,另存为xml后,后果将如下:因为在word中复制的话,会把word格式也给复制了,会把你写的标签给..原创 2021-05-06 11:37:26 · 287 阅读 · 0 评论 -
【day29】谷歌浏览器,开发人员调试模式,页面的刷新的不同方式
很多时候右键点击谷歌浏览器左上角刷新按钮不能显示出来"清空缓存并硬性重新加载" 的选项;原因: 少了一个必要条件, 先点击F12,然后再右键点击谷歌浏览器左上角刷新按钮;此时便能出来"清空缓存并硬性重新加载"的选项了;另外,可以如果只需要"硬性重新加载", 则直接快捷键Ctrl+Shift+R ;...原创 2021-04-30 17:48:38 · 1220 阅读 · 1 评论 -
【day29】图片base64格式如何获取后缀名并上传到指定路径下
public Result ImageBase64UploadFile(String base64Data){ String tempFileName=""; try { String dataPrix = ""; String data = ""; if(base64Data == null || "".equals(base64Data)){ throw new Ex.原创 2021-04-30 17:46:32 · 3410 阅读 · 1 评论 -
【day28】fastjson,从jsonArray中获取jsonObject对象
JSONArray list_bzcy = params.getJSONArray("list_bzcy"); for (int i = 0; i < list_bzcy.size(); i++) { // 遍历 jsonarray 数组,把每一个对象转成 json 对象 khry = list_bzcy.getJSONObject(i).toJavaObject(Khry.class); service.update(khry); ..原创 2021-04-29 19:05:49 · 621 阅读 · 0 评论 -
【day27】map.keySet()
获取map全部的key值KeySet():将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。 keySet():迭代后只能通过get()取key Set<String> key_set = list.get(0).getColumns().keySet(); for (String key : key_set) { if (list.get(0).getColumns.原创 2021-04-28 19:26:30 · 103 阅读 · 0 评论 -
【day27】java获取年月日时分秒(12小时制/24小时制)
Calendar类Calendar calendar = Calendar.getInstance();calendar.setTime(new Date()); //放入Date类型数据 calendar.get(Calendar.YEAR); //获取年份calendar.get(Calendar.MONTH); //获取月份calendar.get(Calendar.DATE); //获取日 calendar.get(Calendar.HOUR); .原创 2021-04-28 19:22:15 · 715 阅读 · 0 评论 -
【day25】oracle数据库,ORA-12638: 身份证明检索失败的解决方法
-在你的客户端安装目录下 D:\app\sabre\product\11.2.0\client_1\NETWORK\ADMIN此目录下找到sqlnet.ora文件,如果存在SQLNET.AUTHENTICATION_SERVICES= (NTS)设置,则修改为:SQLNET.AUTHENTICATION_SERVICES= (NONE),如果不存在,则直接添加SQLNET.AUTHENTICATION_SERVICES= (NONE),我的问题得以解决。SQLNET.AUTHENTICATION_SER原创 2021-04-25 13:35:43 · 250 阅读 · 0 评论 -
【day24】fileUtils应用需要加的依赖
pom依赖:<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency>原创 2021-04-24 11:24:36 · 550 阅读 · 0 评论 -
【day23】The field file exceeds its maximum permitted size of 1048576 bytes.
# 数据源配置spring: servlet: multipart:# 设置单个文件的大小 max-file-size: 10MB# 设置单次请求的文件的总大小 max-request-size: 10MB原创 2021-04-23 17:19:04 · 132 阅读 · 0 评论 -
【day23】java+freemarker导出word文档,传入的值为list
如果需要循环,则使用:<#list maps as map></#list> maps是Map<String, Object>中key,值为数组,map为自定义;将文件后缀名改为ftl后,再加入list标签,否则会报错原创 2021-04-23 16:03:43 · 172 阅读 · 0 评论 -
【day22】java 获取当前时间戳
方法 一System.currentTimeMillis();方法 二Calendar.getInstance().getTimeInMillis();方法 三new Date().getTime();原创 2021-04-22 19:07:20 · 61 阅读 · 0 评论 -
【day22】java导出word文档(包含导出图片)
1、【Java】使用freemarker模板技术导出word main方法测试package com.havenliu.document; import java.io.UnsupportedEncodingException;import java.util.HashMap;import java.util.Map; public class Main { /** * @param args * @throws UnsupportedEncodingException .原创 2021-04-22 19:05:29 · 2172 阅读 · 0 评论 -
【day21】使用dbeaver工具,复制oracle数据库表结构
生成ddl语句选择库,打开sql编辑器将刚才生成的ddl语句复制过来 点击执行sql脚本原创 2021-04-21 19:56:27 · 3545 阅读 · 0 评论 -
【day21】判断JSONObject是否包含含有某个属性值(key)
JSONObject.containsKey("key")原创 2021-04-21 19:34:22 · 2016 阅读 · 0 评论 -
【day20】idea导入jfinal项目并启动
项目结构设置配置文件修改启动报错解决:端口被占用,修改配置文件的端口号启动成功用tomcat启动不成功,暂时没有找到解决办法原创 2021-04-20 18:04:45 · 830 阅读 · 0 评论 -
【day20】Sqlite下载,安装,建库,连接
下载我是64位机,下载下面的两个解压就好然后解压配置环境变量Path添加path环境变量,我的是D:\sqlite\sqlite-tools-win32-x86-3230100,我的安装目录是在这里,所以Path配置地址就是这个WIN+R,cmd,输入sqlite3,显示下面内容说明成功创建数据库//生成test.db文件,.open test.db执行完必须执行.databases才会生成文件,//生成方式1、使用dos命令也可以//生成方式2、直接双击sqlite3.exe,然后.原创 2021-04-20 12:02:42 · 74 阅读 · 0 评论 -
【day20】The selected directory is not a valid TomEE home
原文地址原创 2021-04-20 11:54:48 · 136 阅读 · 0 评论 -
【day20】Idea导入maven项目不自动识别pom.xml
从eclipse中导入到idea中,pom.xml文件不能被maven直接识别。解决办法:右键pom.xml文件,选择” add as maven project”,即可自动导入pom所依赖的jar包。原创 2021-04-20 11:53:24 · 115 阅读 · 0 评论 -
【day19】【IntelliJ IDEA】连接https报错问题: E230001: Server SSL certificate verification failed: certificate
问题现象如下图:解决方法:cmd打开运行窗口,执行以下命令 svn ls https://xxx xxx是具体的svn项目地址(可以多试几次你的项目地址) 最后会显示(R)eject, accept (t)emporarily or accept (p)ermanently? 输入p即可 然后根据提示输入svn账户名UserName和密码Password(反正我的没有输入也搞定了)最后checkout from subversion刷新一下就好了(或者重启你的idea).原创 2021-04-19 17:32:45 · 246 阅读 · 0 评论 -
【day19】[INS-20802] Oracle Net Configuration Assistant 失败
将 C:\Windows\System32\drivers\etc\hosts 文件中的# 127.0.0.1 localhost,前面的#号去掉然后点击重试就会配置成功原文地址原创 2021-04-19 10:08:03 · 237 阅读 · 0 评论 -
【day19】java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
解决办法:引入以下依赖<dependency> <groupId>cn.easyproject</groupId> <artifactId>orai18n</artifactId> <version>12.1.0.2.0</version></dependency>原创 2021-04-19 09:05:29 · 331 阅读 · 0 评论 -
【day19】Oracle下载,安装,创建用户、表空间,卸载
下载,安装创建用户、修改密码、创建表空间、用户授权卸载原创 2021-04-19 09:04:24 · 200 阅读 · 0 评论 -
【day18】java String转Long两种方法区别
第一种:包装类型:Byte,Integer,Short,Long,Boolean,Character,Float,Double等8种Long.valueOf(“String”)返回Long包装类型第二种:基本数据类型:byte,int,short,long,boolean,char,float,double等8种Long.parseLong(“String”)返回long基本数据类型原文链接...原创 2021-04-15 20:22:01 · 67 阅读 · 0 评论 -
【day18】整数太大的错误
报错的源代码为:public class IntTest{ public static void main(String[] args){ long c = 2147483648; System.out.println(c); }}这个问题的本质是:Java在任何情况下,处理整数型的“字面量(数据)”时,默认会将字面量当做int型处理。换句话说,就是所有在java代码中出现的数字,Java会默认为int型。在上面的语句:long c = 2147483648;Ja原创 2021-04-15 20:20:43 · 134 阅读 · 0 评论