根据url获取html源码,通过URL访问和获取html源代码

URL 统一资源定位

Uniform Resource Locator ,在Internet的WWW服务程序上用于指定信息位置的表示方法

指定互联网或本地上(web服务中)的文件、对象资源 等,或者说它相当于一个互联网上资源的一个指针

协议            主机  路径    资源

http://www.itfuture.org/forum/index.jsp       url

(1)URL 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的方法来查找到对应资源

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

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

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

例子如下:

0818b9ca8b590ca3270a3433284dd417.png

package

org.itfuture.www.util;

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

import

java.io.BufferedReader;

0818b9ca8b590ca3270a3433284dd417.png

import

java.io.IOException;

0818b9ca8b590ca3270a3433284dd417.png

import

java.io.InputStream;

0818b9ca8b590ca3270a3433284dd417.png

import

java.io.InputStreamReader;

0818b9ca8b590ca3270a3433284dd417.png

import

java.net.URL;

0818b9ca8b590ca3270a3433284dd417.png

import

java.net.URLConnection;

0818b9ca8b590ca3270a3433284dd417.png

import

java.util.Date;

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

public

class

URLApp

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

...

{

0818b9ca8b590ca3270a3433284dd417.pngvoiddisplay() 

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png...{ 

0818b9ca8b590ca3270a3433284dd417.pngbytebuf[]=newbyte[1000]; 

0818b9ca8b590ca3270a3433284dd417.pngtry0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png...{ 

0818b9ca8b590ca3270a3433284dd417.png        System.out.print("请输入文件的URL地址:"); 

0818b9ca8b590ca3270a3433284dd417.png//读取用户输入的URL0818b9ca8b590ca3270a3433284dd417.pngInputStream consoleis=System.in;  

0818b9ca8b590ca3270a3433284dd417.pngintcount=consoleis.read(buf); 

0818b9ca8b590ca3270a3433284dd417.png        String addr=newString(buf,0,count); 

0818b9ca8b590ca3270a3433284dd417.png//将用户输入的URL字符串传入URL类对象0818b9ca8b590ca3270a3433284dd417.pngURL url=newURL (addr); 

0818b9ca8b590ca3270a3433284dd417.png//创建URLConnection对象,用URL的openConnection方法将连接通过返回给URLConnection的对象 

0818b9ca8b590ca3270a3433284dd417.png//实际上URL的openConnection的返回值就是一个URLConnection0818b9ca8b590ca3270a3433284dd417.pngURLConnection c=url.openConnection();//*

0818b9ca8b590ca3270a3433284dd417.png//用URLConnection的connect()方法建立连接0818b9ca8b590ca3270a3433284dd417.pngc.connect();//*

0818b9ca8b590ca3270a3433284dd417.png//显示该连接的相关信息,这些都是URLConnection的方法0818b9ca8b590ca3270a3433284dd417.pngSystem.out.println("内容类型:"+c.getContentType()); 

0818b9ca8b590ca3270a3433284dd417.png  System.out.println("内容长度:"+c.getContentLength()); 

0818b9ca8b590ca3270a3433284dd417.png  System.out.println("创建日期:"+newDate(c.getDate())); 

0818b9ca8b590ca3270a3433284dd417.png  System.out.println("最后修改日期:"+newDate(c.getLastModified())); 

0818b9ca8b590ca3270a3433284dd417.png  System.out.println("终止日期:"+newDate(c.getExpiration())); 

0818b9ca8b590ca3270a3433284dd417.png 

0818b9ca8b590ca3270a3433284dd417.png        InputStream is=c.getInputStream();//*0818b9ca8b590ca3270a3433284dd417.pngInputStreamReader isr=newInputStreamReader(is);

0818b9ca8b590ca3270a3433284dd417.png        BufferedReader br=newBufferedReader(isr);

0818b9ca8b590ca3270a3433284dd417.png        String str=null;

0818b9ca8b590ca3270a3433284dd417.pngwhile((str=br.readLine())!=null)

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png...{

0818b9ca8b590ca3270a3433284dd417.png           System.out.println(str); 

0818b9ca8b590ca3270a3433284dd417.png        }0818b9ca8b590ca3270a3433284dd417.png        

0818b9ca8b590ca3270a3433284dd417.png        

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png   }catch(IOException e)...{ 

0818b9ca8b590ca3270a3433284dd417.png     System.out.println(e); 

0818b9ca8b590ca3270a3433284dd417.png   }0818b9ca8b590ca3270a3433284dd417.png   }0818b9ca8b590ca3270a3433284dd417.pngpublicstaticvoidmain(String[] args) 

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png...{ 

0818b9ca8b590ca3270a3433284dd417.png    URLApp app=newURLApp(); 

0818b9ca8b590ca3270a3433284dd417.png       app.display(); 

0818b9ca8b590ca3270a3433284dd417.png   }0818b9ca8b590ca3270a3433284dd417.png  }

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值