Servlet實現對SQLServer資料庫的增刪改查(含工程原始碼)
本文實現了用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" />
以及匯入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!
將來的你一定會感激現在拼命的自己!