
Java
文章平均质量分 71
alanzyy
这个作者很懒,什么都没留下…
展开
-
快捷配置Log4J打印到控制台
背景:在同时使用Log4J和commons-logging库时,单独运行一个类进行测试的时候,总是打印如下警告信息: log4j:WARN No appenders could be found for logger (xxx.LogTool). log4j:WARN Please initialize t原创 2012-12-14 15:30:05 · 1316 阅读 · 0 评论 -
Windows10 SpringMVC中需要使用setPath()才能保证cookie保存成功
今天在我的一个个人项目中使用cookie做自动登录功能时,遇到cookie始终无法成功保存的问题,花了些时间才弄清楚其中的原因。一般来说,我们会使用如下方式保存cookie信息,这段代码在Windows8非SpringMVC环境下是可以政策运行的,但是在Windows10 SpringMVC下就无法保存cookie。final Cookie nameCookie = new Cooki原创 2016-05-02 22:50:26 · 2486 阅读 · 0 评论 -
Java 8读取Access数据库报错的问题——用32位Java 7
今天因为工作需要接手一个数据库对比和处理程序,在运行时遇到一些问题,在此进行记录。错误一:java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver错误二:Java java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver原创 2016-03-01 18:00:07 · 2343 阅读 · 1 评论 -
Java资源目录访问一目了然
当你使用ClassLoader的getResource()时,你需要传入完整的路径,包括包名。当使用Class的getResource()时,如果传入的路径不以/开头时,则只要传入资源与当前类所在包的相对路径即可 ,否则依然要传入完整的路径原创 2015-10-24 11:11:30 · 790 阅读 · 0 评论 -
JDK的下载地址
Java所有版本JDK/JRE下载列表Java下载总入口下面是我已经下载好的JDK 6/7/8http://pan.baidu.com/s/1kUuWNY3已知版本号的时,在Oracle官方下载旧版本的JDK下面这个链接是某个JDK的下载地址:http://download.oracle.com/otn-pub/java/jdk/6u33-b04/j原创 2015-12-07 13:57:02 · 1007 阅读 · 0 评论 -
登陆成功后返回前一个页面
之前自己写了一个Web日志工具,使用Spring MVC+mybatis进行实现。由于我自己一天到晚都要使用,而有时页面会放在那里一段时间,就常会遇到session过期后跳转到登陆界面进行登陆。但是登陆后是转向了一个默认界面,这样我每次都还在多一次点击才能来到目标页面。于是,我必须要解决登陆之后跳转到前一个页面的问题以提高效率。原创 2016-01-22 15:40:35 · 5633 阅读 · 0 评论 -
JavaFX屏幕截图工具ScreenCapture
使用JavaFX实现的简易屏幕截图工具,可以全屏截图或者选定固定区域进行截图。 写这个工具的目标场景在于:有时候在看学习视频的时候,想对其中的一些重要内容进行截图,使用播放器的截图功能操作繁琐,而使用该截图工具,先固定截图区域,然后按下PrintScreen键即可截图。原创 2015-09-03 17:36:21 · 3463 阅读 · 0 评论 -
升级最新JRE后JavaFX Applet运行异常RuntimeException: Internal graphics not initialized yet
这两天Oracle发布了JDK的最新版本 JFK_1.8_60。我们有个客户第一时间更新了最新的版本,这导致了他无法运行我们的Applet(Swing+JavaFX2)产品。这是因为JavaFX运行时还没有启动,而又在后台初始化JavaFX的控件,于是就引发了这个异常。解决方案就是在初始化JavaFX控件之前加一句new JFXPanel(),手动启动JavaFX运行时。原创 2015-08-28 16:32:42 · 3090 阅读 · 0 评论 -
Maven工程产生Jar时Main-Class和Class-Path的配置文件
现在在Java工程中使用Maven已经是非常常见的配置。而对于Maven工程默认产生的Jar却不是可执行的,尤其在你创建了一个桌面应用程序后,不能直接执行是致命的。于是在本文中,我简单记录下如何配置使得Maven工程构建产生可执行的Jar,这里主要就是对Main-Class和Class-Path的配置。只要将以下代码复制到Maven配置文件pom.xml中,并注意修改MainClass部分即可。原创 2015-08-10 16:33:06 · 22755 阅读 · 1 评论 -
Web静态资源处理方案
由于前端页面使用到了iframe,经常会出现JS/CSS更新之后,页面无法自动刷新以及按F5也无法刷新的问题,需要点击“重新加载框架”才能成功刷新页面。这会影响普通用户的使用。问题原因,iframe缓存了静态资源文件,在F5刷新时并不会刷新iframe中的缓存。解决思路,在每次发布时,修改静态资源的路径,使得访问新版本的页面时一定去下载新的资源文件。原创 2016-10-12 09:03:46 · 2094 阅读 · 0 评论 -
关于BigDecimal精度影响计算结果的问题
因为double本身有数值范围的限制,在处理金钱等需要高精度的数据时,我们会考虑使用BigDecimal。但是在使用BigDecimal时,有很多需要我们注意的细节。本文主要针对精度问题来进行说明。原创 2017-01-03 20:55:25 · 2381 阅读 · 0 评论 -
Tomcat部署两个webapp时webAppRootKey冲突的问题
SpringMVC容器启动时,WebAppRootListener会将该webapp的项目路径设置到系统全局变量中,以便在可以使用系统全局变量的地方获取到webapp的项目路径,默认该变量名为webapp.root,比如在log4j配置文件中使用${webapp.root} 。我们可以在web.xml中对该变量名进行自定义(任意名称)。而且在Tomcat中,因为其不会为每个webapp隔离系统全局变量,我们必须在不同webapp中设置不同的变量名,否则就会出现上面的错误。只需要为每个项目设置不同的名称即可。原创 2016-12-20 13:47:46 · 3671 阅读 · 0 评论 -
Java使用Runtime来打开带空格文件夹的问题
Runtime.getRuntime().exec(new String[] {"cmd","/c","start"," ",generatedPathPanel.getGeneratedPathData().getDirectory()});Runtime.getRuntime().exec("cmd /c start \" \" \"" + generatedPathPanel.getGe原创 2015-05-12 18:08:54 · 2154 阅读 · 0 评论 -
Java运行过程中判断JDK版本
很简单public class JdkVersion { private static final String javaVersion; private static boolean isJava8; static { javaVersion = System.getProperty("java.version");原创 2014-11-21 11:33:21 · 11061 阅读 · 0 评论 -
DecimalFormat对数值格式化的舍入问题——RoundingMode
背景:在对数值做一些计算的时候,往往我们需要控制计算结果的精度,所以会使用到DecimalFormat类来将数值格式化成字符串。在最近测试中,突然注意到默认使用DecimalFormat进行格式化时,并非我们一般认识上的四舍五入,而是一种诡异的舍入——(1)5以下舍去(2)5以上舍入(3)若前一位是奇数,5就舍入(4)如前一位是偶数,5就舍去遇到这样的统计结论,没有理论的支持,我们总是感到原创 2013-01-04 16:39:28 · 42723 阅读 · 11 评论 -
Applet使用JNLP DownloadService延迟加在Jar的进度处理
说明:这篇文章的主题是使用JNLP启动Applet中的一个小知识点——延迟加载Jar及其加载时进度处理 JNLP中,延迟加载Jar的配置,关键代码:download='lazy' 以下代码就可以触发下载以上配置的几个延迟Jars,但是却无法有效的控制下载的进度 C原创 2013-01-07 17:53:47 · 1066 阅读 · 0 评论 -
JInternalFrame标题栏设置
jif.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE); //取消最大化、最小化、关闭等按钮的显示,仅仅遗留供Drag移动Frame的窄标题栏 ((javax.swing.plaf.basic.BasicInternalFrameUI) jif.getUI()).setNorthPane(n原创 2013-01-09 17:30:42 · 1281 阅读 · 0 评论 -
Desktop项目MVC分层分析
长时间使用Java Swing编写Applet以及Desktop程序,总觉得编写的代码灵活性不高,复用性不够等,一直试图将MVC结构融入自己的代码架构中,今天根据自身的理解总结一下通过Swing编写Desktop程序的MVC结构。原创 2013-01-08 22:14:36 · 845 阅读 · 0 评论 -
Java中除数为0时计算报错的问题
在数学中,规定被除数不能为0 那么在Java程序中一旦出现除数为0时,会出现什么情况呢:对于除数a和被除数b (b=0),(1)如果二者均为int型(long也是int型),结果会抛出异常:java.lang.ArithmeticException: / by zero(2)如果其中有一个为double或者float型,结果则是Infinity 另外,对于Double和原创 2013-02-19 16:19:09 · 17780 阅读 · 0 评论 -
JSP的I18N标签
I18N标签JSP的I18N包括了国际化标签、消息处理标签日期和数字格式化标签,一共有12个。1. 国际化核心标签1) 这个标签用于设置客户端的区域,并将区域存储在javax.servlet.jsp.jstl.fmt配置的环境变量中。其中value表示设定Locale环境,可以是java.util.Locale或String类型的实例;scope表示Locale环境变量的作用范转载 2013-02-21 14:44:24 · 1530 阅读 · 0 评论 -
在JSP中实现国际化
工作中有个Java Web项目需要将英文版翻译出中文版,其中主要使用了大量的JSP页面进行显示,所以遇到JSP的国际化的问题,我今天做了一些调研,已经通过技术分析并形成方案,现总结如下:对于JSP 应用程序,至少有两种处理不同语言的显示问题的普遍接受方法可以使用: (1) 存储多组 JSP,每组 JSP 都用不同的语言编码,然后根据用户的地区选择在这些 JSP 之间切换。(2)原创 2013-02-21 17:59:44 · 7367 阅读 · 2 评论 -
JavaFX2: 鼠标拖动选择和Ctrl+Shift连续区间选择的ListView
JavaFX2的ListView中的多选没有提供鼠标拖动选择的功能,同时按下Ctrl和Shift后连续的区间选中也不支持,以下代码用于处理这两个问题,细节见代码注释: import com.sun.javafx.scene.control.skin.ListViewSkin;import com.sun.javafx.scene.control.skin.VirtualFlow;imp原创 2013-09-09 18:17:55 · 4260 阅读 · 0 评论 -
中文环境下Swing组件以英文环境显示界面提示的设定
对于Desktop程序Locale.setDefault(Locale.ENGLISH); 用于设置整体的Locale环境,只需要在Main启动方法的第一句加上这句话,就可以解决问题对于Applet启动模式在init()方法添加 Locale.setDefault(Locale.ENGLISH);语句用于改变整体环境的默认设定但是,因为Applet启原创 2013-11-20 11:12:22 · 1637 阅读 · 0 评论 -
Tooltip -- 为MenuItem实现Tooltip
Tooltip -- 为MenuItem实现Tooltip一、Node组件可以很容易的添加Tooltip在JavaFX2中,Tooltip可以很容易的实现在所有的Node组件中,如: Button button = new Button("Hover Over Me"); button.setTooltip(new Tooltip("Tooltip for Button"));原创 2014-02-19 16:08:27 · 3212 阅读 · 0 评论 -
JavaFX - UI控件 - 标签
本章主要介绍如何使用标签(Label),该类位于JavaFX API的javafx.scene.control包中,用于显示一个文本元素。 接下来会介绍如何让文本元素自动换行来适应受限空间,添加一个图标,或使用视觉特效。翻译 2014-06-19 01:17:49 · 5471 阅读 · 0 评论 -
Jenkins自动部署到Tomcat随机失败的问题
这两天做项目时遇到Jenkins自动部署随机失败的问题,当构建失败后,反复多构建几次又会成功,因为比较忙就没有花时间去查,直到有次我点了部署之后,就去做其他事情了,然后部署失败了,导致测试人员无法测试浪费了他人时间,才决心解决这个随机问题。你可以检查一下项目中是否同时引用了两个不同版本的bouncycastle,去掉一个,但我并属于这种情况。如果修改了pom中jar版本号,都需要重新清理工作空间一次,或者配置Job时就选择每次构建都清理工作空间。原创 2017-03-06 21:02:35 · 4820 阅读 · 0 评论