好好做一个有节操的码农,比我有能力的人,都还在学习,我没有理由不继续学习.
出售一个自己用python,django写的blog,cms程序, 适合初学者参考, 淘宝链接:django cms应用程序出售

本博客运行在阿里云上, 领取优惠券阿里云优惠券
分类: Java预览模式: 普通 | 列表
最近刚接手一个历史遗留的应用,打包的时候采用了很古老的方式,用maven 打包成war包,然后到生产环境解压之后,逐个替换配置文件中的值,但这个应用是分布式的,是有几个小应用组成的,所以一旦修改配置文件,得分别到几个应用里面修改。而且几个系统有依赖关系的。毕竟是分布式部署的。姑且不管如何部署,就修改配置文件这点来说,我就不满意了。因为产品生产环境也是我们自己可以控制的,所以完全可以在打包前就准备好。但由于生产环境与开发环境的配置是不一样的。所以完全可以提前准备好需要变化的值作为属性,在打包时去替换配置文件中的变量就好了,maven 的  profile 就具备这样的功能,所以做了一个例子,给team 成员,让他们去效仿完成.

查看更多...

Tags: maven

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3810
在Tomcat 中部署了多个应用,但这些应用之间是有依赖关系的,比如 A 应用依赖于Core 应用,B应用也依赖于Core应用,必须在Core 应用启动之后才能启动A应用,否则会报错,原因是在A 启动的时候会去调用Core 的API 去做一些事情,所以启动的顺序肯定不能颠倒,但通常用tomcat 都是将应用的war包放到 webapps 目录下,但如果将所有应用都放到这个目录下,完全没有办法控制应用的启动顺序,虽然网上有人说会根据应用的名称来排序启动,但更改名字也许并不是很好的办法,我也没测试,但我找到了另外一个方法来定义应用的启动顺序,就是更改tomcat安装目录conf目录下的service.xml 文件来实现

查看更多...

Tags: tomcat

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 872
这段时间需要做一个POC给客户演示,恰好有一个功能是需要从服务端向客户端推送,类似于做移动开发Android,iOS 的功能一样,但是需要在网页端实现,在网上看到最多的就是 comnet 技术的介绍,很多网页聊天或者咨询类似功能就是采用这种技术实现的,当然html5的 websocket 是肯定支持的,但需要点时间去学些,POC时间比较紧,所以我最终采用DWR 来实现,DWR 在多年前就用过来实现AJAX请求,当时印象并不是很好,一直钟情于jquery, 但DWR 的实现方式确实令人印象深刻. 能模拟直接操作java 对象的方式. 为了这个POC 再次采用了 DWR 的逆向AJAX ,也就是从服务端向网页端推送消息的技术.

查看更多...

Tags: dwr ajax

分类:Java | 固定链接 | 评论: 2 | 引用: 0 | 查看次数: 4950

判断Httprequest 是否ajax 请求的方法

在写后台程序时,有时候需要知道客户端发送的是普通的请求,还是ajax 请求,至少在我目前所做的项目中有这样一个用途:如果session  过期的时候,如果是普通请求,跳转到登录页面,但如果是ajax 请求,如果后台session 已经过期了,这时候会返回登陆界面的的html 代码作为ajax 的返回值,这样就很郁闷,不好处理,如果是ajax 请求,理想的方式是返回json给客户端,这样客户端就好处理. 目前我采用了比较笨的一个方法来实现,可以在 请求的参数中加入一个标志来判断.

查看更多...

Tags: httprequest ajax

分类:Java | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 2458
前面测试过最基本的从本地文件动态加载一个类 最基本的java 动态加载类方法, 今天测试一个从网络上动态加载一个类的方法。

查看更多...

Tags: classloader

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 485

java 动态load class 的方法之一

