当前位置: 首页 > news >正文

JavaWeb通过Web查询数据库内容:(pfour_webquerymysql)

JavaWeb通过Web查询数据库内容:
  • 数据库:
    • 自行建库建表,主键 id
  • 后端:
    • 新建项目模块
    • 选择模块,添加依赖
    • 创建配置文件:
      • db.properties
      • Java类: query查询
  • 前端:
    • Web添加
    • 创建query.html首页
    • 创建Artifacts
  • 创建配置Tomcat服务器:
    • 添加Artifacts
    • 配置web.xml文件
    • 运行Tomcat服务器
  • 补充:JDBC增删改查数据库(点击可跳转)

数据库:

自行建库建表,主键 id

在这里插入图片描述
在这里插入图片描述

后端:

新建项目模块

在这里插入图片描述
在这里插入图片描述

选择模块,添加依赖

在这里插入图片描述
在这里插入图片描述

创建配置文件:

db.properties

在这里插入图片描述

driver=com.mysql.cj.jdbc.Driver
user=root
url=jdbc:mysql://127.0.0.1:3306/csdn
password=ROOT
Java类: query查询

在这里插入图片描述

package com.swc;import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.util.ResourceBundle;public class query extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//        设置  请求和相应的 编码格式request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");response.setContentType("text/html");PrintWriter out = response.getWriter();
//        连接数据库ResourceBundle bundle = ResourceBundle.getBundle("com/swc/resources/db");String driver = bundle.getString("driver");String url = bundle.getString("url");String user = bundle.getString("user");String password = bundle.getString("password");
//        放大作用于Connection con = null;Statement st = null;ResultSet rs = null;try {Class.forName(driver);con = DriverManager.getConnection(url, user, password);con.setAutoCommit(false);st = con.createStatement();String sql = "select * from pfour_webquerymysql";rs = st.executeQuery(sql);//            遍历结果集out.print("<!DOCTYPE html>");out.print("<html lang='en'>");out.print("<head>");out.print("    <meta charset='UTF-8'>");out.print("    <meta name='viewport' content='width=device-width, initial-scale=1.0'>");out.print("    <title>Document</title>");out.print("</head>");out.print("<body>");out.print("    ");out.print("    <table border='2px' width='400px'>");out.print("        <tr>");out.print("            <td>姓名</td>");out.print("            <td>性别</td>");out.print("        </tr>");while (rs.next()) {String name = rs.getString("name");String sex = rs.getString("sex");out.print("        <tr>");out.print("            <td>" + name + "</td>");out.print("            <td>" + sex + "</td>");out.print("        </tr>");}out.print("");out.print("    </table>");out.print("</body>");out.print("</html>");con.commit();} catch (ClassNotFoundException | SQLException e) {if (con != null) {try {con.rollback();} catch (SQLException throwables) {throwables.printStackTrace();}}e.printStackTrace();} finally {if (rs != null) {try {rs.close();} catch (SQLException throwables) {throwables.printStackTrace();}}if (st != null) {try {st.close();} catch (SQLException throwables) {throwables.printStackTrace();}}if (con != null) {try {con.close();} catch (SQLException throwables) {throwables.printStackTrace();}}}}
}

前端:

Web添加

在这里插入图片描述

创建query.html首页

在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {font-size: 48px;color: red;}a {text-decoration: none;}</style>
</head>
<body>
<!-- 显示页面 -->
<h1>信息系统</h1>
<a href="/pfour_webquerymysql/query">查询来自数据库的成员</a></body>
</html>

创建Artifacts

在这里插入图片描述
在这里插入图片描述

创建配置Tomcat服务器:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加Artifacts

在这里插入图片描述

  • 下划线 _ 后删掉,留下项目名
    在这里插入图片描述

配置web.xml文件

  • servlet-name 的内容要相同

  • 在这里插入图片描述

    <?xml version="1.0" encoding="UTF-8"?>



    query.html


    pfour_webquerymysql
    com.swc.query


    pfour_webquerymysql
    /query

运行Tomcat服务器

在这里插入图片描述

  • 跳转到浏览器
    在这里插入图片描述
  • 点击——>查询来自数据库的成员

在这里插入图片描述

  • 即可

补充:JDBC增删改查数据库(点击可跳转)

http://www.lryc.cn/news/508322.html

相关文章:

  • 将java项目部署到linux
  • moviepy将图片序列制作成视频并加载字幕 - python 实现
  • ROS1入门教程5:简单行为处理
  • Vue:实现输入框不能输负数功能
  • 管理系统、微信小程序类源码文档-哔哩哔哩教程同步
  • AOP切点表达式之方法表达式execution
  • clickhouse-题库
  • 在 Sanic 应用中使用内存缓存管理 IP 黑名单
  • 可翻折的CPCI导冷板卡插拔机构
  • 面试题整理9----谈谈对k8s的理解2
  • 12个城市人文扫街、旅拍、人像风光摄影后期Lightroom调色预设
  • 无人设备遥控器之数传功率篇
  • 灭屏情况下,飞行模式+静音模式+插耳,播放音乐,电流异常
  • 面向微服务的Spring Cloud Gateway的集成解决方案:用户登录认证与访问控制
  • Jmeter负载测试如何找到最大并发用户数?
  • Spark-Streaming集成Kafka
  • 移植 OLLVM 到 Android NDK,Android Studio 中使用 OLLVM
  • DAY36|动态规划Part04|LeetCode:1049. 最后一块石头的重量 II、494. 目标和、474.一和零
  • Linux 下SVN新手操作手册
  • 障碍感知 | 基于KD树的障碍物快速处理(附案例分析与ROS C++仿真)
  • Electron -- Electron Fiddle(一)
  • 详解Redis的常用命令
  • elasticache备份
  • Tomcat负载均衡全解析
  • [LeetCode-Python版] 定长滑动窗口8——2461. 长度为 K 子数组中的最大和
  • springboot476基于vue篮球联盟管理系统(论文+源码)_kaic
  • 预约参观华为基地,见证行业巅峰
  • 【Flink-scala】DataSet编程模型介绍及数据源
  • Odrive源码分析(四) 位置爬坡算法
  • [Unity Shader][图形渲染] Shader数学基础11 - 复合变换详解