易截截图软件、单文件、免安装、纯绿色、仅160KB

用Java写爬网页的小工具

其实也不是爬网页,只是从一个XML文件取URL,然后抓取网页内容。
主要有几点,备忘:
1. 全局代理,设置之后所有的URL都使用此代理,这样可以直接调用FileUtils.copyURLToFile:
private void initProxy(String host, int port,
final String username, final String password) {
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username,
password.toCharArray());
}
});
System.setProperty("http.proxyType", "4");
System.setProperty("http.proxyPort",
Integer.toString(port));
System.setProperty("http.proxyHost", host);
System.setProperty("http.proxySet", "true");
}
2. 设置User-Agent,有些站点禁止Java作为访问客户端,必须通过URLConnection设置User-Agent来模拟浏览器,所以不能用FileUtils.copyURLToFile,复制其源码小修改一下即可:
URLConnection httpConnection = new URL(url).openConnection();
httpConnection.setRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
File dest = new File(path);
InputStream input = httpConnection.getInputStream();
try {
FileOutputStream output = FileUtils.openOutputStream(dest);
try {
IOUtils.copy(input, output);
} finally {
IOUtils.closeQuietly(output);
}
} finally {
IOUtils.closeQuietly(input);
}
3.dom4j读取超大xml文件,使用event based模式防止堆溢出错误:
reader.addHandler("/RDF/ExternalPage", new ElementHandler() {
public void onStart(ElementPath path) {
}
public void onEnd(ElementPath path) {
Element node = path.getCurrent();
// 节点相关操作
// 关键操作,从内存的节点树中剔除节点,释放内存
node.detach();
}
});
4.多线程可以用jdk1.5新加入的线程池java.util.concurrent.ThreadPoolExecutor,方便实用。稍微要注意的就是在添加完所有任务后记得执行一下ThreadPoolExecutor.shutdown()。


相关文档:

黑莓Java应用开发环境

设置 win xp/win 7 的黑莓Java的开发环境的步骤如下:
1. BlackBerry应用开发基于Java,首先需要JDK (6.0以上的版本)
下载最新JDK
下载完后双击安装即可。
2. 下载BlackBerry SDK,这里有两种选择: BlackBerry JDE, BlackBerry Java Plug-in with Eclipse
2.1 BlackBerry JDE是RIM自主开发的IDE
下载 BlackBerry J ......

Java中调用存储过程


<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体" ......

Java学习心得

计算机专业毕业两年了,终于找到学习的感觉了,后悔当时在学校时的无知和狂妄!!!
现在我对Java web编程有了兴趣,我写了自己的用户登录小程序,已经上传到我的CSDN空间了,欢迎大家来访问!!!
讨论之后,欢迎来信,共同提高!!!
联系方式:243093502@@qq.com ......

如何在Oracle中使用Java存储过程 (详解)

其实,这篇短文,我早就应该写了。因为,java存储过程今后在各大数据库厂商中越来越流行,功能也越来越强大。这里以Oracle为例,介绍一下java存储过程的具体用法。
一、如何创建java存储过程?
通常有三种方法来创建java存储过程。
1. 使用oracle的sql语句来创建:
e.g. 使用create or replace and compile java source ......

jct 模板通过json 从java 之间得到值的一个简单例子

0.本例子是基于jQuery的
1.引入jct包
<!-- 引入jct包 -->
<script type="text/javascript" src="${ctx }/js/jct.js"></script>
<script type="text/javascript" src="${ctx }/js/dateutils.js"></script>
2.通过ajax 传递参数给java
 &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号