Java+MyEclipse+Tomcat (三)配置MySQL及查询数据显示在JSP网页中

2023-11-20

        前面两篇文章讲述了如何配置MyEclipse和Tomcat开发JSP网站、如何配置Servlet简单实现表单提交,这篇文章主要讲述配置MySQL实现数据库连接MyEclipse,最后将查询表中的数据显示在JSP网页中。 文章主要以图片描述为主,请海涵~
        Java+MyEclipse+Tomcat (一)配置过程及jsp网站开发入门
         Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交
        代码及MySQL下载地址:
        http://download.csdn.net/detail/eastmount/8701657



一. 配置MySQL

        首先下载mysql-5.0.96-winx64,安装过程如下图所示。
        1.安装MySQL 5.0
 

 

        2.选择手动配置、服务类型、通用多功能型和安装路径
 

 

        3.设置数据库访问量连接数为15、端口为3306(代码中设置URL用到)、编码方式为utf-8
 

 

        4.设置默认超级root用户的用户名和密码,最后安装成功
 

二. 查询MySQL

        安装MySQL 5.0成功后,进行数据库的简单操作。
        1.运行MySQL输入默认用户密码123456


        2.创建数据库test01和使用数据库(第二次调用直接use database)

        3.创建表student,其中学号为主键

        4.显示表结构,使用语句desc student

        5.向学生表中插入数据并显示查询的数据

        此时MySQL操作数据库基本讲解结束,你同样可以实现数据库的增删改查、事务、存储过程等操作,建议安装可视化的软件来替代黑框。

三. MyEclipse查询数据库

        为统一并简化Java语言操作各种数据库,Sun公司提供了JDBC框架,用于所有Java应用以统一的方式连接数据库。从适用于企业级Oracle、DB2、SQL Server,到中型应用MySQL、Oracle XE,最后适用于小型个人应用的Access、FoxPro等。JDBC(Java DataBase Connectivity,Java数据库连接)通过使用数据库厂家提供的数据库JDBC驱动器类,可以连接到任何流程的数据库上。
        使用前一篇文章Servlet中的例子,在JSP中使用JDBC查询数据,其核心操作如下。参考hongten博客,地址如下:
        http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html

        1.加载JDBC驱动程序(MySQL驱动)

Class.forName("com.mysql.jdbc.Driver") ;  
        2.提供JDBC连接的URL 
//驱动程序名   
String driverName = "com.mysql.jdbc.Driver";  
//数据库用户名   
String userName = "root";  
//密码   
String userPasswd = "123456";  
//数据库名   
String dbName = "test01";  
//表名   
String tableName = "student";  
//联结字符串   
String url = "jdbc:mysql://localhost:3306/" + dbName + "?user="  
        + userName + "&password=" + userPasswd;
        3.创建数据库的连接
Connection connection = DriverManager.getConnection(url);  
       4.创建一个Statement
        要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:   
        1).执行静态SQL语句。通常通过Statement实例实现。   
        2).执行动态SQL语句。通常通过PreparedStatement实例实现。   
        3).执行数据库存储过程。通常通过CallableStatement实例实现。 
        5.执行SQL语句
        Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute   
        1).ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。   
        2).int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等   
        3).execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。  
        6.处理结果
        两种情况:执行更新返回的是本次操作影响到的记录数、执行查询返回的结果是一个ResultSet对象。   
        • ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。   
        • 使用结果集(ResultSet)对象的访问方法获取数据:
// 此方法比较高效  列是从左到右编号的,并且从列1开始 
while(rs.next()){   
         String name = rs.getString("name") ;   
    	 String pass = rs.getString(1) ; 
} 
        7.关闭JDBC对象
//释放连接方法 con ps rs
public static void release(Connection con,Statement ps,ResultSet rs){
	try{
	if(rs!=null){ // 关闭记录集
		rs.close();
	}
	if(ps!=null){ // 关闭声明 
		ps.close();
	}
	if(con!=null){ // 关闭连接对象 
		con.close();
	}
	}catch (Exception e) {
		e.printStackTrace();
	}
}
        需要在项目TestServlet文件夹TestServlet\WebRoot\WEB-INF\lib复制mysql-connector-java-5.1.15-bin.jar包文件。然后修改success.jsp代码。具体代码如下:
