`
文章列表
import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.sw ...
在使用JavaWebStartb發布的應用程式時,在關閉程式的時候,JavaWebStart後臺管理程式不會自動關閉,這時應用程式雖然退出,但是在任務管理器中仍會看到有javaw進程在運行。   解決方案是在應用程式中監聽程式退出事件,調用System.exit(1)方法。 例如: shell.addShellListener(new ShellAdapter() { //關閉關口時彈出確認對話框 public void shellClosed(final ShellEvent e) { MessageBox message = new MessageBox(shell, SW ...
摘 要:本文首先分析了Java源代码需要加密的原因,简要介绍了DES算法及Java密码体系和Java密码扩展,最后说明了利用DES加密算法保护Java源代码的方法及步骤。    关键词 Java 加密 DES算法     Java语言是一种非常适用于网络编程的语言,它的基本结构与C++极为相似,但抛弃了C/C++中指针等内容,同时它吸收了Smalltalk、C++面向对象的编程思想。它具有简单性、鲁棒性、可移植性、动态性等特点。这些特点使得Java成为跨平台应用开发的一种规范,在世界范围内广泛流传。     加密Java源码的原因     Java源代码经过编译以后在JVM中执行 ...
这是以前自己看SWT的文档总结的笔记,对于各种shell的介绍.粘过来充充数先.   BORDER——当只有BORDER的时候,窗口是一个只有细细白色边框的空白窗口,没有title那一圈蓝色的边框,也没有最大化,最小化,关闭。不能resize,不能 ...
      使用Struts2的form标签时,不能使用style属性,而且标签中会有自己的排版,所以使用Struts的form标签时,就非常不好排版了。很难达到自己想要的排版格式。   使用Struts2的form标签主要是因为它可以自动输出错误校验信息,所以如果不使用Struts2的Form标签也能输Struts2框架中的错误信息的话,就没有必要使用了。   不使用Struts2标签输错误信息可以使用如下方法:   <form action="mixValid.action" method=post> ${errors.username ...
在Windows下面配置Nutch有两种方法,一种是使用cygwin模拟Linux环境,另一种是配置到Eclipse中运行。因为linux环境不熟悉,所以还是决定使用eclipse了。   在Eclipse中配置Nutch的步骤:(Eclipse3.4, Nutch0.9) 第一步:下载release版本的nutch-0.9.tar.gz.解压到d盘.保证下载的nutch中没有.classpath和.projsect.即d:/nutch-0.9。注意解压路径中最好不要包含中文,因为将爬行结果在Tomcat中配置时,就可以直接指向保存结果的文件夹。       第二步: 修改nutc ...
Frontier是Heritrix最核心的组成部分之一,也是最复杂的组成部分.它主要功能是为处理链接的线程提供URL,并负责链接处理完成后的一些后续调度操作.并且为了提高效率,它在内部使用了Berkeley DB.本节将对它的内部机理进行详细解剖.在Heritrix的官方文档上有一个Frontier的例子,虽然很简单,但是它却解释Frontier实现的基本原理.在这里就不讨论,有兴趣的读者可以参考相应文档.但是不得不提它的三个核心方法:(1)next(int timeout):为处理线程提供一个链接.Heritrix的所有处理线程(ToeThread)都是通过调用该方法获取链接的.(2)sche ...
本节解析与处理器有关的内容. 与处理器有关的主要在以下几个类:Processor(处理器类),ProcessorChain(处理器类),ProcessorChainList(处理器链列表).它们之间的关系如下: 下面将解析该图. (1)Processor 代表一个处理器.   Codepackage org.archive.crawler.framework;public class Processor extends ModuleType {//默认的下一个处理器    private Processor defaultNextProcessor = null; /**     * Per ...
当我们以Web UI方式使用Heritrix时,点击任务开始(start)按钮时,Heritrix就开始了它的爬取工作.但它的内部 执行流程是怎样的呢?别急,下面将慢慢道来. (一)CrawlJobHandler 当点击任务开始(start)按钮时,将执行它的startCrawler()方法: if(sAction.equalsIgnoreCase("start")){            // Tell handler to start crawl job            handler.startCrawler(); } 再来看看startCrawler()方法 ...
Heritrix采用了模块化的设计,它由一些核心类(core classes)和可插件模块(pluggable modules)构成。核心类可以配置,但不能被覆盖,插件模块可以被由第三方模块取代。 (一)heritrix的体系结构图:   (二)架构分析 CrawlController(下载控制器)整个下载过程的总的控制者,整个抓取工作的起点,决定整个抓取任务的开始和结束。从Frontier获取URI,传递给线程池(ToePool)中的ToeThread处理。   Frointier(边界控制器)主要确定下一个将被处理的URI,负责访问的均衡处理,避免对某一web服务器造成太大的压力。它保存 ...
骞 梁 (liangq@cn.ibm.com ), IBM 中国软件开发中心, IBM   本文分析了Eclipse中多线程程序的实现,讨论了在Eclipse客户端程序开发中应用多线程的方法和要注意的问题,同时也讨论了多线程程序的一些调试和问题解决的方法。 Eclipse作为一个开发平台,使用越来越广泛,基于Eclipse Rich Client Platform开发的客户端程序也越来越多。在当今越来越复杂的应用环境中,我们的客户端程序不可避免的要同时进行多任务的处理。一个优异的客户端程序都会允许用户同时启动多个任务,从而大大提高用户的工作效率以及用户体验。本文中我们来谈谈E ...
 maXiaoKe 原创     想必很多人都对正则表达式都头疼.今天,我以我的认识,加上网上一些文章,希望用常人都可以理解的表达方式.来和大家分享学习经验.开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下 ...
在BlogJava上已经有一位作者阐述了文件上传的问题,地址是在Struts 2中实现文件上传 ,因此我就不再讨论那个话题了。我今天简单介绍一下Struts 2的文件下载问题。 我们的项目名为 struts2hello ,所使用的开发环境是MyEclipse 6,当然其实用哪个IDE都是一样的,只要把类库放进去就行了,文件下载不需要再加入任何额外的包。读者可以参考文档:http://beansoft.java-cn.org/myeclipse_doc_cn/struts2_demo.pdf ,来了解怎么下载和配置基本的Struts 2开发环境。 为了便于大家对比,我把完整的stru ...
Struts2提供了类型转换器来使页面中输入数据自动转换为我们需要的类型,它提供了一个DefaultTypeConverter类来进行类型转换。   在使用时需要注意       视图页面中表单元素的名称要和配置文件*-conversion.properties中的属性名称一致。 例如(jsp文件): <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib p ...
看到李剛老師寫的Struts2權威指南中寫到的動態方法調用,覺得那里面通配符的用法太複雜了,還要處理很多的配置文件,經過多次試驗,發現了一個簡單的方法可以實現動態方法調用,那就是直接使用struts2標籤的 <submit method="">method屬性指向該Action的邏輯處理方法。比如(jsp文件) <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> ...
Global site tag (gtag.js) - Google Analytics