JSP是一種Java技術(shù),可以生成動態(tài)的網(wǎng)頁,而MySQL是一種流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。這兩個技術(shù)的結(jié)合可以實現(xiàn)通過網(wǎng)頁顯示MySQL數(shù)據(jù)庫中的內(nèi)容。
在JSP中,我們需要先導(dǎo)入MySQL驅(qū)動,以便連接數(shù)據(jù)庫。這可以通過以下代碼實現(xiàn):
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.*" %>
<%!
private static final String DB_NAME = "數(shù)據(jù)庫名稱";
private static final String DB_URL = "jdbc:mysql://localhost:3306/" + DB_NAME + "?useSSL=false&serverTimezone=UTC";
private static final String DB_USERNAME = "用戶名";
private static final String DB_PASSWORD = "密碼";
private Connection getConnection() throws SQLException, NamingException {
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
Context context = new InitialContext();
DataSource dataSource = (DataSource)context.lookup("java:comp/env/jdbc/mysql");
return dataSource.getConnection();
}
%>
接下來,我們可以編寫查詢MySQL數(shù)據(jù)庫并將結(jié)果顯示在網(wǎng)頁中的代碼。以下是一個例子,我們可以查詢一個表中的所有記錄,并將它們以表格的形式顯示出來:
<%
Connection conn = getConnection();
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM 表名");
out.println("<table>");
out.println("<tr><th>列1名稱</th><th>列2名稱</th></tr>");
while(rs.next()) {
out.println("<tr>");
out.println("<td>" + rs.getString("列1名稱") + "</td>");
out.println("<td>" + rs.getString("列2名稱") + "</td>");
out.println("</tr>");
}
out.println("</table>");
} catch(SQLException 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();
}
}
%>
在上面的代碼中,我們使用了getConnection()方法獲取了一個MySQL數(shù)據(jù)庫的連接。然后,我們使用Statement對象執(zhí)行一條SELECT語句來查詢表中的所有記錄,并將結(jié)果集存儲在ResultSet對象中。我們使用out.println()方法以HTML表格的形式將結(jié)果集輸出到網(wǎng)頁中。
總的來說,通過結(jié)合JSP和MySQL技術(shù),我們可以方便地將數(shù)據(jù)庫中的內(nèi)容顯示在網(wǎng)頁上。