通过URL访问和获取html源代码

URL 统一资源定位
Uniform Resource Locator ,在Internet的WWW服务程序 上用于指定信息位置 的表示方法
指定互联网或本地上(web服务中)的文件、对象资源 等,或者说它相当于一个互联网上资源的一个指针
协议            主机  路径    资源
http://www.itfuture.org /forum/index.jsp     <----->   url

1URL url = getServletContext().getResource(path);

 ServletContext上下文对象可以得到该servlet所运行web容器中的一些资源,

通过传递资源的相对路径来获得相应的资源,要求该路径必须是针对servlet的一个相对路径,该相对路径必须以”/”开头

 url.toExternalForm()   jndi:/localhost/MvcFrame/WEB-INF/itfuture-config.xml

 url.toString()         jndi:/localhost/MvcFrame/WEB-INF/itfuture-config.xml

 构造(获得)该url的字符串形式的表示

 url.openStream();

 表示:打开到url定位的资源的连接,并返回通过该连接,所连接到资源的InputStream

  可以通过该InputStream读该资源的Content,读资源以字节形式来读

 jndi

  java naming & direction interface

 

  jndi根目录中保存了大量的jndi

   每一个jndi和一个资源或者对象一一对应

  “jndi:”,表示以在web容器中的jndi目录中以资源唯一的jndi的方法来查找到对应资源

<o:p> </o:p>

(2) URL url=getClass().getResource(“/org/itfuture/www/ApplicationResources”);

   必须依赖于Class Loader 来寻找进而动态导入该资源

   如果一个资源在包中话适合用该方式

<o:p> 例子如下:</o:p>

<o:p>  package org.itfuture.www.util;</o:p>

<o:p>    import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;
</o:p>

<o:p>  public class URLApp
  {
   void display()
   {
    byte buf[]=new byte[1000];
    try
    {
        System.out.print("请输入文件的URL地址:");
        //读取用户输入的URL
        InputStream consoleis=System.in; 
        int count=consoleis.read(buf);
        String addr=new String(buf,0,count);
  //将用户输入的URL字符串传入URL类对象
  URL url=new URL (addr);
  //创建URLConnection对象,用URL的openConnection方法将连接通过返回给URLConnection的对象
  //实际上URL的openConnection的返回值就是一个URLConnection
  URLConnection c = url.openConnection(); //*
  //用URLConnection的connect()方法建立连接
  c.connect();                            //*
  // 显示该连接的相关信息,这些都是URLConnection的方法
  System.out.println("内容类型: "+c.getContentType());
  System.out.println("内容长度: "+c.getContentLength());
  System.out.println("创建日期: "+new Date(c.getDate()));
  System.out.println("最后修改日期: "+new Date(c.getLastModified()));
  System.out.println("终止日期: "+new Date(c.getExpiration()));
 
        InputStream is=c.getInputStream();  //*
        InputStreamReader isr=new InputStreamReader(is);
        BufferedReader br=new BufferedReader(isr);
        String str=null;
        while((str=br.readLine())!=null)
        {
           System.out.println(str); 
        }
       
       
   }catch(IOException e){
     System.out.println(e);
   }
   }
   public static void main(String[] args)
   {
    URLApp app=new URLApp();
       app.display();
   }
  }
</o:p>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值