<%@ page language="java" import="java.sql.*,java.io.*,java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!-- 参考博文 http://blog.csdn.net/believejava/article/details/39111823 -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>验证成功界面</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<style type="text/css">  
	table {  
	    border: 2px #CCCCCC solid;  
	    width: 360px;  
	}  
	  
	td,th {  
	    height: 30px;  
	    border: #CCCCCC 1px solid;  
	}  
	</style>  
  </head>
  
  <body>
    	界面表单提交跳转成功 <br>
    	<a href="index.jsp">返回</a>
    	
    <%  
        //驱动程序名   
        String driverName = "com.mysql.jdbc.Driver";  
        //数据库用户名   
        String userName = "root";  
        //密码   
        String userPasswd = "123456";  
        //数据库名   
        String dbName = "test01";  
        //表名   
        String tableName = "student";  
        //联结字符串   
        String url = "jdbc:mysql://localhost:3306/" + dbName + "?user="  
                + userName + "&password=" + userPasswd;  
        Class.forName("com.mysql.jdbc.Driver").newInstance();  
        Connection connection = DriverManager.getConnection(url);  
        Statement statement = connection.createStatement();  
        String sql = "SELECT * FROM " + tableName;  
        ResultSet rs = statement.executeQuery(sql);  
    %>  
    <br>  
    <br>  
    <table align="center">  
        <tr>  
            <th>  
                <%  
                    out.print("学号");  
                %>  
            </th>  
            <th>  
                <%  
                    out.print("姓名");  
                %>  
            </th>  
            <th>  
                <%  
                    out.print("专业");  
                %>  
            </th>  
        </tr>  
  
        <%  
            while (rs.next()) {  
        %>  
        <tr>  
            <td>  
                <%  
                    out.print(rs.getString(1));  
                %>  
            </td>  
            <td>  
                <%  
                    out.print(rs.getString(2));  
                %>  
            </td>  
            <td>  
                <%  
                    out.print(rs.getString(3));  
                %>  
            </td>  
        </tr>  
        <%  
            }  
        %>  
    </table>  
    <div align="center">  
        <br> <br> <br>  
        <%  
            out.print("数据查询成功,恭喜你");  
        %>  
    </div>  
    <%  
        rs.close();  
        statement.close();  
        connection.close();  
    %>  
  </body>
