1、在MyEclipse下建立Web Project,找到根目录建立Database文件夹和Doc文件夹,Database用于保存数据库信息,Doc用于保存数据库表信息。

2、打开SQL Server 2008 ,新建数据库CRUD,将路径添加到Database文件夹下。

3、写SQL语句添加数据库表,保存在Doc文件夹下。到这对数据库的操作就完成了。

CREATE TABLE Student(
sno nvarchar(10) not null,
sname nvarchar(10) null,
constraint PK_Student primary key(sno)
);
insert Student values('001','张三');
insert Student values('002','李四');
insert Student values('003','王五');
insert Student values('004','赵六');

4、将sqljdbc4.jar(没有可在网上下载)拷贝到WEB-INF下的lib文件夹下,然后建立StudentList.jsp,输入以下代码:

<%@  import="java.sql.*" %>
<%
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=CRUD","sa","123");
String SQL="SELECT * FROM Student";
stmt=con.createStatement();
rs=stmt.executeQuery(SQL);
%>
<center>
学生列表
<br>
<br>
<a href="StudentAdd.html">添加</a>
<br>
<br> <table border="1" cellspacing="0" cellpadding="4">
<tr>
<th>学号</th><th>姓名</th><th>操作</th>
</tr>
<%while (rs.next()) { %>
<tr>
<td><%=rs.getString("sno") %></td>
<td><%=rs.getString("sname") %></td>
<td>
<a href="StudentEdit.jsp?sno=<%=rs.getString("sno") %>" >编辑</a>
<a href="servlet/DeleteStudent.do?sno=<%=rs.getString("sno") %>" >删除</a> </td>
</tr>
<% } %>
</table>
<br> <br>
<a href="index.jsp">返回</a>
</center>

  

5、建立Package“com.langguojie.CRUD.servlet”,然后建立servlet“AddStudent.java”只选择“doPost()”函数即可。添加如下代码:

        import java.sql.*;
// 获取数据
request.setCharacterEncoding("utf-8");
String strStudentSno = "";
String strStudentSname = "";
strStudentSno = request.getParameter("sno");
strStudentSname = request.getParameter("sname"); // 添加数据
Connection con = null;
Statement stmt = null; String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=CRUD;
user=sa;password=123";//sa身份连接
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(url);
String strSql = "insert into Student values('" + strStudentSno + "','" + strStudentSname + "')";
stmt = con.createStatement();
stmt.execute(strSql);
}
catch (Exception e)
{
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.println("<center><br><br>添加失败,学号:" + strStudentSno);
out.println("<br><br><a href='../StudentList.jsp'>返回</a></center>");
out.close();
return;
} // 跳转
response.sendRedirect("../StudentList.jsp");

  

6、建立StudentAdd.html,添加如下代码:

<center>
<br><br>添加学生<br>
<form name="f1" id="f1" action="servlet/AddStudent.do" method="post">
<table border="0">
<tr>
<td>学号:</td>
<td><input type="text" name="sno"></td>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" name="sname"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value=" 确定 " ></td>
</tr>
</table>
</form>
</center>

  

7、按照步骤5添加servlet“EditStudent.java”和“DeleteStudent.java”

代码如下:

                EditStudent.java
// 获取数据
request.setCharacterEncoding("utf-8");
String strStudentSno = "";
strStudentSno = request.getParameter("sno");
String strStudentSname = "";
strStudentSname = request.getParameter("sname"); // 删除数据
Connection con = null;
Statement stmt = null;
ResultSet rs = null; String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=CRUD;user=sa;password=123";//sa身份连接 try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(url); String strSql = "update Student set sname = '"+strStudentSname+"' where sno= " + strStudentSno + " ";
stmt = con.createStatement();
stmt.execute(strSql);
}
catch (Exception e)
{
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.println("编辑失败,学号:" + strStudentSno+"!");
out.close();
return;
} // 跳转
response.sendRedirect("../StudentList.jsp"); DeleteStudent.java:
// 获取数据
request.setCharacterEncoding("utf-8");
String strStudentSno = "";
strStudentSno = request.getParameter("sno"); // 删除数据
Connection con = null;
Statement stmt = null;
ResultSet rs = null; String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=CRUD;user=sa;password=123";//sa身份连接 try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(url); String strSql = "delete from Student where sno='" + strStudentSno + "'";
stmt = con.createStatement();
stmt.execute(strSql);
}
catch (Exception e)
{
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.println("删除失败,学号:" + strStudentSno+"!");
out.close();
return;
} // 跳转
response.sendRedirect("../StudentList.jsp");

  

8、StudentEdit.jsp所对应的代码:

 <%@  import="java.sql.*" %>
<%
Connection con = null;
Statement stmt = null;
ResultSet rs = null; String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=CRUD;user=sa;password=123";//sa身份连接 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(url);
stmt = con.createStatement(); request.setCharacterEncoding("utf-8");
String strsno = "";
strsno = request.getParameter("sno");
String SQL = "SELECT * FROM Student where sno='" + strsno + "'";
rs = stmt.executeQuery(SQL);
%>
<center> <%if(rs.next()==true){ %> <br><br>编辑学生信息<br>
<form name="f1" id="f1" action="servlet/EditStudent.do" method="post">
<table border="0">
<tr>
<td>学号:</td>
<td><input type="text" readonly="readonly" name="sno" value="<%=rs.getString("sno") %>"> 学号不允许编辑</td>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" name="sname" value="<%=rs.getString("sname") %>"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value=" 确定 " ></td>
</tr>
</table>
</form>
<%} else { %>
<br><br>编辑学生信息<br><br>
学号为<%=strsno %>的学生数据在数据库中不存在!<br><br>
<a href="StudentList.jsp">返回</a>
<%} %>
</center>

  

