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. 【原】Telerik radwindow 在IE10下偶尔报 unable to get value of the property 'toLowerCase' 的解决办法

    笔者正在开发的新项目在升级了最新版本的Telerik Control和决定支持IE10后,遇到了一个很棘手的问题,偶尔会在打开Radwindow的时候报JS error :unable to get ...

  2. LeetCode OJ1:Reverse Words in a String

    问题描述: Given an input string, reverse the string word by word. For example,Given s = "the sky is ...

  3. CI Weekly #3 | 关于微服务、Docker 实践与 DevOps 指南

    CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...

  4. 有关binlog的那点事(mysql5.7.13)

    binlog作为mysql中最重要的日志之一,能实现异常恢复以及主从复制. 我们主要讨论的是主从复制中的binlog,这里将以mysql5.7.13的源码为主要依据来分析binlog. 在主从复制中, ...

  5. Lookup component 用法

    Lookup component 类似于Tsql的join子句, select a.* ,b.* from dbo.tis a left join dbo. tdes b on a.code=b.co ...

  6. Razor视图出现重复的解决方法

  7. Sql Server系列:查询分页语句

    1 利用临时表分页 分页存储过程: CREATE PROCEDURE [USP_Product_GetPaged] ), ), @PageIndex INT, @PageSize INT AS BEG ...

  8. 解决adb.exe' and can be executed.

    百度google大家多说的是任务管理器 kill掉adb 或者重启adb server,但我任务管理器就没有adb ,猜测是某个程序占用了adb端口.于是按此思路查找. 5037为adb默认端口 查看 ...

  9. MVC4做网站后台:栏目管理1、添加栏目

    把栏目添加删除跟前台混在一起结构清晰,现在有了后台管理的区域就把后台管理相关的代码分开. 要实现功能: 1.添加栏目 2.删除栏目 3.修改栏目信息 -- 一.开始 1.添加 接口InterfaceC ...

  10. CSS中div覆盖另一个div

    将一个div覆盖在另一个div上有两种手段:一是设置margin为负值,二是设置绝对定位. 可以根个人情况设置z-index的值 1->position 为absolute的情况 <htm ...