一直希望有一个轻量级的编辑器,既可以编辑代码,也可以一键运行。后来有了NotePad++,希望可以配置配置达到目的,配Java的时候上网搜了一堆,基本上互相抄,不解决实际问题,很郁闷。后来琢磨了出来,贴出来备忘。一、安装插件下载NppExec插件,解压将dll拷贝到*\Notepad++\plugins下二、写好Java文件,然后点击plugins->NppExec->Execute三、输入脚本:npp_savecd $(CURRENT_DIRECTORY)javac $(NAME_PART).javajava $(NAME_PART)依次是:1、cd到Java文件所在目录2、编译 Read More
上一篇博文《mongoDB安装》我们安装了mongoDB,现在来复习一下它的一些基本命令:mongoDB的bin目录加入到path之后,命令行中输入mongo:然后我们进入正题1、查看有哪些数据库:show dbs我们可以看见有两个库,一个是之前做即时通讯系统测试的chat库,一个是local库。2、切换数据库use chat如上命令我们切换到即时通讯系统的库:3、查看数据集合:show collections使用上面的命令,可以查看我们即时通讯系统的chat库中的所有数据集合。我们可以看见一些诸如存放消息的msg集合、存放用户信息的users集合,以及存放索引信息的system.indexe Read More
之前折腾过mongoDB,不过是在公司电脑上。今天想再用用,现在重新安装一次,记录备查。1、官网下载www.mongodb.org2、我下的是mongodb-win32-x86_64-2.4.4版本3、解压。建立D:\Program Files\MongoDB\,在此目录下建立\MongoDB\bin、\MongoDB\data、\MongoDB\data\db、\MongoDB\data\log目录和D:\Program Files\MongoDB\data\log\MongoDB.log文件。4、拷贝解压的bin目录到D:\Program Files\MongoDB\下5、cmd,cd到b Read More
老规矩,先说需求: 用户希望有一个类似于QQ的即时通讯工具集成在我们的B/S审查系统里,而且不用单独登录,当登入工作台时这个工具同时也自动登录,主要是一些审查系统中的文字沟通、截图发送,暂无文件发送需求。技术分析: 关于开发IM系统,我们的答案可能有很多种,如:http长连接、websocket、ajax轮询、socket等等。由于我们的项目是用Flex+Java做的,所以用socket是非常方便和容易的,所以我们想基于flex和java的socket自己开发一个IM工具。经过考察,我们选择了apache的成熟开源NIO框架MINA作为IM系统的Server。使用json格式进行交互。拿到.. Read More
上一篇博文《RMI初步》我们简单讲述了RMI的实现原理和demo,现在讲讲我们在某项目中基于Flex和RMI开发的自动化部署工具。需求描述: 我们的项目部署主要包括两部分,jar包和Flex编译生成的swf文件,特别是swf文件可能文件较大,且在系统试运行期间部署可能非常频繁。如何将其快速地部署到几十台机器的集群上,且出错能迅速rollback回之前的版本将是我们面临的一个问题。后来我们开发了这样一个工具,大体思路是:使用adobe air开发成一个.exe格式的工具,安装后可以快速将本机的文件上传到该软件的server上(此server相对各个集群机器而言是RMI的Client),然后... Read More
RMI(remote method Invocation)自从Java1.1便出现了,是Java之间远程调用的基础,EJB便是构建在其基础上的。但只能是Java对象之间的RPC,不支持异构系统调用。当然,异构系统之间的调用我们一般用WebServices(在通信、金融行业也有广泛使用重量级的CORBA作为解决方案)。其实无论是异构系统的RPC还是JVM之间的RMI,核心思想都是类似的,主要是Stub和Skeleton对象在近端和远端充当中介。在RMI中这两个对象在底层处理了,对程序员是透明的。我们使用一个简单的例子描述RMI的简单使用方法,下一篇文章我们描述项目中一个真实的应用:Flex+.. Read More
在使用Flex组件时,我们常常会遇到复杂组件要求。如:对DataGrid加一列全选、或对DataGrid加一列图表、改变DataGrid的表头为一张图片等。此时,Flex为我们提供的组件已经不能满足我们的需求,我们需要使用内联组件ItemRenderer去自定义一些功能。下面我们使用一个例子演示使用ItemRenderer给DataGrid的一个Column嵌入linkButton,点击触发linkButton的方法:1、假如我们有如下一个DataGrid:<dc:SuperDataGrid width="100%" height="100%" d Read More
当我们删除表里数据时,当此表主键作为外键时可能比较麻烦。特别是自关联的场合将非常麻烦(本表其他字段外键引用本表id)。此时我们考虑到两个命令:truncate与delete。truncate:是一个DDL语句,优点是效率高,在删除大表数据时很快。但一个很大的问题也是因为他是ddl语句,将会被自动提交事物,不可undo或者rollback。delete:与truncate相反,delete命令可以回滚,但在删除数据的过程中将产生大量恢复信息以备rollback,所以将会很慢。OK,回到我们的问题上来,现在我们如果想删除一个自表外键关联的所有数据,若直接truncate将会报:ORA-02266: Read More
在struts2做Excel下载时,IE没问题,但在chrome中有如下问题:收到了来自服务器的重复标头 来自服务器的响应包含重复标头。此问题通常是由于网站或代理配置不正确导致的。只有网站或代理管理员才能解决此问题。 错误 349 (net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION):我们收到了多个截然不同的“Content-Disposition”标头。我们不允许此行为,以防遭到 HTTP 响应拆分攻击。经过检查,在代码中的response头信息是:super.getResponse().addHeader("Conten Read More
项目组的DBA对java不太熟,最近他在做数据清洗和迁移时遇到一个容易被忽视的问题,解决过程贴出来,备忘。 当他对Oracle之前一个Date类型字段(比如名为“column”)结果集进行操作:...略...java.sql.Date date = rs.getDate("column");...略... 上面的语句返回一个java.sql.Date,将此date原封不动set到另一个preparedStatement:...略...pstmt.setDate(index,date);pstmt.executeUpdate();conn.commit();...略... 一 Read More