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

本文涉及的产品
云数据库 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
目录
相关文章
|
7天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
47 10
|
28天前
|
SQL 数据库
sql server中创建数据库和表的语法
sql server中创建数据库和表的语法
18 1
|
7天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
64 6
|
2天前
|
SQL JavaScript API
❤Nodejs 第四章(操作本地数据库实现删除-源码地址已开放)
【4月更文挑战第4天】❤Nodejs 第四章(操作本地数据库实现删除-源码地址已开放)在Node.js中实现删除本地数据库记录的操作。首先尝试通过SQL删除ID为8的用户,然后编写`app.delete`路由处理程序,从请求体获取ID并执行删除。。最终成功删除用户并展示了数据库的更新结果。下一节将优化增删改查功能。
15 1
|
8天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
28天前
|
SQL Oracle 关系型数据库
干货!sqlserver数据库所有知识点总结整理,含代码(挺全的)
干货!sqlserver数据库所有知识点总结整理,含代码(挺全的)
11 0
|
29天前
|
前端开发 Java 数据库
HTML、sqlserver数据库和java前七章节的复习(一)
HTML、sqlserver数据库和java前七章节的复习(一)
8 0
|
29天前
|
Java 计算机视觉
java实现人脸识别源码【含测试效果图】——Servlet层(FaceServlet)
java实现人脸识别源码【含测试效果图】——Servlet层(FaceServlet)
10 1
|
15天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
|
15天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)