본문 바로가기
프로그래밍/java

자바 네트워크 프로그래밍 URL 클래스

by -현's- 2014. 1. 29.
반응형


●URL

- http,ftp,telnet 등의 서비스를 지원하는 웹 서버들의 위치를 표현하는 체계이다.


- 보통 아래의 형태를 가진다.

 protocol://hostname[:port]/path

(ex. http://naver.com)





●URL 클래스

- 웹상의 주소(URL)을 나타내는 클래스이다.


- InetAddress클래스보다 확장된 개념으로 네트워크 연결까지 가능하다. 따라서 URL객체 생성 시 잘못된 URL형태를 주었을때의 예외처리를 반드시 해야한다.


- 자바에서는 URL클래스를 사용하면 간단하게 호스트로부터 데이터를 읽어올 수 있다.


-ex1

  ->URL클래스로 호스트의 정보를 표시하고 페이지를 화면에 출력하는 예제

1.URL 객체 생성

  URL url = new URL("http://www.naver.com");

2. URL객체로의 스트림 열기

  InputStream in = url.openStream();

3. 받는 스트림을 버퍼에 저장

  BufferedReader bf = new BufferedReader( new InputStreamReader(in));

4. 버퍼를 화면에 출력하고 스트림 닫기




import java.net.*;

import java.io.*;


public class url1

{

public static void main(String args[]){

try{

URL url=new URL("http://google.com");

BufferedReader bf;

String line;


System.out.println("Port:"+url.getPort());

System.out.println("Protocol:"+url.getProtocol());

System.out.println("HostName:"+url.getHost());

System.out.println("File:"+url.getFile());

System.out.println("Ref:"+url.getRef());


bf = new BufferedReader(new InputStreamReader(url.openStream()));


while((line = bf.readLine())!= null){

System.out.println(line);

}

bf.close();

}catch(Exception e){

System.out.println("Exception:"+e);

}

}

}










- ex2

  ->버튼을 누르면 다른 url로 이동하는 애플릿 프로그램이다


URLButton.java


import java.awt.*;

import java.net.*;

import java.applet.Applet;


public class URLButton extends Applet

{

URL url = null;

String str = null;


public void init(){

String urlString = null;

setLayout(new GridLayout(1,1));

str = getParameter("str");

if(str==null){

str="Button";

}

urlString = getParameter("url");

if(urlString==null){

urlString="http://";

}

try{

url=new URL(urlString);

}catch(MalformedURLException e){

System.out.println("Invalid URL:"+urlString);

}

Button btn = new Button(str);

add(btn);

resize(100,60);

}



public boolean action(Event e, Object arg){

if((e.target instanceof Button) && (arg.equals(str))){

getAppletContext().showDocument(url);

}


return false;

}

}




url.html

<html>

<body>


<applet code=URLButton>

<param name=str value="네이버">

<param name=url value="http://naver.com">

</applet>

<applet code=URLButton>

<param name=str value="구글">

<param name=url value="http://google.com">

</applet>

<applet code=URLButton>

</applet>


</body>

</html>










반응형

댓글