jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。

jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上

jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上

1、JavaBean的使用

package com.zheng;


public class BookBean {
    private int id;// 编号
    private String name;// 图书名称
    private double price;// 定价
    private int bookCount;// 数量
    private String author;// 作者

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public int getBookCount() {
        return bookCount;
    }

    public void setBookCount(int bookCount) {
        this.bookCount = bookCount;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

}

Servlet的编写(连接数据库并且查询)

package com.zheng;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet实现类FindServlet
 */
@WebServlet("/FindServlet")        //配置Servlet
public class FindServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
     public FindServlet() {
        super();
    }

    /**
     * 执行POST请求的方法
     */
    protected void doPostt(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

    /**
     * 执行GET请求的方法
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try {    
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");        // 加载数据库驱动,注册到驱动管理器
            String url = "jdbc:sqlserver://localhost:1433;databaseName=test";// 数据库连接字符串
            String username = "zheng";                        // 数据库用户名    
            String password = "123";                        // 数据库密码    
            // 创建Connection连接
            Connection conn = DriverManager.getConnection(url,username,password);
            Statement stmt = conn.createStatement();        // 获取Statement
            String sql = "select * from tb_book2";            // 添加图书信息的SQL语句    
            ResultSet rs = stmt.executeQuery(sql);            // 执行查询    
            List<BookBean> list = new ArrayList<>();        // 实例化List对象    
            while(rs.next()){                                // 光标向后移动,并判断是否有效
                BookBean book = new BookBean();                    // 实例化Book对象
                book.setId(rs.getInt("id"));                // 对id属性赋值
                book.setName(rs.getString("name"));        // 对name属性赋值
                book.setPrice(rs.getDouble("price"));        // 对price属性赋值
                book.setBookCount(rs.getInt("bookCount"));    // 对bookCount属性赋值
                book.setAuthor(rs.getString("author"));        // 对author属性赋值
                list.add(book);                             // 将图书对象添加到集合中
            }
            request.setAttribute("list", list);             // 将图书集合放置到request中
            rs.close();                                    // 关闭ResultSet
            stmt.close();                                    // 关闭Statement
            conn.close();                                    // 关闭Connection
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        // 请求转发到bookList.jsp
        request.getRequestDispatcher("bookList.jsp").forward(request, response);

    }

}

输出数据库中表的信息

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<%@ page import="com.zheng.BookBean"%>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>显示图书列表</title>
<style type="text/css">
td,th {
    padding: 5px;
}
</style>
</head>
<body>
    <div width="98%" align="center">
        <h2>所有图书信息</h2>
    </div>
    <table width="98%" border="0" align="center" cellpadding="0"
        cellspacing="1" bgcolor="#666666">
        <tr>
            <th bgcolor="#FFFFFF">编号</th>
            <th bgcolor="#FFFFFF">图书名称</th>
            <th bgcolor="#FFFFFF">价格</th>
            <th bgcolor="#FFFFFF">数量</th>
            <th bgcolor="#FFFFFF">作者</th>
        </tr>
        <%
            // 获取图书信息集合
            List<BookBean> list = (List<BookBean>) request.getAttribute("list");
            // 判断集合是否有效
            if (list == null || list.size() < 1) {
                out.print("<tr><td bgcolor='#FFFFFF' colspan='5'>没有任何图书信息!</td></tr>");
            } else {
                // 遍历图书集合中的数据
                for (BookBean book : list) {
        %>
        <tr align="center">
            <td bgcolor="#FFFFFF" ><%=book.getId()%></td>
            <td bgcolor="#FFFFFF"><%=book.getName()%></td>
            <td bgcolor="#FFFFFF"><%=book.getPrice()%></td>
            <td bgcolor="#FFFFFF"><%=book.getBookCount()%></td>
            <td bgcolor="#FFFFFF"><%=book.getAuthor()%></td>
        </tr>
        <%
            }
        }
        %>
    </table>
</body>
</html>

超链接跳转

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>首页</title>
</head>
<body>
<a href="FindServlet">查看图书列表</a>
</body>
</html>

查询结果
在这里插入图片描述

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
相关文章
|
29天前
|
SQL 安全 Java
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。
16 1
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
|
18天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
19天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
26天前
|
存储 缓存 固态存储
怎么让数据库查询更快
【10月更文挑战第28天】
30 2
|
28天前
|
存储 缓存 关系型数据库
怎么让数据库查询更快
【10月更文挑战第25天】通过以上综合的方法,可以有效地提高数据库查询的速度,提升应用程序的性能和响应速度。但在优化过程中,需要根据具体的数据库系统、应用场景和数据特点进行合理的调整和测试,以找到最适合的优化方案。
|
27天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
150 1
|
29天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
246 2
|
29天前
|
SQL 关系型数据库 数据库
PostgreSQL性能飙升的秘密:这几个调优技巧让你的数据库查询速度翻倍!
【10月更文挑战第25天】本文介绍了几种有效提升 PostgreSQL 数据库查询效率的方法,包括索引优化、查询优化、配置优化和硬件优化。通过合理设计索引、编写高效 SQL 查询、调整配置参数和选择合适硬件,可以显著提高数据库性能。
158 1
|
2月前
|
存储 数据挖掘 数据库
数据库数据恢复—SQLserver数据库ndf文件大小变为0KB的数据恢复案例
一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库不可用。管理员试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库。
|
28天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第26天】数据库作为现代应用系统的核心组件,其性能优化至关重要。本文主要探讨MySQL的索引策略与查询性能调优。通过合理创建索引(如B-Tree、复合索引)和优化查询语句(如使用EXPLAIN、优化分页查询),可以显著提升数据库的响应速度和稳定性。实践中还需定期审查慢查询日志,持续优化性能。
63 0