JAVA
文章平均质量分 62
序猿_
java攻城师
展开
-
springboot thymeleaf前后端分离(伪分离)
额…看标题大家应该觉得很奇怪,为什么叫伪分离,因为嘛,正常前后端分离都是使用springboot+vue的,使用thymeleaf,那不是跟jsp一样么,对吧。那么先说起因吧,我上篇文章讲了。把第三方jar单独分离出来,这样可以大大减轻项目jar包的大小,但是感觉还是不够,因为资源文件css,js,html,图片等文件随着项目越做越大,占用空间越来越大。我这个项目这些资源文件已经又100多mb了。。。每次打包都要全部打包一遍,然后上传服务器,有时候简单修改个样式也是要全部打包一遍,感觉实在是浪费时间。所以就原创 2020-05-28 06:29:09 · 6277 阅读 · 0 评论 -
springboot第三方jar包外部引用
一开始的时候,使用maven打包springboot,我都是将打好的包lib里面的jar全部删除。然后单独复制一份lib文件,然后运行的时候使用java -Djava.ext.dirs=D:\lib test这样很简单,又很方便。但是后面项目集成shiro之后,就不行了。简单的把lib里面删除,运行的时候就会报错java.security.NoSuchAlgorithmException: AES KeyGenerator not available百度了很多都是什么jdk的问题,其实我知道,这原创 2020-05-28 05:58:34 · 1520 阅读 · 0 评论 -
poi读取excel
package edu.sjtu.erplab.poi;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.text.SimpleDateFormat;import ja转载 2015-08-19 15:57:02 · 446 阅读 · 0 评论 -
Neither BindingResult nor plain target object for bean name 'TeachLab' available as request attribut
这个问题百度了下,主要是spring mvc在绑定对象的时候出了问题,我本地具体的解决办法是加如下代码 @ModelAttribute("TeachLab") public TeachLab get(TeachLab teachLab){ return teachLab; }原创 2015-09-15 23:59:19 · 924 阅读 · 0 评论 -
Java动态代理
最近做项目用到了动态代理,感觉还不熟悉,花了一个下午终于搞明白了动态代理,动态代理使用很简单,原理也不难,现在把使用方法记下来,以备用。首先要明白的是,要代理一个类必须要有一个接口,就是被代理类必须实现了某个接口 所以我们先写一个接口:package jdk.proxy.test;/** * 说话的接口,对某个人说话,并且要有返回值 * @a转载 2015-11-04 16:57:55 · 452 阅读 · 0 评论 -
linux下面安装jdk+tomcat
1,jdk安装 比较简单,我不是用rpm安装,我是安装.bin后缀的.直接运行就解压出一个文件.你可以把你解压出来的文件复制到你想要放置的地方.关键是配置 在/etc/profile中加入 JAVA_HOME=/usr/java/jdk1.6.0_01 CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib PATH=$PATH:$JAVA_HOME原创 2014-06-10 11:10:36 · 562 阅读 · 0 评论 -
java使用unicode过滤emoji表情
最近搞个微信公众号的项目,如果微信用户名有表情符号的,那么在我们的系统里面就会保存不了。最初的解决方案是把数据库的utf8格式改为utf8mb4。这样就能兼容保存emoji表情符号,后面又发现,保存的表情符号有的能正常显示有的不可以,后来经过几次验证才发现,用IOS自带输入法输入的表情,跟安卓输入法输入的表情编码不一样,导致有些符号不能显示,而且有些IOS有的符号安卓机子还没有。如果要统一就必须要原创 2016-11-22 11:29:35 · 16657 阅读 · 12 评论 -
mysql/Java服务端对emoji的支持
前言:最近开发的iOS项目因为需要用户文本的存储,自然就遇到了emoji等表情符号如何被MySQL DB支持的问题。困扰了数日,在就要绝望放弃的边缘,终于完成了转换和迁移。在此特别分析和整理,方便更多人。 问题描述:如果UTF8字符集且是Java服务器的话,当存储含有emoji表情时,会抛出类似如下异常:java.sql.SQLException: Inco转载 2016-11-24 15:37:34 · 407 阅读 · 0 评论 -
jenkins+maven动态打包配置文件
上一篇写到打包war传输到远程服务器,这篇来写如何动态打包不同配置文件先看下我的工程目录结构,如下图其中:application.properties和constantmdm.properties这两个文件就是要动态配置的。dev目录和test目录中的两个properties文件就是要打包的时候,动态替换的。接下来我们看pom.xml配置,如下图我们看到prof原创 2017-06-23 11:33:45 · 15593 阅读 · 2 评论 -
按键精灵模拟键盘批量输入英文大小写
1、起因:闲来 无聊,公司开发的方式是虚拟云平台,所有工作都在云平台上完成,所以云平台外面的数据文档无法和云平台直接传送,如有需要,必须写申请单,向领导申请,手续有点繁琐,因为在云平台上安装了一个软件需要license-key,这个key又非常的长类似这种:XNSCi+G+rJ7DK9PbewA6DNrc4jJZ3XKIdpKbkQxB8eS6SOozkjIwyTlSgpHJ5v6GrsNtfrx原创 2017-06-28 22:08:38 · 6249 阅读 · 1 评论 -
使用jxls分页导出excel
项目有一个导出excel的功能使用的是2003版的,那2003版的excel单个sheet最多只能导出65535条数据,现在项目有一个导出的功能数据会超过65535条。所以需要导出到多个sheet里面,类似分页处理。代码如下 public static void main(String[] args) throws Exception{ String filePath原创 2017-09-22 15:17:16 · 2799 阅读 · 0 评论 -
jdbc获取Oracle字段注释
起因:公司有个项目有一个自动生成代码的工具用的的codegen,在使用过程中发现生成的页面文件字段都是使用column名而不是使用注释,所以每次自动生成完还需要重新修改字段名,当遇到字段多的页面时,很是头疼,所以决定修改自动生成的代码,让自动生成的代码直接生成注释,省得后期修改。首先现在使用codegen的人好像很少了,基本百度不到什么有用的资料,于是决定反编译codegen代码在com.原创 2017-12-08 11:49:56 · 3876 阅读 · 0 评论 -
阿里云服务器验证码不能显示解决办法java.lang.Error: Probable fatal error:No fonts found
今天在阿里云服务器上部署系统,服务启动起来后,登陆页面的验证码显示不了。提示404错误。因为我是使用jsp的,网上大部分都是php的,后面根据一篇文章关于404错误排除的方法。(http://www.jspkongjian.net/news.jsp?id=922)自己新建了一个简单的web系统。把验证码的代码copy过去,然后把这个系统上传到服务器。启动起来后报错java.la原创 2015-06-10 15:54:36 · 3777 阅读 · 0 评论 -
JVM学习笔记(四)------内存调优
首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数,过多的GC和Full GC是会占用很多的系统资源转载 2014-11-25 08:46:38 · 501 阅读 · 0 评论 -
JVM学习笔记(三)------内存管理和垃圾回收
JVM内存组成结构JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Space和To Space组成,结构图如下所示:新生代。新建的对象都是用新生代分配内存,转载 2014-11-25 08:45:34 · 474 阅读 · 0 评论 -
在HTML中显示中文名的图片
在HTML中显示中文名的图片,如: 问题解决办法: 1)修改Tomcat的server.xml,在Connector标签中增加URIEncoding="utf-8" 修改以上即可 2)对url编码 java.net.URLEncoder.encode(url); 注意:url的起始如果非中转载 2014-06-10 11:06:24 · 1549 阅读 · 0 评论 -
计算月份天数包括闰年二月天数计算
import java.util.*; /** * * 这里没有对输入非数字的数进行处理! */ public class Shell { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int y = 0; int n = 0;原创 2014-09-09 23:23:15 · 3111 阅读 · 1 评论 -
使用poi操作excel
最近接了个任务,就是要调整EXCEL,而且还要动态调整。。。原创 2014-09-27 22:05:17 · 2131 阅读 · 0 评论 -
数据对比,列出数据修改、新增、删除记录
首先说下应用场景,客户方有两套人力资源管理系统,xi原创 2014-09-27 20:27:44 · 3212 阅读 · 0 评论 -
同一个excel文件在不同电脑上打印高度不同的原因
因为最近甲方领导对excel导出的文件要求比较高,所以发现这个问题,同一个excel表格,在领导电脑上打印是一页刚刚好,而在其他人的电脑上打印则超过了一页。一开始我们想到了几种可能的原因:1、页面缩放2、页边距设置3、打印机设置4、excel选项-默认字体设置5、excel选项-标尺设置6、不同excel版本问题结果试了以后都不是这些原因导致的。后来经公司总部exc原创 2014-11-03 14:42:12 · 31633 阅读 · 5 评论 -
AIX系统生僻字的解决方案
最近做优化人力资源系统碰到一个问题,就是有个人的姓名包含:(yan)这个生僻字,系统无法显示,导致该员工工资无法发出... 生产环境是:AIX6.1,Weblogic 10g,Oracle 10g 一开始觉得问题挺简单了,没怎么当回事,结果一接手发现是个烫手的山芋... 问题来了... 这个字,在我们开发系统上是原创 2014-11-28 10:50:38 · 3944 阅读 · 1 评论 -
java md5加密算法
这个方法是网上拷贝了,具体 public static String MD5(String s) { char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; try { byte[] btInput =原创 2014-09-09 23:22:21 · 665 阅读 · 0 评论 -
通过java反射实现静态变量替换
通过java反射我们要达到的目的是:在项目中调用原创 2014-11-24 08:40:30 · 10666 阅读 · 0 评论 -
java反射练习
最近看了java反射,自己练习的代码整理了一下,方便以后查阅原创 2014-11-24 08:29:56 · 751 阅读 · 0 评论 -
JVM学习笔记(一)------基本结构
从Java平台的逻辑结构上来看,我们可以从下图来了解JVM:从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别对于JVM自身的物理结构,我们可以从下图鸟瞰一下:对于JVM的学习,在我看来这么几个部分最重要:Java代码编译和执行的整个过程JVM内存管理及垃圾回收机制下面将这两个部分进行详细学习原文转载 2014-11-25 08:43:08 · 448 阅读 · 0 评论 -
JVM学习笔记(二)------Java代码编译和执行的整个过程
Java代码编译是由Java源码编译器来完成,流程图如下所示:Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制:Java源码编译机制类加载机制类执行机制Java源码编译机制Java 源码编译由以下三个过程组成:分析和输入到符号表注解处理语义分析和生成cla转载 2014-11-25 08:44:42 · 498 阅读 · 0 评论 -
java二维码生成与解析代码实现
二维码,是一种采用黑白相间的平面几何图形通过相应的编码算法来记录文字、图片、网址等信息的条码图片。如下图 二维码的特点: 1. 高密度编码,信息容量大 可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。 2. 编码范围广 该条码可以把图片、声音、文字、签字、指纹等可以数字化的信息进行编码,用条码表示出来;可以表转载 2014-06-10 11:04:00 · 496 阅读 · 0 评论