Servlet 是 Java 语言编写的一种服务器端的程序,主要用于处理客户端请求并返回响应。MySQL 是一种关系型数据库管理系统,用于存储和管理数据。
web.xml 或使用注解配置数据库连接信息。import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class MySQLServlet extends HttpServlet {
private Connection conn;
@Override
public void init() throws ServletException {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "username";
String password = "password";
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException | SQLException e) {
throw new ServletException("Database connection error", e);
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try (Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM mytable")) {
StringBuilder sb = new StringBuilder();
while (rs.next()) {
sb.append("ID: ").append(rs.getInt("id")).append(", Name: ").append(rs.getString("name")).append("<br>");
}
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println(sb.toString());
} catch (SQLException e) {
throw new ServletException("Database query error", e);
}
}
@Override
public void destroy() {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}通过以上步骤和示例代码,你可以实现一个简单的 Servlet 读取 MySQL 数据库的应用。如果遇到具体问题,可以根据错误信息和日志进行排查和解决。