站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题用jsp读远程文件,保存到本地

用jsp读远程文件,保存到本地

摘要: 用jsp读远程文件,保存到本地

</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="215" height="86" align="center" valign="top"> </td> <td width="469" valign="top">

用jsp,读远程文件,保存到本地。
如果你的网站动态内容比较多(频频读取数据库,而数据更新较少,一天一次),你可以将首页转化为HTML静态文件,加快网页下载速度,下面这个JSP文件将index.jsp转化为index.html。


<%@ page import="java.io.*"%>
<%@ page import="java.net.*"%>
<%@ page import="java.util.Properties"%>
<%


//远程文件路径

String s1 = "http://www.java3z.com/cwbwebhome/index.jsp";

//本地存放路径

String s2 = getServletContext().getRealPath("/")+"index.html";

URL urlfile = null;

HttpURLConnection httpUrl = null;

BufferedInputStream bis = null;

BufferedOutputStream bos = null;

File f = new File(s2);

//make proxy

//String proxy = "192.168.224.12";

//String port = "8080";

//Properties systemProperties = System.getProperties();

//systemProperties.setProperty("http.proxyHost",proxy);

//systemProperties.setProperty("http.proxyPort",port);

try{

  urlfile = new URL(s1);

  httpUrl = (HttpURLConnection)urlfile.openConnection();

  httpUrl.connect();

  bis = new BufferedInputStream(httpUrl.getInputStream());

}catch(Exception e){

  System.out.println(e.toString());

}

try{

  bos = new BufferedOutputStream(new FileOutputStream(f));;

  byte[] b = new byte[1024];

  while(bis.read(b)!=-1) {

    bos.write(b);

  }

}catch(Exception e){

  System.out.println(e.toString()); 

}finally{

  try{

    bos.flush();

    bis.close();

    httpUrl.disconnect();

  }catch(Exception e){

     out.println(e.toString()); 

  }

}

%>

OK!!


其中
//make proxy
String proxy = "192.168.224.12";//防火墙地址
String port = "8080"; //防火墙端口
Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost",proxy);
systemProperties.setProperty("http.proxyPort",port);
这一段是如果你的机器设定了防火墙,需要加上,如果是直接连上网,就不用。
</td></tr> </table> </td> </tr> <tr>


↑返回目录
前一篇: 用bean保存表单状态
后一篇: FCKeditor在线编辑器的使用