Servlet实现对SQLServer数据库的增删改查(含工程源码)

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介: <div class="markdown_views"><pre><code>本文实现了用MyEclipse,编写Servlet,实现对SQLServer数据库的增删改查,适合新手入门,文末提供工程文件源码下载。</code></pre><h2 id="1新建数据库test以及表users">1.新建数据库test以及表users</h2><p>表users共四
本文实现了用MyEclipse,编写Servlet,实现对SQLServer数据库的增删改查,适合新手入门,文末提供工程文件源码下载。

1.新建数据库test以及表users

表users共四列(id,name,psd,tel)
具体操作步骤见上篇博文。具体操作步骤

2.新建工程Web Project工程0623p

3. 编辑WebRoot目录下的index.jsp

创建表单(序号、账号、密码、电话、操作),并读取当前数据库内容。

注意:
此处要导入sql_data.java包用于连接数据库(在src目录下新建edu.hwadee.pro.bean包,将sql_data.java复制到此包下即可),
<jsp:useBean id="db" class="edu.hwadee.pro.bean.sql_data" />//id是给bean取个别名,class表示调用的类。
 以及导入java.sql.不然会报错哦。import="java.sql.*"*
 将修改、删除、添加用户的链接也一并写好。
代码如下

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" import="java.sql.*"%>
<jsp:useBean id="db" class="edu.hwadee.pro.bean.sql_data" />
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'index.jsp' starting page</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">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>
  <body>
        我的首页 <br>
        <table border=1>
        <tr>
            <td>序号</td>
            <td>账号</td>
            <td>密码</td>
            <td>电话</td>
            <td>操作</td>
        </tr>
        <%
                String sql = "select * from users";
                ResultSet rs = null;

                rs = db.executeQuery(sql);  //查询数据库,
                //executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供我们使用
                while (rs.next()) { //rs 游标下移,rs.next()返回一个布尔值,为true,则数据表中有记录。
                //next()可以遍历全部数据。 
                    String aa = rs.getString(1); //取出第一个字段的数据
                    String bb = rs.getString(2);
                    String cc = rs.getString(3);
                    String dd = rs.getString(4);
                    out.print("<tr><td>" + aa + "</td><td>" + bb + "</td><td>" + cc
                            + "</td><td>" + dd
                            + "</td><td><a href='servlet/delServlet?id="+aa+"'>删除</a>、<a href='update.jsp?xh=" + aa + "&&mz="
                            + bb + "&&mm=" + cc + "&&dh=" + dd
                            + "'>修改</a></td></tr>");
                }
            %>
        </table><br>
        <a href="add.jsp">添加用户</a>
  </body>
</html>

启动tomcat服务,将工程发布检测一下(具体步奏见上篇博文),效果如图
这里写图片描述

但此时不用去点击删除修改添加这些,因为实现代码还没写好。

4.在src目录下新建edu.hwadee.pro.control包

用于存放增删改查的Servlet程序文件。
在此包下新建Servlet,取名updateServlet,用于修改数据库。
修改doPost()函数,记得导入import edu.hwadee.pro.bean.sql_data包哦,其部分源码如下:

public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String aa = null, bb = null, cc = null, dd = null;
        aa = request.getParameter("id");      //接收表单传来的四个数据
        bb = request.getParameter("name");
        cc = request.getParameter("psd");
        dd = request.getParameter("tel");
        String sql = "update users set name='" + bb + "',psd='" + cc
                + "',tel='" + dd + "'where id='" + aa + "'";  //条件修改语句的定义

        sql_data db = new sql_data();
        db.executeUpdate(sql);  //修改执行
        response.sendRedirect("../index.jsp");
    }

5.在WebRoot目录下新建JSP文件update.jsp

用于创建表单,填写要修改的数据库内容。

