JSP使用JDBC连接MYSQL数据库的方法

下面是JSP使用JDBC连接MYSQL数据库的完整攻略。

准备工作

  1. 下载并安装MYSQL数据库。
  2. 下载并安装Tomcat服务器。
  3. 在Tomcat中配置JDBC驱动程序。将MYSQL的JDBC驱动程序(mysql-connector-java-x.x.xx.jar)放到Tomcat的lib目录下。如果没有该目录,需要手动创建。

JSP连接MYSQL数据库的步骤

  1. 引入JDBC驱动程序。在JSP页面中引入MYSQL的JDBC驱动程序:
<%@ page import="java.sql.*" %>
<%@ page import="com.mysql.jdbc.Driver" %>
  1. 创建一个JDBC连接对象。使用DriverManager.getConnection()方法创建一个JDBC连接对象:
String url = "jdbc:mysql://localhost:3306/testdb";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);

其中,url为MYSQL数据库的连接URL,用户名和密码是连接数据库的凭证。

  1. 执行SQL语句。使用创建好的JDBC连接对象,执行SQL语句:
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM members");
while(rs.next()) {
  String name = rs.getString("name");
  int age = rs.getInt("age");
  out.println(name + ":" + age);
}

其中,Statement对象用于执行SQL语句,ResultSet对象存储了SQL查询的结果集。这段示例的SQL语句查询了一个名为members的表,将所有成员的姓名和年龄输出到页面。

  1. 关闭JDBC连接。最后,需要关闭JDBC连接对象和所有相关的对象:
rs.close();
stmt.close();
conn.close();

示例说明

以下是两条示例说明,演示如何在JSP页面中连接MYSQL数据库。

示例一:查询并显示商品

假设我们有一个products表,每个商品包含nameprice两个字段。以下的JSP页面将连接到数据库并查询所有商品记录,并将它们显示到一个HTML表格中。

<%@ page import="java.sql.*" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%
// 创建JDBC连接对象
String url = "jdbc:mysql://localhost:3306/testdb";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);

// 查询所有商品
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM products");

// 显示商品表格
out.println("<table>");
out.println("<tr><th>Name</th><th>Price</th></tr>");
while(rs.next()) {
  String name = rs.getString("name");
  double price = rs.getDouble("price");
  out.println("<tr><td>" + name + "</td><td>" + price + "</td></tr>");
}
out.println("</table>");

// 关闭JDBC连接
rs.close();
stmt.close();
conn.close();
%>

示例二:添加新的商品

假设我们想要添加新的商品到products表中。以下的JSP页面将连接到数据库并插入一条新的商品记录。

<%@ page import="java.sql.*" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%
// 获取表单提交的商品信息
String name = request.getParameter("name");
double price = Double.parseDouble(request.getParameter("price"));

// 创建JDBC连接对象
String url = "jdbc:mysql://localhost:3306/testdb";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);

// 插入新的商品
String sql = "INSERT INTO products (name, price) VALUES (?, ?)";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, name);
stmt.setDouble(2, price);
stmt.executeUpdate();

// 显示成功信息
out.println("商品已成功添加!");

// 关闭JDBC连接
stmt.close();
conn.close();
%>

这个示例中使用了PreparedStatement对象,它可以防止SQL注入攻击。用户通过表单输入新的商品信息。JSP页面连接数据库,并将新的商品信息插入到products表中。最后,页面将显示成功信息,说明商品已成功添加到数据库中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JSP使用JDBC连接MYSQL数据库的方法 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Java基础学习之字符串知识总结

    Java基础学习之字符串知识总结 1. 字符串的定义 在Java中,字符串(String)是一种引用类型,用于表示一组字符序列。字符串可以包含任何可打印的字符,包括数字、字母、标点符号和空格等。 在Java中,字符串的定义方式有两种: 直接使用双引号括起来的文本:String str1 = “Hello World”; 使用String类的构造函数来创建字符…

    Java 2023年5月26日
    00
  • 详谈hibernate,jpa与spring data jpa三者之间的关系

    详谈hibernate,jpa与spring data jpa三者之间的关系 什么是Hibernate? Hibernate是一个开源的ORM(Object Relational Mapping)框架,旨在通过映射Java对象和数据库表,将数据持久化到数据库中。Hibernate执行了许多数据库操作并自动处理所有底层细节,使得编写数据访问层的代码变得更简单。…

    Java 2023年6月3日
    00
  • Java常见内存溢出异常分析与解决

    Java常见内存溢出异常分析与解决 Java是一种高级程序设计语言,而垃圾回收是Java中非常重要的部分。在Java应用程序挤压出越来越多的内存以及应用程序运行不足时,就会产生内存溢出异常。这篇文章将详细讲解Java常见内存溢出异常,以及如何进行分析和解决。 Java中内存溢出异常的类型 堆内存溢出 Java中最常见的内存溢出异常就是堆内存溢出。堆内存溢出是…

    Java 2023年5月27日
    00
  • struts2实现多文件上传的示例代码

    下面是实现Struts2多文件上传的完整攻略,包括两个示例。 步骤1:配置web.xml 在web.xml中,配置Struts2的过滤器,以确保Struts2拦截所有请求。以下是示例代码: <filter> <filter-name>struts2</filter-name> <filter-class>org…

    Java 2023年5月20日
    00
  • SpringBoot静态资源css,js,img配置方案

    下面我将为你详细讲解如何在Spring Boot中配置静态资源,即css、js和img文件。 一、默认静态资源位置 Spring Boot中默认情况下会自动加载如下两个目录下的静态资源: /static /public /resources /META-INF/resources 其中,/static和/public目录下的静态资源会直接映射到根路径下。例如…

    Java 2023年5月19日
    00
  • Java实现简单的酒店管理系统

    Java实现简单的酒店管理系统 系统需求 在开始编写系统代码之前,需要明确系统需求,以确定需要实现哪些功能。 管理员登录:管理员通过用户名和密码登录酒店管理系统。 房间管理:管理员可以添加、修改和删除房间信息,包括房间类型、房间号、房间价格、房间状态等。 客户管理:管理员可以添加、修改和删除客户信息,包括客户姓名、客户身份证号、客户联系方式等。 预定管理:管…

    Java 2023年5月19日
    00
  • 常见的Java网络编程协议有哪些?

    常见的Java网络编程协议有如下几种: TCP/IP协议:TCP/IP协议是互联网传输层协议的基础协议。Java中通过Socket实现TCP/IP协议网络编程。Socket类提供了底层的TCP/IP通信功能,开发者可以使用它来创建基于TCP协议的网络应用程序。 HTTP协议:HTTP协议是Web应用程序中使用得最多的协议。Java中通过HttpURLConn…

    Java 2023年5月11日
    00
  • Java中的异步与线程池解读

    Java中的异步与线程池解读 什么是异步? 异步是指一个方法调用不会阻塞当前线程,而是立即返回,然后在另一个线程上执行。由于异步方法不会阻塞当前线程,所以可以提高系统的并发能力,避免系统因等待I/O等操作而造成的阻塞。 在Java中,异步通常是指使用线程池来执行一些耗时的任务。Java 5引入了java.util.concurrent包,其中提供的Excut…

    Java 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部