jstl fmt:formatDate的输出格式 cloudy

<fmt:formatDate value="${isoDate}" type="both"/>
2004-5-31 23:59:59

<fmt:formatDate value="${date}" type="date"/>
2004-4-1

<fmt:formatDate value="${isoDate}" type="time"/>
23:59:59

...

JMF 播放MP3文件以及获取音轨长度 suny

JMF核心框架支持不同媒体(如:音频输出和视频输出)间的时钟同步。它是一个标准的扩展框架,允许用户制作纯音频流和视频流。详细介绍

   java代码
  1. import java.io.File;  
  2. import java.text.SimpleDateFormat;  
  3. import java.util.Calendar;  
  4.  
  5. import javax.media.Format;  
  6. import javax.media.Manager;  
  7. import javax.media.Player;  
  8. import javax.media.PlugInManager;  
  9. import javax.media.format.AudioFormat;  
  10.  
  11. public class MyTest {  
  12.  
  13.     /**  
  14.      * @param args  
  15.      * @throws Exception  
  16.      */ 
  17.     public static void main(String[] args) throws Exception {  
  18.         MyTest.Play("D:\\test.mp3");  
  19.     }  
  20.  
  21.     // 播放音频文件  
  22.     public static void Play(String fileurl) {  
  23.         try {  
  24.             Format inMp3 = new AudioFormat(AudioFormat.MPEGLAYER3);  
  25.             Format outLinear = new AudioFormat(AudioFormat.LINEAR);  
  26.  
  27.             PlugInManager.addPlugIn(  
  28.                     "com.sun.media.codec.audio.mp3.JavaDecoder",  
  29.                     new Format[] { inMp3 }, new Format[] { outLinear },  
  30.                     PlugInManager.CODEC);  
  31.  
  32.             File file = new File(fileurl);  
  33.             Player player = Manager.createPlayer(file.toURI().toURL());  
  34.             player.start();  
  35.             Thread.sleep(500);  
  36.  
  37.             double seconds = player.getDuration().getSeconds();  
  38.             System.out.println("MediaTime:" + seconds);  
  39.             System.out.println("MediaTime:" + getTime(seconds));  
  40.         } catch (Exception e) {  
  41.             e.printStackTrace();  
  42.         }  
  43.     }  
  44.  
  45.     public static String getTime(double time) {  
  46.         int millis = Integer.parseInt(String.valueOf(Math.round(time)));  
  47.         Calendar cal = Calendar.getInstance();  
  48.         cal.set(00000, millis);  
  49.  
  50.         SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");  
  51.         return sdf.format(cal.getTime());  
  52.     }  
  53.  

MySql提示:The server quit without updating PID file(…)失败 cloud

1.可能是/home/data/mysql 文件夹没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /home/data/mysql” “chmod -R 755 /home/data/mysql” 然后重新启动mysqld!

2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!

3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

...

Eclipse快捷键大全(转载) cloud

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变为小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)

 

Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)

...

不受支持的 SQL 类型 1111 rainy

Sybase 的官方驱动 jConnect4 (链接字符串:jdbc:sybase:Tds:127.0.0.1:5000/xxx) 结合myBatis使用时,发现如下问题,当insert或者update语句的变量含有null值,会报错:

 ### Cause: java.sql.SQLException: JZ006: 捕获到 IO 例外:java.io.IOException: JZ0SL: 不受支持的 SQL 类型 1111。

Cause: java.sql.SQLException: JZ006: Caught IOException: java.io.IOException: JZ0SL: Unsupported SQL type 1111.

由于参数出现了null值,myBatis进行操作的时候,指定jdbcType类型的参数时,mybatis默认设置为jdbcType.OTHER,导致Sybase数据库无法识别此格式。

...

Bootstrap CSS/HTML框架 suny

关于:Bootstrap

Sleek, intuitive, and powerful front-end framework for faster and easier web development.
简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。

Bootstrap是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。

...

Spring 打包成jar 在Linux下运行的问题 suny

在本地Eclipse开发和调试是没问题的,打包成jar放到Linux下无法启动,报错:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'mainThead' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:529)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1095)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:277)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
... 17 more

其中“mainThead”是通过 spring的@service注解的(使用@Component)也一样。

...

myBatis 存储过程返回值的问题 cloud

今天在调试myBatis调用Sybase数据库的存储过程的时候,出现了如下错误:

org.apache.ibatis.binding.BindingException: Mapper method 'getNextKey' (interface com.xxxxxxx.PackHandleMapper) attempted to return null from a method with a primitive return type (long).
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:37)
at $Proxy17.getNextKey(Unknown Source)
....

报错信息言下之意是返回值为空,可是我的存储过程明明是返回了一个记录集,存储过程如下:

...

DB2 SEQUENCE 序列的问题 suny

1、创建索引的时候,最好不要加双引号,比如:

db2 ==> CREATE SEQUENCE "seq_test" ...

应该改为:

...

DB2 带update,insert的Function函数 cloud

DB2 的自定义函数,默认不允许修改表数据,有INSERT UPDATE DELETE之类的语句则会报错:

The "MODIFIES SQL DATA" clause has not been specified in the CREATE FUNCTION statement for LANGUAGE SQL function "UMP.SEQ" but an examination of the function body reveals that it should be specified.. SQLCODE=-374, SQLSTATE=428C2, DRIVER=3.63.108

如果需要修改表数据,则需要增加 MODIFIES SQL DATA 的修饰符,并且返回类型必须是TABLE,否则会报错:

...

Total:13212345678910›››|14 Pages