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
目录
相关文章
|
4天前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
23 3
|
8天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的《数据库原理及应用》课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的《数据库原理及应用》课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
|
10天前
|
SQL 存储 安全
数据库数据恢复—SQL Server数据库出现逻辑错误的数据恢复案例
SQL Server数据库数据恢复环境: 某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。 SQL Server数据库故障: 存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生成了一个.ndf的文件并且将数据库路径指向E盘继续使用。数据库继续运行一段时间后出现故障并报错,连接失效,SqlServer数据库无法附加查询。管理员多次尝试恢复数据库数据但是没有成功。
|
15天前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
134 1
|
16天前
|
SQL 存储 关系型数据库
关系型数据库SQL Server学习
【7月更文挑战第4天】
24 2
|
12天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的《数据库原理及应用》课程平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的《数据库原理及应用》课程平台附带文章源码部署视频讲解等
16 0
|
15天前
|
数据库
提取本地路径Jpg或者mp4文件的名字,导入mp4的名字,并导入数据库的源码
提取本地路径Jpg或者mp4文件的名字,导入mp4的名字,并导入数据库的源码
|
14天前
|
存储 关系型数据库 MySQL
探索MySQL:关系型数据库的基石
MySQL,作为全球最流行的开源关系型数据库管理系统(RDBMS)之一,广泛应用于各种Web应用、企业级应用和数据仓库中
|
11天前
|
关系型数据库 MySQL 网络安全
Mysql 数据库主从复制
在MySQL主从复制环境中,配置了两台虚拟机:主VM拥有IP1,从VM有IP2。主VM的`my.cnf`设置server-id为1,启用二进制日志;从VM设置server-id为2,开启GTID模式。通过`find`命令查找配置文件,编辑`my.cnf`,在主服务器上创建复制用户,记录二进制日志信息,然后锁定表并备份数据。备份文件通过SCP传输到从服务器,恢复数据并配置复制源,启动复制。检查复制状态确认运行正常。最后解锁表,完成主从同步,新用户在从库中自动更新。
983 6
Mysql 数据库主从复制
|
12天前
|
缓存 运维 关系型数据库
数据库容灾 | MySQL MGR与阿里云PolarDB-X Paxos的深度对比
经过深入的技术剖析与性能对比,PolarDB-X DN凭借其自研的X-Paxos协议和一系列优化设计,在性能、正确性、可用性及资源开销等方面展现出对MySQL MGR的多项优势,但MGR在MySQL生态体系内也占据重要地位,但需要考虑备库宕机抖动、跨机房容灾性能波动、稳定性等各种情况,因此如果想用好MGR,必须配备专业的技术和运维团队的支持。 在面对大规模、高并发、高可用性需求时,PolarDB-X存储引擎以其独特的技术优势和优异的性能表现,相比于MGR在开箱即用的场景下,PolarDB-X基于DN的集中式(标准版)在功能和性能都做到了很好的平衡,成为了极具竞争力的数据库解决方案。