源码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
    String aa=null,bb=null,cc=null,dd=null;
    aa=request.getParameter("xh");
    bb=request.getParameter("mz");
    cc=request.getParameter("mm");
    dd=request.getParameter("dh");
 %>
 <form action="servlet/updateServlet" method="post"><%--action调用位置可查看web.xml--%>
    序号<input name="id" type="hidden" value="<%=aa%>"><%=aa%><br/><%--将id隐藏,防止用户修改,第二个aa则是将其显示给用户 --%>
    账号<input name="name" value="<%=bb%>"><br/>
    密码<input name="psd" value="<%=cc%>"><br/>
    电话<input name="tel" value="<%=dd%>"><br/>
    <input name="sub" type="submit" value="修改"><br/>
 </form>
</body>
</html>

发布一下工程,打开index.jsp页面,点击修改,欧耶,是不是能够修改数据内容了呢!!

6.同理,创建addServlet.java和delServlet.java

在edu.hwadee.pro.control目录下再新建两个Servlet,分别是addServlet.java和delServlet.java,并修改其代码,addServlet.java修改doPost()函数,delServlet.java修改doGet()函数,注意要导入import edu.hwadee.pro.bean.sql_data包哦。
addServlet.java部分源码如下:

public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String bb = null, cc = null, dd = null;
        // aa = request.getParameter("id"); //接收表单传来的三个数据
        bb = request.getParameter("name");
        cc = request.getParameter("psd");
        dd = request.getParameter("tel");
        String sql = "insert into users(name,psd,tel) values('" + bb + "','"
                + cc + "','" + dd + "')"; // 条件修改语句的定义

        sql_data db = new sql_data();
        db.executeInsert(sql); // 添加执行
        response.sendRedirect("../index.jsp");
    }

delServlet.java 部分源码如下:

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String id = request.getParameter("id");
           String sql = "delete from users where id='"+id+"'";
           sql_data db = new sql_data();
            db.executeDelete(sql); // 删除执行
            response.sendRedirect("../index.jsp");
    }

7. 在WebRoot目录下新建JSP文件add.jsp

用于创建表单,填写要增加的数据库内容。删除数据库内容不需要填写数据,所以就不用写个del.jsp了。
源码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="servlet/addServlet" method="post">
    账号<input name="name" ><br>
    密码<input name="psd" ><br>
    电话<input name="tel" ><br>
    <input name="sub" type="submit" value="添加"><br>
</form>
</body>
</html>

8. 发布一下工程

打开index.jsp页面,修改、删除、增加用户!!!是不是所有功能都实现了呢,棒棒哒!

9. 工程目录

工程目录


工程目录

10. 如果报错

尝试一下方法:
 检查一下是否将sqljdbc4.jar复制到
MyEclipse8.5\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\ext下
 重新发布工程,重启tomcat服务,并重启MyEclipse。

11. 工程源码下载

点击此处下载
本文中用到的软件、工具下载地址可从上篇博文寻找。

转载请注明出处,谢谢。博客地址http://blog.csdn.net/u010887744
如有任何问题,欢迎留言。祝君好运!
Life is all about choices!
将来的你一定会感激现在拼命的自己!

相关实践学习
使用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
目录
相关文章
|
11天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
12天前
|
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天前
|
存储 数据挖掘 数据库
数据库数据恢复—SQLserver数据库ndf文件大小变为0KB的数据恢复案例
一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库不可用。管理员试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库。
|
1月前
|
前端开发 Java 数据库连接
javamvc配置,增删改查,文件上传下载。
【10月更文挑战第4天】javamvc配置,增删改查,文件上传下载。
38 1
|
30天前
|
JavaScript 前端开发 测试技术
[新手入门]todolist增删改查:vue3+ts版本!
【10月更文挑战第15天】[新手入门]todolist增删改查:vue3+ts版本!
|
12天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
26 1
|
14天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
29 4
|
1月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
63 3
Mysql(4)—数据库索引
|
20天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
98 1
|
23天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
65 2