URLs URL class  ใช้รับข้อมูลจากระบบเครือข่าย  ไม่จำเป็นต้องสนใจรายละเอียดภายใน  ต้อง import java.net.URL  ถ้าเกิดข้อผิดพลาดจะ thows.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
J2EE Architecture for Web Application & Enterprise Programming
Advertisements

โครงสร้างโปรแกรมภาษา JAVA
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
The InetAddress Class.
C# เบื้องต้น ก่อนการเขียนเกมด้วย XNA
การจัดการความผิดพลาด
File.
Location object Form object
Network programming Asst. Prof. Dr. Choopan Rattanapoka
Network programming Asst. Prof. Dr. Choopan Rattanapoka
Network programming Asst. Prof. Dr. Choopan Rattanapoka
LOGO Array. ประเภทของ Array - อาเรย์ 1 มิติ (One) - อาเรย์ 2 มิติ (Two) - อาเรย์ 3 มิติ (Three) 2.
WEEK#16: Method เมธอดคือกลุ่มคําสั่งที่ถูกกําหนดขึ้นเพื่อทำงาน อย่างใดอย่างหนึ่งเพื่อให้ได้ผลลัพธ์ตาม ต้องการ การประกาศเมธอด มีรูปแบบดังนี้ [modifier]
คลาสและวัตถุ (2) (Class & Object)
 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้
 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้
