jsp如何實(shí)現(xiàn)數(shù)據(jù)的添加刪除修改
文章格式演示例子: 在Web開(kāi)發(fā)中,經(jīng)常需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的添加、刪除和修改。而JSP作為Java Web應(yīng)用中主要的頁(yè)面開(kāi)發(fā)技術(shù),也可以通過(guò)JDBC來(lái)實(shí)現(xiàn)數(shù)據(jù)的增刪改操作。 下面將以一個(gè)簡(jiǎn)單的
在Web開(kāi)發(fā)中,經(jīng)常需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的添加、刪除和修改。而JSP作為Java Web應(yīng)用中主要的頁(yè)面開(kāi)發(fā)技術(shù),也可以通過(guò)JDBC來(lái)實(shí)現(xiàn)數(shù)據(jù)的增刪改操作。
下面將以一個(gè)簡(jiǎn)單的用戶(hù)信息管理系統(tǒng)為例,演示JSP如何實(shí)現(xiàn)數(shù)據(jù)的添加、刪除和修改。
1. 數(shù)據(jù)庫(kù)準(zhǔn)備
首先,在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)用戶(hù)信息表(user_info),包含字段:id(主鍵)、name、age和gender。使用以下SQL語(yǔ)句創(chuàng)建表:
CREATE TABLE user_info ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT, gender VARCHAR(10) );
2. 添加數(shù)據(jù)
在JSP頁(yè)面中,創(chuàng)建一個(gè)表單用于輸入用戶(hù)信息,并提交到一個(gè)JSP處理頁(yè)面(add.jsp)進(jìn)行數(shù)據(jù)的插入操作。
lt;form action"add.jsp" method"post"gt; lt;labelgt;姓名:lt;/labelgt; lt;input type"text" name"name" /gt;lt;br/gt; lt;labelgt;年齡:lt;/labelgt; lt;input type"text" name"age" /gt;lt;br/gt; lt;labelgt;性別:lt;/labelgt; lt;input type"text" name"gender" /gt;lt;br/gt; lt;input type"submit" value"添加" /gt; lt;/formgt;
在add.jsp頁(yè)面中,獲取表單提交的數(shù)據(jù),并使用JDBC將數(shù)據(jù)插入數(shù)據(jù)庫(kù)。
lt;%@ page language"java" import"java.sql.*" %gt;
lt;%!
private String url "jdbc:mysql://localhost:3306/mydb";
private String username "root";
private String password "password";
%gt;
lt;%
String name ("name");
int age (("age"));
String gender ("gender");
try {
("");
Connection conn (url, username, password);
Statement stmt ();
String sql "INSERT INTO user_info (name, age, gender) VALUES ('" name "', " age ", '" gender "')";
int rows stmt.executeUpdate(sql);
if (rows > 0) {
("添加成功!");
} else {
("添加失??!");
}
();
();
} catch (Exception e) {
("數(shù)據(jù)庫(kù)操作異常:" ());
}
%gt;
3. 刪除數(shù)據(jù)
在JSP頁(yè)面中,展示用戶(hù)信息列表,并為每個(gè)用戶(hù)添加一個(gè)刪除按鈕,點(diǎn)擊刪除按鈕后,將對(duì)應(yīng)用戶(hù)的id傳遞到一個(gè)JSP處理頁(yè)面(delete.jsp)進(jìn)行刪除操作。
lt;%@ page language"java" import"java.sql.*" %gt;
lt;%!
private String url "jdbc:mysql://localhost:3306/mydb";
private String username "root";
private String password "password";
%gt;
lt;%
int id (("id"));
try {
("");
Connection conn (url, username, password);
Statement stmt ();
String sql "DELETE FROM user_info WHERE id " id;
int rows stmt.executeUpdate(sql);
if (rows > 0) {
("刪除成功!");
} else {
("刪除失?。?);
}
();
();
} catch (Exception e) {
("數(shù)據(jù)庫(kù)操作異常:" ());
}
%gt;
4. 修改數(shù)據(jù)
在JSP頁(yè)面中,展示用戶(hù)信息列表,并為每個(gè)用戶(hù)添加一個(gè)編輯按鈕,點(diǎn)擊編輯按鈕后,將對(duì)應(yīng)用戶(hù)的id傳遞到一個(gè)JSP處理頁(yè)面(edit.jsp)。在edit.jsp頁(yè)面中,獲取該用戶(hù)的信息并展示在表單中,用戶(hù)可以修改信息并提交表單進(jìn)行更新操作。
lt;%@ page language"java" import"java.sql.*" %gt;
lt;%!
private String url "jdbc:mysql://localhost:3306/mydb";
private String username "root";
private String password "password";
%gt;
lt;%
int id (("id"));
try {
("");
Connection conn (url, username, password);
Statement stmt ();
String sql "SELECT * FROM user_info WHERE id " id;
ResultSet rs stmt.executeQuery(sql);
if (()) {
String name ("name");
int age ("age");
String gender ("gender");
%gt;
lt;form action"update.jsp" method"post"gt;
lt;input type"hidden" name"id" value"lt;% id %gt;" /gt;
lt;labelgt;姓名:lt;/labelgt;
lt;input type"text" name"name" value"lt;% name %gt;" /gt;lt;br/gt;
lt;labelgt;年齡:lt;/labelgt;
lt;input type"text" name"age" value"lt;% age %gt;" /gt;lt;br/gt;
lt;labelgt;性別:lt;/labelgt;
lt;input type"text" name"gender" value"lt;% gender %gt;" /gt;lt;br/gt;
lt;input type"submit" value"修改" /gt;
lt;/formgt;
lt;%
} else {
("用戶(hù)不存在!");
}
();
();
();
} catch (Exception e) {
("數(shù)據(jù)庫(kù)操作異常:" ());
}
%gt;
在update.jsp頁(yè)面中,獲取表單提交的數(shù)據(jù),并使用JDBC更新數(shù)據(jù)庫(kù)中對(duì)應(yīng)用戶(hù)的信息。
lt;%@ page language"java" import"java.sql.*" %gt;
lt;%!
private String url "jdbc:mysql://localhost:3306/mydb";
private String username "root";
private String password "password";
%gt;
lt;%
int id (("id"));
String name ("name");
int age (("age"));
String gender ("gender");
try {
("");
Connection conn (url, username, password);
Statement stmt ();
String sql "UPDATE user_info SET name '" name "', age " age ", gender '" gender "' WHERE id " id;
int rows stmt.executeUpdate(sql);
if (rows > 0) {
("修改成功!");
} else {
("修改失??!");
}
();
();
} catch (Exception e) {
("數(shù)據(jù)庫(kù)操作異常:" ());
}
%gt;
通過(guò)以上步驟,就可以在JSP中實(shí)現(xiàn)數(shù)據(jù)的添加、刪除和修改操作。當(dāng)然,為了代碼的安全性和可維護(hù)性,建議將數(shù)據(jù)庫(kù)連接等功能封裝到JavaBean中,并使用EL表達(dá)式和JSTL標(biāo)簽庫(kù)來(lái)簡(jiǎn)化JSP頁(yè)面的開(kāi)發(fā)。