9、运行结果截图:

查询界面:

添加界面:学号:005 姓名:郎国杰

添加成功界面:

编辑界面:将“郎国杰”改写成“langguojie”

编辑成功:

删除结果:

10、总结:

使用servlet对数据库的增删改查(CRUD)可以方便用户的操作,更具有规范性,可以避免代码泄露问题。这一部分是编辑网站以及开发网页的基础内容。

使用MyEclipse中servlet对SQL Server 2008的CRUD的更多相关文章

  1. 在 myeclipse中进行连接sql server的测试

    在 myeclipse中,连接 sql server 用的 url connection 与 java 代码 连接的 url值完全相同. (一下为 java的jdbc连接 sql server 成功的 ...

  2. 《BI那点儿事》SQL Server 2008体系架构

    Microsoft SQL Server是一个提供了联机事务处理.数据仓库.电子商务应用的数据库和数据分析的平台.体系架构是描述系统组成要素和要素之间关系的方式.Microsoft SQL Serve ...

  3. Sql Server 2008完全卸载方法(其他版本类似)

    一.    SQL2008卸载. 1.从控制面板卸载 1)点击计算机右下角“开始”,点击“控制面板” 2)点击“卸载程序”. 3)在程序列表中找到“Microsoft SQL Server 2008” ...

  4. SQL server 2008 数据库企业版安装教程图解

    SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本.  在现今数据的世界里,公司要获得成功和不断发展,他 ...

  5. 配置SQL Server 2008服务器

    怎么配置SQL Server 2008服务器_百度经验 http://jingyan.baidu.com/article/9faa7231a922c1473c28cb23.html 1.验证安装是否成 ...

  6. SQL Server 2008 安装指南

    一.安装需求: 1.硬件需求条件 硬件 需求 处理器 最低:1.4 GHz(x64处理器)注意:Windows Server 2008 for Itanium-Based Systems 版本需要In ...

  7. SQL Server 2008 R2 的版本和组件

    SQL Server 2008 R2 的版本和组件 SQL Server 2008 R2   其他版本 SQL Server 2008 SQL Server 2005 SQL Server 2012 ...

  8. SQL Server 2008 错误 233 的解决办法

    问题一.忘记了登录Microsoft SQL Server 2008 的sa的登录密码 解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,修改 ...

  9. SQL Server 2008登录问题(错误 233和18456)解决方法

    今天使用 SQLSERVER2008 先遇到了233 错误,后又遇到了 18456 ,从网上找到了解决方法,具体如下: 问题一 : 已成功与服务器建立连接,但是在登录过程中发生错取.(provider ...

随机推荐

  1. angular.js:13920 Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- testServe

    angular.js:13920 Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- testSer ...

  2. Dnsmasq安装与配置

    默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...

  3. 编译opengl编程指南第八版示例代码通过

    最近在编译opengl编程指南第八版的示例代码,如下 #include <iostream> #include "vgl.h" #include "LoadS ...

  4. socket编程

    一.socket地址的数据类型及相关函数 socket API是一层抽象的网络编程接口,适用于各种底层网络协议,如IPv4.IPv6.UNIX Domain Socket.然而各种网络协议的地址格式并 ...

  5. 前端学PHP之变量

    × 目录 [1]变量定义 [2]关键字 [3]变量赋值[4]可变变量[5]变量函数 前面的话 变量是用于临时存储值的容器.这些值可以是数字.文本,或者复杂得多的排列组合.变量在任何编程语言中都居于核心 ...

  6. 深入学习jQuery事件绑定

    × 目录 [1]bind [2]trigger [3]delegate[4]on[5]one 前面的话 javascript有HTML.DOM0级.DOM2级和IE这四种事件处理程序,而jQuery对 ...

  7. 【开源】OSharp3.3框架解说系列(7.1):初始化流程概述

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

  8. MySQL utf8mb4 字符集:支持 emoji 表情符号

    转载地址:http://www.linuxidc.com/Linux/2013-05/84360.htm 我用他的方法解决了问题,亲测可用,不要用Nnvicat for Mysql去查询编码,在服务器 ...

  9. MyCAT实现MySQL的读写分离

    在MySQL中间件出现之前,对于MySQL主从集群,如果要实现其读写分离,一般是在程序端实现,这样就带来一个问题,即数据库和程序的耦合度太高,如果我数据库的地址发生改变了,那么我程序端也要进行相应的修 ...

  10. 微软的坑:Url重写竟然会引起IIS内核模式缓存不工作

    万万没有想到!当初为了解决使用负载均衡时记录客户端IP地址的问题,在IIS URL Rewrite Module中增加了一条URL重写规则(详见迁入阿里云后遇到的Request.UserHostAdd ...