File I/O (1) โปรแกรมจะอ่านหรือเขียนข้อมูลผ่านท่อส่งข้อมูล (Stream)
By Dr Nongyao Premkamolnetr Policy Innovation Center, KMUTT 17 January 2009.
หน่วยที่ 17 แอเรย์ของสตรัคเจอร์. แอเรย์ของข้อมูลสตรัคเจอร์ student_info student[30]; Student[0]Student[0].Name Student[0].Midterm Student[0].Assignment.
Javascripts.
String Class มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
อาร์เรย์ หรือแถวลำดับ (Array)
input from keyboard มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
Introduction to webmaster Introduction to webmaster 1. บริการที่พบใน Internet 2. เป้าหมายของการพัฒนาเว็บไซต์ 3. ปัญหาของเว็บมาสเตอร์
แอพเพล็ตเบื้องต้น (Applet)
Algorithm มหาวิทยาลัยเนชั่น Java Pre-Test 49 (Series 1, 2 )
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 6 มิถุนายน 2556 Exception มหาวิทยาลัยเนชั่น
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 มิถุนายน 2550 Method of Class มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 22 มิถุนายน 2550 JAR (Java Archive) มหาวิทยาลัยเนชั่น.
Page: 1 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้ ผศ. บุรินทร์ รุจจน พันธุ์.. ปรับปรุง 19 ตุลาคม 2555 Introduction to Batch.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 7 มิถุนายน 2556 Text File Processing มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 22 มิถุนายน 2550 ความผิดพลาดที่พบ บ่อย มหาวิทยาลัยเนชั่น.
JAVA PROGRAMMING PART IV.
การติดต่อกับฐานข้อมูล(MySQL)
คำสั่งควบคุมการ ทำงาน การเขียนโปรแกรมโดยปกติ มีทั้งให้ทำงาน เป็นลำดับ ที่ละคำสั่ง บางครั้งมีการให้เปลี่ยน ลำดับในการทำคำสั่ง เพื่อให้การเขียน โปรแกรมมีประสิทธิภาพสูงสุด.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
Java Programming Language สาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจ มหาวิทยาลัยเทคโนโลยีราชมงคลกรุงเทพ.
Thread
Thread Thread ส่วนของ process ที่ให้ CPU ประมวลผล.
ความสัมพันธ์ระหว่างคลาส (Class Relationship)
The ServerSocket Class ใช้ในการจัดทำเครื่องที่เป็นการบริการ ใช้ในการจัดทำเครื่องที่เป็นการบริการ โดยจะมี ช่วงชีวิตดังนี้ โดยจะมี ช่วงชีวิตดังนี้
Object Oriented Programming Handling Exceptions
Method of Class อ.สุพจน์ สิงหัษฐิต
การเขียนโปรแกรม JAVA ขั้นพื้นฐาน
Nattapong Songneam BankAccount – Example Nattapong Songneam
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
การเขียนโปรแกรม PHP เชื่อมต่อกับ MySQL
Object-Oriented Programming with Java Burapha University, 2001 Java Exceptions Week #9 Jarungjit Parnjai.
Burapha University, 2001 Object-Oriented Analysis and Design Design Patterns Iterator Week #11 Jarungjit Parnjai.
Lecture 7 Java Exceptions. Errors  Compile-time Errors  เกิดขึ้นระหว่าง compile ตรวจสอบได้ด้วย Compiler  เช่น ผิดหลักไวยากรณ์  Run-time Error  เกิดขึ้นระหว่างประมวลผล.
บทที่ 2 การแสดงผลและรับข้อมูล
บทที่ 4 คำสั่งควบคุมแบบมีทางเลือก
บทที่ 5 คำสั่งควบคุม แบบวนซ้ำ รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 5.
Java collection framework
อินเตอร์เน็ตเบื้องต้น
Java Network Programming 1
การพัฒนา web crawler ขั้นพื้นฐาน ด้วย crawler4j
TECH30201 Object-Oriented Programming
การจัดการกับความผิดปกติ
Variable, Data type, Expression, Operators Data input, Data output
Chapter 6 Abstract Class and Interface
การเขียนโปรแกรมบนมาตรฐานเปิด โครงสร้างโปรแกรม public class HelloWorld { public static void main(String[] args) { System.out.println(“Hello World”);
C# Communication
โรงเรียนห้วยเม็กวิทยาคม
บทที่ 8 เครือข่ายการสื่อสารทางไกลระหว่างประเทศ
เทคโนโลยีอินเทอร์เน็ต Internet Technology
Chapter 5 การจัดการข้อผิดพลาด (Exception Handling)
อาจารย์ชนิดา เรืองศิริวัฒนกุล หลักสูตรสาขาวิชาเทคโนโลยีสารสนเทศ
การสื่อสารโทรคมนาคมและเครือข่าย
ใบสำเนางานนำเสนอ:

URLs

URL class  ใช้รับข้อมูลจากระบบเครือข่าย  ไม่จำเป็นต้องสนใจรายละเอียดภายใน  ต้อง import java.net.URL  ถ้าเกิดข้อผิดพลาดจะ thows MalformedURLException  ตัวอย่าง เช่น or  ftp://ftp.redhat.com/pub/ ftp://ftp.redhat.com/pub/ftp://ftp.redhat.com/pub/

Creating New URLs  Constructing a URL from a string public URL(String url) public URL(String url) try { try { URL u = new URL(" URL u = new URL(" } catch (MalformedURLException ex) { catch (MalformedURLException ex) { System.err.println(ex); System.err.println(ex); }

ProtocolTester  private static void testProtocol(String url) {  try {  URL u = new URL(url);  System.out.println(u.getProtocol( ) + " is supported");  }  catch (MalformedURLException ex) {  String protocol = url.substring(0, url.indexOf(':'));  System.out.println(protocol + " is not supported");  }

ProtocolTester  import java.net.*;  public class protocolTester {  public static void main(String[] args) {  // hypertext transfer protocol  testProtocol("  // secure http  testProtocol("  // file transfer protocol  testProtocol("ftp://metalab.unc.edu/pub/languages/java/javafaq/");  // Simple Mail Transfer Protocol   // telnet  testProtocol("telnet://dibner.poly.edu/");  // local file access  testProtocol("file:///etc/passwd");  // gopher  testProtocol("gopher://gopher.anc.org.za/");  // Lightweight Directory Access Protocol  testProtocol(  "ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddress");

ProtocolTester  // JAR  testProtocol(  "jar:  +"/com/macfaq/io/StreamCopier.class");  // NFS, Network File System  testProtocol("nfs://utopia.poly.edu/usr/tmp/");  // a custom protocol for JDBC  testProtocol("jdbc:mysql://luna.metalab.unc.edu:3306/NEWS");  // rmi, a custom protocol for remote method invocation  testProtocol("rmi://metalab.unc.edu/RenderEngine");  // custom protocols for HotJava  testProtocol("doc:/UsersGuide/release.html");  testProtocol("netdoc:/UsersGuide/release.html");  testProtocol("systemresource://  testProtocol("verbatim:  }

ProtocolTester  ผลลัพธ์  http is supported  https is supported  ftp is supported  mailto is supported  telnet is not supported  file is supported  gopher is supported  ldap is not supported  jar is supported  nfs is not supported  jdbc is not supported  rmi is not supported  doc is supported  netdoc is supported  systemresource is supported  verbatim is supported  Press any key to continue...

Constructing a URL from its component parts  ประกอบด้วยส่วนประกอบ 3 ส่วน Protocol Protocol HostName HostName File File  public URL(String protocol, String hostname, String file)  เช่น try { URL u = new URL("http", " "/blueribbon.html#intro"); } catch (MalformedURLException ex) { }

Constructing a URL from its component parts  เพิ่ม Port ที่ใช้งาน  public URL(String protocol, String host, int port, String file) try { URL u = new URL("http", "fourier.dur.ac.uk", 8000, "/~dma3mjh/jsci/"); } catch (MalformedURLException ex) { System.err.println(ex); }

public String getHost( )  ทำการ Return HostName  URL u = new  String host = u.getHost( );  return wuarchive.wustl.edu

public int getPort( )  Return Port number  โดยที่ ถ้าไม่ระบุ Port ใน URL จะ return -1 ออกมา  URL u = new URL("  System.out.println("The port part of " + u + " is " + u.getPort( ));  ผลลัพธ์ The port part of is -1  หรือระบุ Port  URL u = new URL("  System.out.println("The port part of " + u + " is " + u.getPort( ));  ผลลัพธ์ The port part of is 80

public int getDefaultPort( )  Return Port number ที่ใช้ใน URL  โดยจะ Return หมายเลข Port ที่ใช้ใน URL  URL u = new URL("  System.out.println("The port part of " + u + " is " + u.getDefaultPort());  ผลลัพธ์ The port part of is 80

public String getFile( )  ทำการคืน Path และชื่อ File ที่อยู่ใน URL  ถ้าไม่ระบุก็ จะคืน Emtry String  URL u = new URL(" ontent&task=blogsection&id=11&Itemid=40");  System.out.println(u.getFile());  ผลลัพธ์  /main/index.php?option=com_content&task=blogsection&i d=11&Itemid=40

public String getPath( )  ทำการคืน Path และชื่อ File ที่อยู่ใน URL  ไม่ร่วม query string ใน URL  URL u = new URL(" content&task=blogsection&id=11&Itemid=40");  System.out.println(u.getPath());  ผลลัพธ์ /main/index.php

public String getQuery( )  คืนค่า query string ของ URL  ถ้าไม่มีจะคืนค่า Null  URL u = new URL(" sk=blogsection&id=11&Itemid=40");  System.out.println(u.getQuery());  ผลลัพธ์ option=com_content&task=blogsection&id=11&Itemid=40

Retrieving Data from a URL  รับข้อมูลจาก URL  public InputStream openStream( ) throws IOException  public URLConnection openConnection( ) throws IOException  public URLConnection openConnection(Proxy proxy) throws IOException // 1.5  public Object getContent( ) throws IOException  public Object getContent(Class[] classes) throws IOException // 1.3

public InputStream openStream( ) throws IOException  รับข้อมูลจาก Server โดยผ่าน URL  อ่านข้อมูลผ่าน InputStream try { URL u = new URL(" InputStream in = u.openStream( ); int c; while ((c = in.read( )) != -1) System.out.write(c); } catch (IOException ex) { System.err.println(ex); }

public InputStream openStream( )  import java.net.*;  import java.io.*;  public class sourceViewer {  public static void main (String[] args) {  String hostName="  try {  //Open the URL for reading  URL u = new URL(hostName);  InputStream in = u.openStream();  // buffer the input to increase performance  in = new BufferedInputStream(in);  // chain the InputStream to a Reader  Reader r = new InputStreamReader(in);  int c;  while ((c = r.read( )) != -1) {  System.out.print((char) c);  }  catch (MalformedURLException ex) {  System.err.println(hostName + " is not a parseable URL");  }  catch (IOException ex) {  System.err.println(ex);  }  } // end main  } // end SourceViewer ตัวอย่างโปรแกรมรับข้อมูล HTML

public URLConnection openConnection( )  Return URLConnection Object  สามารถ เข้า ถึงข้อมูลต่างๆได้โดยผ่าน URLConnection try { URL u = new URL(" try { URLConnection uc = u.openConnection( ); InputStream in = uc.getInputStream( ); // read from the connection... } // end try catch (IOException ex) { System.err.println(ex); } } // end try catch (MalformedURLException ex) { System.err.println(ex); }

public final Object getContent( )  ทำหน้าที่โหลดข้อมูลมาจาก URL ที่ระบุ  ถ้าข้อมูลเป็น text ก็ใช้ InputStream รับข้อมูล  ถ้าข้อมูลเป็น รูปภาพ ก็ใช้ java.awt.ImageProducer รับข้อมูล try { URL u = new URL(" Object o = u.getContent( ); // cast the Object to the appropriate type // work with the Object... } catch (Exception ex) { System.err.println(ex); }

getContent( )  import java.net.*;  import java.io.*;  public class ContentGetter {  public static void main (String[] args) { String HostName=" String HostName="  //Open the URL for reading  try {  URL u = new URL(HostName);  try {  Object o = u.getContent( );  System.out.println("I got a " + o.getClass( ).getName( ));  } // end try  catch (IOException ex) {  System.err.println(ex);  }  } // end try  catch (MalformedURLException ex) {  System.err.println(HostName + " is not a parseable URL");  }  } // end main  } // end ContentGetter ผลลัพธ์ :I got a sun.net.

getContent( )  ถ้า HostName=“ hics_new/animation.gif”  ผลลัพธ์  I got a sun.awt.image.URLImageSource

public final Object getContent(Class[] classes)  กำหนดชนิดข้อมูลที่รับมาจาก Server ใน อาร์เรย์ classes  ใช้การตรวจสอบ ชนิดของ class โดยใช้ instanceof URL u = new URL(" Class[] types = new Class[3]; types[0] = String.class; types[1] = Reader.class; types[2] = InputStream.class; Object o = u.getContent(types);

public final Object getContent(Class[] classes)  if (o instanceof String) {  System.out.println(o);  }  else if (o instanceof Reader) {  int c;  Reader r = (Reader) o;  while ((c = r.read( )) != -1) System.out.print((char) c);  }  else if (o instanceof InputStream) {  int c;  InputStream in = (InputStream) o;  while ((c = in.read( )) != -1) System.out.write(c);  }  else {  System.out.println("Error: unexpected type " + o.getClass( ));  }

URLEncoder ()  ทำการ Encode / & # ; $ + = and % ใน URL  รูปแบบ  public static String encode(String s)  public static String encode(String s, String encoding) throws UnsupportedEncodingException

URLEncoder ()  import java.net.URLEncoder;  import java.io.UnsupportedEncodingException;  public class EncoderTest {  public static void main(String[] args) {  try {  System.out.println(URLEncoder.encode("This string has spaces","UTF-8"));  System.out.println(URLEncoder.encode("This*string*has*asterisks","UTF-8"));  System.out.println(URLEncoder.encode("This%string%has%percent%signs","UTF-8"));  System.out.println(URLEncoder.encode("This+string+has+pluses","UTF-8"));  System.out.println(URLEncoder.encode("This/string/has/slashes","UTF-8"));  System.out.println(URLEncoder.encode("This\"string\"has\"quote\"marks","UTF-8"));  System.out.println(URLEncoder.encode("This:string:has:colons","UTF-8"));  System.out.println(URLEncoder.encode("This~string~has~tildes","UTF-8"));  System.out.println(URLEncoder.encode("This(string)has(parentheses)","UTF-8"));  System.out.println(URLEncoder.encode("This.string.has.periods","UTF-8"));  System.out.println(URLEncoder.encode("This=string=has=equals=signs","UTF-8"));  System.out.println(URLEncoder.encode("This&string&has&ampersands","UTF-8"));  System.out.println(URLEncoder.encode("This?string?has?non-ASCII characters", "UTF-8"));  }  catch (UnsupportedEncodingException ex) {  throw new RuntimeException("Broken VM does not support UTF-8");  }

URLEncoder ()  ผลลัพธ์  This+string+has+spaces  This*string*has*asterisks This%25string%25has%25percent%25signs This%2Bstring%2Bhas%2Bpluses This%2Fstring%2Fhas%2Fslashes This%22string%22has%22quote%22marks This%3Astring%3Ahas%3Acolons This%7Estring%7Ehas%7Etildes This%28string%29has%28parentheses%29 This.string.has.periods This%3Dstring%3Dhas%3Dequals%3Dsigns This%26string%26has%26ampersands This%C3%A9string%C3%A9has%C3%A9non-ASCII+characters

URLDecoder  ทำหน้าที่แปลงข้อมูลกลับจากการเข้ารหัส  public static String decode(String s) throws Exception  public static String decode(String s, String encoding) // Java 1.4 throws UnsupportedEncodingException  String enC =URLEncoder.encode("This string has spaces","UTF-8"); System.out.print(enC); System.out.println(URLDecoder.decode(enC,"UTF-8")); This+string+has+spaces ผลลัพธ์ This+string+has+spaces This string has spaces