在Java Web开发中,Servlet是一种运行于服务器端的Java类,用于处理客户端请求并生成响应。而MySQL是一个开源的关系型数据库管理系统,广泛应用于各种规模的应用程序。本文将带你从零开始,一步步学会使用Servlet连接MySQL数据库。
环境搭建
在开始之前,请确保你的计算机上已安装以下软件:
Java Development Kit (JDK)
:用于编写和运行Java程序。
MySQL数据库
:用于存储和管理数据。
IDE
:如Eclipse、IntelliJ IDEA等,用于编写和调试代码。
创建数据库和表
首先,在MySQL数据库中创建一个用于测试的数据库和表。以下是一个简单的SQL语句示例:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL
);
创建Servlet
接下来,创建一个名为
UserServlet
的Servlet类,用于处理数据库连接和查询操作。
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取用户名和密码
String username = request.getParameter(“username”);
String password = request.getParameter(“password”);
// 连接数据库
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
// 加载数据库驱动
Class.forName(“com.mysql.jdbc.Driver”);
// 连接数据库
conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/testdb”, “root”, “root”);
// 创建SQL语句
String sql = “SELECT * FROM users WHERE username = ? AND password = ?”;
// 创建PreparedStatement
stmt = conn.prepareStatement(sql);
stmt.setString(1, username);
stmt.setString(2, password);
// 执行查询
rs = stmt.executeQuery();
// 处理查询结果
if (rs.next()) {
// 用户名和密码匹配
response.getWriter().print(“登录成功!”);
} else {
// 用户名或密码不匹配
response.getWriter().print(“登录失败!”);
}
} 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();
}
}
}
}
配置web.xml
在项目的
WEB-INF
目录下创建一个名为
web.xml
的文件,用于配置Servlet。
编写HTML页面
创建一个名为
login.html
的HTML页面,用于输入用户名和密码。
部署和运行
将项目部署到服务器,如Apache Tomcat。启动服务器,打开浏览器并访问
http://localhost:8080/your-app/login.html
,即可看到登录页面。
总结
通过本文,你已学会了如何使用Servlet连接MySQL数据库。在实际项目中,你可能需要处理更复杂的数据库操作,如添加、修改、删除数据等。但本文所介绍的基本原理和方法仍然适用于各种场景。祝你学习愉快!