標籤:
Java網路編程
物理層。
資料連結層。
網路層。
傳輸層。
會話層。
展示層。
應用程式層。
TCP/IP分層介面包括用於協作層分別完成以下的功能:
網路介面層。
網路互聯層。
傳輸層。
應用程式層。
通訊端:
Socket。通訊端。是一種抽象層。
// 建立用戶端Socket向伺服器發起串連請求 Socket socket = new Socket("127.0.0.1", 30001); /* 利用已建立的socket建立輸入輸出資料流,處理與伺服器端的串連 */ // 向伺服器寫入資料 BufferedWriter writer = new BufferedWriter(new OutputStreamWriter( socket.getOutputStream())); writer.write("你好伺服器!!!"); writer.flush(); // 從伺服器讀資料 BufferedReader reader = new BufferedReader(new InputStreamReader( socket.getInputStream())); char[] ch = new char[100]; int len = reader.read(ch); System.out.println("從伺服器端接收到的資訊:"); System.out.print(new String(ch, 0, len)); // 釋放資源 reader.close(); writer.close(); socket.close();
資料庫編程
JDBC是Java中提供的一套資料庫編程API。
DriverManager類用於管理JDBC驅動的服務類。
Connection介面代表資料庫連接。
Statement介面代表SQL語句。
ResultSet介面代表返回的結果集。
Connection conn = null; // 連線物件 Statement stmt = null; // Statement對象 ResultSet rs = null; // 查詢結果集 /* 載入驅動 */ try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } /* 建立Connection對象 */ // 連接字串 String url = "jdbc:mysql://localhost:3306/java"; // 使用者名稱 String user = "root"; // 密碼 String pwd = "5245"; try { // 建立串連 conn = DriverManager.getConnection(url, user, pwd); System.out.println("串連成功"); } catch (SQLException e) { e.printStackTrace(); } /* 建立Statement對象 */ try { stmt = conn.createStatement(); } catch (SQLException e) { e.printStackTrace(); } /* 發送SQL語句執行 */ // 添加// String sql1 =// "INSERT INTO users(id,username,pwd) VALUES(4,‘HXS‘,‘1995‘)";// int count = 0;// try {// count = stmt.executeUpdate(sql1);// } catch (SQLException e) {// // e.printStackTrace();// }// /* 處理執行結果 */// if (count == 1) {// System.out.println("添加成功");// } else {// System.out.println("添加失敗");// } // 查詢 String sql = "SELECT id, username, pwd FROM users"; try { // 擷取查詢結果集 rs = stmt.executeQuery(sql); } catch (SQLException e) { // e.printStackTrace(); } try { // 迴圈讀取下一條記錄 while (rs.next()) { // 擷取行中某列值 System.out.println("id = " + rs.getInt("id") + ", username = " + rs.getString("username") + ", password = " + rs.getString("pwd")); } } catch (SQLException e) { // e.printStackTrace(); } /* 釋放資源:必做 */ if (conn != null) try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } finally { if (rs != null) try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } finally { if (stmt != null) try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
XML解析技術
XML:可延伸標記語言 (XML)。
形式:
進行驗證的處理器--檢查XML文檔的有效性和格式規範。
不進行驗證的處理器--檢查XML文檔的格式規範。
XML解析器使用的兩種基本API:
文件物件模型(DOM):一種基於樹結構的API。
XML簡單API(SAX):一種事件驅動的API。
<!-- 企鵝 --><penguins> <penguin id="1"> <name>豆豆</name> <!-- 姓名 --> <close>100</close> <!-- 親密值 --> <health>100</health> <!-- 健康值 --> <gender>男</gender><!-- 性別 --> </penguin>
<!ELEMENT pet (dogs,penguins)><!ELEMENT dogs (dog*)><!ELEMENT dog (name,close,health,breed)><!ATTLIST dog id CDATA #REQUIRED><!ELEMENT penguins (penguin*)><!ELEMENT penguin (name,close,health,gender)><!ATTLIST penguin id CDATA #REQUIRED><!ELEMENT name (#PCDATA)><!ELEMENT close (#PCDATA)><!ELEMENT health (#PCDATA)><!ELEMENT breed (#PCDATA)><!ELEMENT gender (#PCDATA)>
Java網路編程丶資料庫編程丶XML解析技術。