最近在學習JSP和MySQL的連接,遇到了一些異常的問題,現在來總結一下。
首先,在連接MySQL數據庫時,需要在JSP文件中導入相應的jar包。這里我們使用的是mysql-connector-java-5.1.45-bin.jar。將該jar包放置在WEB-INF/lib文件夾下。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <%@ page import="javax.sql.*" %> <% Connection conn = null; Statement stmt = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8"; String username = "root"; String password = "123456"; conn = DriverManager.getConnection(url, username, password); stmt = conn.createStatement(); String sql = "SELECT * FROM student"; rs = stmt.executeQuery(sql); while (rs.next()) { out.println(rs.getString("name") + " " + rs.getInt("age")); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } %>
在上面的代碼中,我們首先加載了MySQL的驅動程序,然后使用DriverManager.getConnection()方法連接數據庫。其中,url參數用于指定連接的數據庫,這里我們連接本地的test數據庫,并將其字符集設置為utf-8。
接著,使用conn.createStatement()創建一個Statement對象,用于執行SQL語句。這里我們執行了一個查詢語句,將結果存儲在ResultSet對象中,然后輸出每一行的內容。
最后,在finally塊中關閉我們創建的對象。需要注意的是,需要先關閉ResultSet,再關閉Statement和Connection,否則會出現異常。
總的來說,連接MySQL數據庫的問題不難解決,主要是在使用SQL語句時要注意語法和細節。希望本文可以給正在學習JSP的讀者一些幫助。