Java网络编程丶数据库编程丶XML解析技术。

        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解析器使用的两种基本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)>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。