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. Wakatime 测试工作时间

    Wakatime – 现在几点了,你在做什么呢 前面提到了一个用来QS自己的工具Clarify.这次介绍一个专门给程序员用的工具.大家都知道一万小时定律,但我究竟写java写了多久了呢?WakaTim ...

  2. 使用Emit把Datatable转换为对象集合(List<T>)

    Emit生成动态方法部分摘自网上,但是经过修改,加入了对委托的缓存以及类结构的调整,使之调用更简洁方便.大致的思路是:要实现转换datatable到某个指定对象的集合,本质是实现转换一个datarow ...

  3. Redis命令笔记

    一.string类型:(1)set :设置key对应的值为string类型的value,例:set name helloworld(2)get :获取key对应的值为string类型的value,例: ...

  4. Spring学习记录(九)---通过工厂方法配置bean

    1. 使用静态工厂方法创建Bean,用到一个工厂类 例子:一个Car类,有brand和price属性. package com.guigu.spring.factory; public class C ...

  5. oracle数据库表的导入导出cmd命令大全

    在实际的项目开发中经常会遇到导入导出oracle数据库中的表,以下是常用的一些cmd命令: 一.数据表的导出 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daoch ...

  6. ATM模拟器(附代码及运行结果)

    源代码: import java.util.Scanner; class Account{ String identify; String name; String date; String key; ...

  7. 基于ReactCSSTransitionGroup实现react-router过渡动画

      此前,我使用了react-router库来完成单页应用的路由,从而实现组件之间的切换能力.然而,默认页面的切换是非常生硬的,为了让页面切换更加缓和与舒适,通常的方案就是过渡动画. 这里我调研了2种 ...

  8. codeforces B. Ohana Cleans Up

    B. Ohana Cleans Up Ohana Matsumae is trying to clean a room, which is divided up into an n by n grid ...

  9. IOS数据存储之CoreData使用优缺点

    前言: 学习了Sqlite数据之后认真思考了一下,对于已经习惯使用orm数据库的开发者或者对sql语句小白的开发者来说该如何做好数据库开发呢?这个上网搜了一下?看来总李多虑了!apple 提供了一种数 ...

  10. EntityFramework之摸索EF底层(八)

    前言 此篇文章我将深入去摸索edmx中一些不为人知的东西,有时候我们需要知道Code  First模型中一些存储以及映射的原理,个人觉得那是必要的也是有用的,因为很有可能SQL会出现一些其他问题,只有 ...