使用MyEclipse中servlet对SQL Server 2008的CRUD
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的更多相关文章
- 在 myeclipse中进行连接sql server的测试
在 myeclipse中,连接 sql server 用的 url connection 与 java 代码 连接的 url值完全相同. (一下为 java的jdbc连接 sql server 成功的 ...
- 《BI那点儿事》SQL Server 2008体系架构
Microsoft SQL Server是一个提供了联机事务处理.数据仓库.电子商务应用的数据库和数据分析的平台.体系架构是描述系统组成要素和要素之间关系的方式.Microsoft SQL Serve ...
- Sql Server 2008完全卸载方法(其他版本类似)
一. SQL2008卸载. 1.从控制面板卸载 1)点击计算机右下角“开始”,点击“控制面板” 2)点击“卸载程序”. 3)在程序列表中找到“Microsoft SQL Server 2008” ...
- SQL server 2008 数据库企业版安装教程图解
SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本. 在现今数据的世界里,公司要获得成功和不断发展,他 ...
- 配置SQL Server 2008服务器
怎么配置SQL Server 2008服务器_百度经验 http://jingyan.baidu.com/article/9faa7231a922c1473c28cb23.html 1.验证安装是否成 ...
- SQL Server 2008 安装指南
一.安装需求: 1.硬件需求条件 硬件 需求 处理器 最低:1.4 GHz(x64处理器)注意:Windows Server 2008 for Itanium-Based Systems 版本需要In ...
- SQL Server 2008 R2 的版本和组件
SQL Server 2008 R2 的版本和组件 SQL Server 2008 R2 其他版本 SQL Server 2008 SQL Server 2005 SQL Server 2012 ...
- SQL Server 2008 错误 233 的解决办法
问题一.忘记了登录Microsoft SQL Server 2008 的sa的登录密码 解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,修改 ...
- SQL Server 2008登录问题(错误 233和18456)解决方法
今天使用 SQLSERVER2008 先遇到了233 错误,后又遇到了 18456 ,从网上找到了解决方法,具体如下: 问题一 : 已成功与服务器建立连接,但是在登录过程中发生错取.(provider ...
随机推荐
- 《像计算机科学家一样思考Java》—— 读后总结
本书属于入门级的Java书籍,与其他的向编程思想.核心技术不同的是,这本书不是按部就班的讲解java变成知识,而是随着语言的深入慢慢增加知识点. 这本书以一个语言开发者的角度,深入浅出的讲解了Java ...
- 2013 duilib入门简明教程 -- 自绘控件 (15)
在[2013 duilib入门简明教程 -- 复杂控件介绍 (13)]中虽然介绍了界面设计器上的所有控件,但是还有一些控件并没有被放到界面设计器上,还有一些常用控件duilib并没有提供(比如 ...
- SQL语句全
创建数据库 创建之前判断该数据库是否存在 if exists (select * from sysdatabases where name='databaseName') drop database ...
- UIwebView 和 H5交互详情
背景: 最近公司准备上一个只有原生登录界面 + H5网页 ,并且支持ios7.0 以上系统的混合app;这可把我难住了,原生的UI界面我可以正写反写各种style把界面搭建起来.而要这个app的难点在 ...
- 详解CSS的相对定位和绝对定位
CSS的相对定位和绝对定位通常情况下,我们元素的position属性的值默认为static 就是没有定位,元素出现在正常的文档流中,,这个时候你给这个元素设置的left,right,bottom,to ...
- 应用Web.Config配置网站
1.配置数据库连接 在ASP.NET中配置数据库连接的两种方式: appSettings和connectionStrings 命名空间: using System.Configuration; 1)a ...
- 自定义配置UEditor 工具栏上的按钮列表
修改配置项的方法: 1. 方法一:修改 ueditor.config.js 里面的 toolbars 2. 方法二:实例化编辑器的时候传入 toolbars 参数 方法一:在ueditor.confi ...
- MySQL 外键
在MySQL中 (1)MySQL 数据表主要支持六种类型 ,分别是:BDB.HEAP.ISAM.MERGE.MYISAM.InnoBDB.这六种又分为两类,一类是”事务安全型”(transaction ...
- 前端工程师技能之photoshop巧用系列第二篇——测量篇
× 目录 [1]测量信息 [2]实战 [3]注意事项 前面的话 前端工程师使用photoshop进行的大量工作实际上是测量.本文是photoshop巧用系列第二篇——测量篇 测量信息 在网页制作中需要 ...
- 外网访问原理分析 - 每天5分钟玩转 OpenStack(105)
本节我们会将上节创建的 ext_net 连接到 router,并验证内外网的连通性. 更重要的,我们会分析隐藏在表象之下的原理. 将外网连接到 Neutron 的虚拟路由器,这样 instance 才 ...