1 创建项目
1.1 创建一个空项目
1.2 新增模块
1.3 让模块支持webapp标准
添加后的目录结构
2 编辑程序
2.1 编写StudentServlet类
package cc.linuxcc.servlet;
import jakarta.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
public class StudentServlet implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
// JDBC
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 获取连接
String url = "jdbc:mysql://localhost:3306/linuxcc";
String user = "root";
String password = "root";
conn = DriverManager.getConnection(url, user, password);
// 获取预编译的数据库操作对象
String sql = "select username,password from user";
ps = conn.prepareStatement(sql);
// 执行SQL
rs = ps.executeQuery();
while (rs.next()) {
String username = rs.getString("username");
String passwd = rs.getString("password");
// 输出
out.print(username + ": " + passwd);
}
// 处理结果集
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
// 释放资源
if (rs != null) {
try {
rs.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
2.2 添加Servlet映射
<servlet>
<servlet-name>StudentServlet</servlet-name>
<servlet-class>cc.linuxcc.servlet.StudentServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>StudentServlet</servlet-name>
<url-pattern>/get/student/</url-pattern>
</servlet-mapping>