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 来寻找进而动态导入该资源
如果一个资源在包中话适合用该方式
例子如下:
package
org.itfuture.www.util;
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;
public
class
URLApp
...
{
voiddisplay()
...{
bytebuf[]=newbyte[1000];
try
...{
System.out.print("请输入文件的URL地址:");
//读取用户输入的URLInputStream consoleis=System.in;
intcount=consoleis.read(buf);
String addr=newString(buf,0,count);
//将用户输入的URL字符串传入URL类对象URL url=newURL (addr);
//创建URLConnection对象,用URL的openConnection方法将连接通过返回给URLConnection的对象
//实际上URL的openConnection的返回值就是一个URLConnectionURLConnection c=url.openConnection();//*
//用URLConnection的connect()方法建立连接c.connect();//*
//显示该连接的相关信息,这些都是URLConnection的方法System.out.println("内容类型:"+c.getContentType());
System.out.println("内容长度:"+c.getContentLength());
System.out.println("创建日期:"+newDate(c.getDate()));
System.out.println("最后修改日期:"+newDate(c.getLastModified()));
System.out.println("终止日期:"+newDate(c.getExpiration()));
InputStream is=c.getInputStream();//*InputStreamReader isr=newInputStreamReader(is);
BufferedReader br=newBufferedReader(isr);
String str=null;
while((str=br.readLine())!=null)
...{
System.out.println(str);
}
}catch(IOException e)...{
System.out.println(e);
} }publicstaticvoidmain(String[] args)
...{
URLApp app=newURLApp();
app.display();
} }