</html>
        运行效果如下图所示:(可参考第二篇文章 (二)配置Servlet及简单实现表单提交

        最后希望文章对你有所帮助,这篇文章是讲述JSP连接MySQL数据库,下一篇文章准备讲述Java文件和JSP文件之间相互操作数据库。如果文章有不足或错误的地方,还请海涵!这四篇文章基本就涵盖了Java网址的基础知识,你也可以实现简单的JSP网站了。
        (By:Eastmount 2015-5-12 半夜2点   http://blog.csdn.net/eastmount/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java+MyEclipse+Tomcat (三)配置MySQL及查询数据显示在JSP网页中 的相关文章

  • 使用 Intellij Idea 和 gradle 在应用程序引擎上调试 localhost

    我正在使用 IntelliJ 社区添加并使用 Gradle 构建应用程序引擎标准环境应用程序 在迁移到 IntelliJ 和端点框架之前 我使用的是 Android Studio 我无法调试我的本地主机 我添加了 jvmFlags 如下所述
  • Netbeans 8.1 Gnome 3 GTK+ UI 字体和选项卡高度

    我刚刚在运行 GNOME 3 桌面的 Ubuntu 16 04 上安装了 NetBeans 8 1 如果可能的话 我想继续使用 IDE 的 GTK 外观和感觉 但 UI 上的字体 尤其是选项卡中的字体 太小且重叠 我尝试添加 fontsiz
  • 带路径压缩算法的加权 Quick-Union

    有一种 带路径压缩的加权快速联合 算法 代码 public class WeightedQU private int id private int iz public WeightedQU int N id new int N iz new
  • 垃圾收集器如何在幕后工作来收集死对象?

    我正在阅读有关垃圾收集的内容 众所周知 垃圾收集会收集死亡对象并回收内存 我的问题是 Collector 如何知道任何对象已死亡 它使用什么数据结构来跟踪活动对象 我正在研究这个问题 我发现GC实际上会跟踪活动对象 并标记它们 每个未标记的
  • eclipse行号状态行贡献项是如何实现的?

    我需要更新状态行编辑器特定的信息 我已经有了自己的实现 但我想看看 eclipse 贡献项是如何实现的 它显示状态行中的行号 列位置 谁能指点一下 哪里可以找到源代码 提前致谢 亚历克斯 G 我一直在研究它 它非常复杂 我不确定我是否了解完
  • Java 的支持向量机?

    我想用Java编写一个 智能监视器 它可以随时发出警报detects即将到来的性能问题 我的 Java 应用程序正在以结构化格式将数据写入日志文件
  • Android:文本淡入和淡出

    我已阅读此 stackoverflow 问题和答案 并尝试实现文本淡入和淡出 Android中如何让文字淡入淡出 https stackoverflow com questions 8627211 how to make text fade
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • 如何在单个查询中搜索 RealmObject 的 RealmList 字段

    假设我有一堂课 public class Company extends RealmObject private String companyId private RealmList
  • 断言 Kafka 发送有效

    我正在使用 Spring Boot 编写一个应用程序 因此要写信给 Kafka 我这样做 Autowired private KafkaTemplate
  • 如何在字段值无效的情况下更改 Struts2 验证错误消息?

    我在 Web 表单上使用 Struts2 验证 如果字段假设为整数或日期 则
  • Java Applet 中的 Apache FOP - 未找到数据的 ImagePreloader

    我正在研究成熟商业产品中的一个问题 简而言之 我们使用 Apache POI 库的一部分来读取 Word DOC 或 DOCX 文件 并将其转换为 XSL FO 以便我们可以进行标记替换 然后 我们使用嵌入到 Java 程序中的 FOP 将
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • 在Java中运行bat文件并等待

    您可能会认为从 Java 启动 bat 文件是一项简单的任务 但事实并非如此 我有一个 bat 文件 它对从文本文件读取的值循环执行一些 sql 命令 它或多或少是这样的 FOR F x in CD listOfThings txt do
  • 如何将 HTML 链接放入电子邮件正文中?

    我有一个可以发送邮件的应用程序 用 Java 实现 我想在邮件中放置一个 HTML 链接 但该链接显示为普通字母 而不是 HTML 链接 我怎样才能将 HTML 链接放入字符串中 我需要特殊字符吗 太感谢了 Update 大家好你们好 感谢
  • 在 Java 中获取并存储子进程的输出

    我正在做一些需要我开始子处理 命令提示符 并在其上执行一些命令的事情 我需要从子进程获取输出并将其存储在文件或字符串中 这是我到目前为止所做的 但它不起作用 public static void main String args try R
  • 轻松的反应

    我有一个与这里描述的类似的案例 动态更改RESTEasy服务返回类型 https stackoverflow com questions 3786781 dynamically change resteasy service return
  • 将 JavaFX FXML 对象分组在一起

    非常具有描述性和信息性的答案将从我这里获得价值 50 声望的赏金 我正在 JavaFX 中开发一个应用程序 对于视图 我使用 FXML
  • 将 JScrollPane 添加到 JFrame

    我有一个关于向 Java 框架添加组件的问题 我有一个带有两个按钮的 JPanel 和一个添加了 JTable 的 JScrollPane 我想将这两个添加到 JFrame 中 我可以将 JPanel 添加到 JFrame 或将 JScro
  • Java 11 - 将 Spring @PostConstruct 替换为 afterPropertiesSet 或使用 initMethod

    我正在使用 spring 应用程序 有时会使用 PostConstruct用于代码和测试中的设置 看来注释将被排除在外Java 11 https www baeldung com spring postconstruct predestro

随机推荐

  • DDD专家张逸:构建领域驱动设计知识体系

    张逸 读完需要 5分钟 速读仅需 2 分钟 领域驱动设计专家 曾就职于 ThoughtWorks 作为 Lead Consultant 为客户提供架构设计 大数据分析 持续交付 代码质量 敏捷管理等咨询服务 著译作包括 软件设计精要与模式
  • 线性模型和非线性模型的区别,以及激活函数的作用

    线性模型和非线性模型的区别 以及激活函数的作用 线性模型和非线性模型的区别 a 线性模型可以用曲线拟合样本 线性模型可以是用曲线拟合样本 但是分类的决策边界一定是直线的 例如logistics模型 广义线性模型 将线性函数进行了一次映射 b
  • 华为OD机试(JAVA)真题 -- 数据分类

    对一个数据a进行分类 分类方法为 此数据a 四个字节大小 的四个字节相加对一个给定的值b取模 如果得到的结果小于一个给定的值c 则数据a为有效类型 其类型为取模的值 如果得到的结果大于或者等于c 则数据a为无效类型 比如一个数据a 0x01
  • 从《数学之美》中我想到的

    吴军老师作为NLP领域的专家 在 数学之美 中把各种高大上的技术介绍得如此通俗易懂 抛去了冗杂的公式 呈现出最原始的数学思想 能够把复杂的问题用最简单易懂的语言表达出来 看来吴军老师的数学功底 工程实践水平非同一般 在 数学之美 里面 谈到
  • 立创EDA(专业版)画PCB怎么开窗?

    阻焊层是开窗 助焊层是开钢网用的 大概的步骤 1 选择图层 顶层阻焊层 如果是想在顶层开窗 2 画个矩形框框 3 右击点击属性 选择顶层阻焊 4 利用3D PCB 观察 如果选择区域和有类似焊盘上的没有覆膜的管脚的那个黄铜的部分 成功了
  • 跨域与跨域访问

    什么是跨域 跨域是指从一个域名的网页去请求另一个域名的资源 比如从www baidu com 页面去请求 www google com 的资源 跨域的严格一点的定义是 只要 协议 域名 端口有任何一个的不同 就被当作是跨域 为什么浏览器要限
  • 两种接入微信小程序智能客服对话的方式

    微信小程序 此处提供两种接入微信小程序的方式 方式一 扫码将机器人绑定至指定小程序 通过小程序内的客服组件开启智能对话功能 方式二 通过小程序插件接入 方式一 后台扫码绑定 流程示意 效果展示 使用页面 小程序页面中 点击 客服按钮 官方组
  • QT 打印/输出 的 3种方法

    1 cout输出 include
  • 【复变函数】常用公式大全

    文章目录 基本公式 几个高斯的公式 其实都是留数法 留数法 一些公式 一些积分 欢迎纠错 基本公式 f z u
  • 华为5500v3多路径linux6,CentOS7 DM-Multipath+HUAWEI OceanStor存储多路径配置

    在参看了网上他人的配置 结合RedHat的技术白皮书实现后 自己亲身在CentOS7 HUAWEI OceanStore S2600T的基础上配置了一个DM Multipath存储多路径的实现 其中碰到了一些小问题和不明白的地方 书上感觉也
  • 5. TypeScript 接口

    TypeScript 接口 接口可以在面向对象编程中表示行为的抽象 也可以描述对象的形状 接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约 接口中不能含有具体的实现逻辑 1 函数接口参数 没有接口的写法 const fullNa
  • three.js开发全景视频播放器的现实方法

    业余弄弄three js 想用three js实现播放全景视频 研究了一段 搜索很多资料 感觉这一遍很棒 搜藏分享下 原理 将video标签拉伸显示在three js场景的一个球模型上 用相机在中间播放渲染 基础 基于three js官方案
  • IntelliJ IDEA 学习笔记 - 几个窗口布局设置技巧

    原文 https blog csdn net cgl125167016 article details 79000774 utm source copy IntelliJ IDEA 简体中文专题教程 编辑区分屏 IntelliJ IDEA
  • 下载Eclipse IDE

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 下载eclipse 二 安装语言包 一 下载eclipse Eclipse是一个开放源代码的 基于Java的可扩展开发平台 官方网站是https www ecl
  • 为 SQL Server 站点数据库服务器配置 SPN

    如何为 SQL Server 站点数据库服务器配置 SPN 主题上次更新时间 2008 年 1 月 使用 SQL Server 计算机的本地系统帐户运行 SQL Server 服务不是 SQL Server 最佳方案 为了最安全地运行 SQ
  • day 2

    定义一个学生的结构体 包含学生的姓名年龄 成绩 性别 学生的成绩姓名定义为私有权限 定义一个学生类型的结构体变量 设置共有函数用于给学生的成绩和名字进行赋值 include
  • 半导体成新资本洼地,国产化浪潮势不可挡

    配图来自Canva 近日 中芯国际成功登陆科创板 按照中芯国际发行价27 46元 股 发行16 86亿股计算 本次的募资金额是462 87亿元 比此前招股书规划的200亿元高出一倍多 在超额配售选择权行使后 发行总股数扩大至19 38亿股
  • Linux查看与挂载新磁盘

    问题 把CentOS都换成了Ubuntu Server 16 04 LTS 用df h查看磁盘占用情况 确发现之前插入的一块大容量磁盘 dev sdb1消失了 是磁盘坏了 还是没被系统识别 解决 1 用命令fdisk l查看新磁盘是否被系统
  • QSharedMemory在linux下异常崩溃导致的bug

    感谢这位博主 https blog csdn net xinluo7 article details 118226389 在Windows系统下 当程序出现崩溃 虽然没有主动调用QSharedMemory attach 但是系统会自动回收Q
  • Java+MyEclipse+Tomcat (三)配置MySQL及查询数据显示在JSP网页中

    前面两篇文章讲述了如何配置MyEclipse和Tomcat开发JSP网站 如何配置Servlet简单实现表单提交 这篇文章主要讲述配置MySQL实现数据库连接MyEclipse 最后将查询表中的数据显示在JSP网页中 文章主要以图片描述为主