动态加载类是在运行时在有需要的时候再加载这个类,这在大型系统中是很重要的一个机制,也就是采用lazy模式,在有需要的时候才加载,而不是在application server 一启动的时候就加载了很多类。
当然,动态加载类的技术,最主要的也就是应用java的反射机制(java refection来实现),  另外,很多系统采用插件方式开发,部署,在这样的情况下,动态加载类就显得更重要。目前根据开发过的项目经验,基本可以总结为三总类型:
1、加载一个普通的类
2、从网络上加载另外一个类
3、从其他jar包里面加载一个类.

查看更多...

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 765

org.apache.commons.io.FileUtils例子

用apache.commons.io 中的一些方法来操作文件,会减轻程序员的很多负担,文件操作经常会用到FileUtils这个类,今天在这里对最常用的一些方法做一个总结,当然最全面的东西,还是应该看apache.commons.io 的文档或者示例。

查看更多...

Tags: apache.commons

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 786

java 连接 sqlite 的一个例子。

用java 连接 sqlite 的一个例子,主要用来测创建表,增加数据,以及在多线程的情况下读写数据的并发操作。因为有人反映在sqlite 中读数据与写数据不能同时进行,所以写了个小程序,测试,结果证实是可以的,也许与这个特定的驱动包相关,但在Android 下就是不能同时进行读与写,很奇怪。按照数据库的锁机制来说,同时写也许是不可以的,但一个读一个写,只要不是表锁,应该是可以的,但是sqlite 不行,很奇怪. 但我测试的这个例子又是可以的。

查看更多...

Tags: sqlite

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 380

Linux 下定时执行JAR 文件

用 Quartz 去定时执行一个任务是一个很好的方法,但有时候我们需要一个简单的方法去定时执行一个jar 文件,这在linux 中可以很方便的用cron 去做到.

查看更多...

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 538

jsp不支持${pageContext.request.contextPath} jstl表达式

今天在做程序代码查看的时候,发现开发者都喜欢直接在JSP中用request去获得网站的contextPath, 但web应用已经引入了 jstl  包,为什么不用了。于是自己做了一个页面测试

查看更多...

Tags: jstl jsp

分类:Java | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 1440

在servlet中用spring @Autowire 注入.

今天在改版以前老应用程序的时候,发现很多系统是直接用servlet做的,当初也用到了 spring, 所以自然想到也用 spring 的 @autowire 注入 来引入 service 层, 但发现如果直接用,有时候成功,有时候报错,失败。貌似就是不稳定,一直搞不清楚原因, 后来在网上找到了一个简单的方法. 这个简单的方法也是  spring 提供的,解决方法如下

查看更多...

Tags: spring servlet

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 569
写程序时,通常会听到各种不同的路径,比如:相对路径,绝对路径等. 对于 java 文件操作来说,一样有这些路径,在以前 没怎么注意到这个api: getCanonicalPath(),  其实这个东西很重要,因为这个api 是真正能拿到一个文件的唯一路径的api, 它的返回值一定是一个绝对路径.唯一指向一个文件.

查看更多...

Tags: java

分类:Java | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 598

Java 取随机数的两种方法

用 java 编写程序时,取随机数通常有两种方法,1. 采用 Ramdom(), 2. 采用 Math.random(), 其实这两种方式基本差不多,写一个简单的例子,从一个list 中随机抽取一个记录.

查看更多...

Tags: 随机数

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 677

Ubuntu下更改Tomcat使用的JDK

以前在Ubuntu下安装了JDK 1.6, 现在又装了Jdk 1.7 , 测试一些JDK 1.7 的一些新特性, 然后我原来的Tomcat 是采用的JDK 1.6, 这需要更改到1.7, 正常情况下 Tomcat 会使用我们配置的环境变量:JAVA_HOME 这里面配置的JDK, 当然这种方式你可以修改etc/profile 文件。其实更好的做法是修改 /etc/default/tomcat7 这个文件。

查看更多...

Tags: ubuntu tomcat

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 505
有时候在运行一个 jar 文件时,会出现类似如下的错误 :
Exception in thread "main" java.lang.UnsupportedClassVersionError:
    com/mkyong/whois/job/RipeCrawlJob : Unsupported major.minor version 51.0
这是因为本机java 版本不对.

查看更多...

Tags: java

分类:Java | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 714