JavaWeb實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)數(shù)據(jù)的添加和刪除
準(zhǔn)備操作
1. 配置mysql環(huán)境
2. 創(chuàng)建Servlet Project

3. 創(chuàng)建EMS Package

4. 分別創(chuàng)建Servlet
UserListServlet:用于實(shí)現(xiàn)訪問(wèn)數(shù)據(jù)庫(kù),并將數(shù)據(jù)在頁(yè)面顯示的功能。
UserAddServlet:用于獲取request數(shù)據(jù),并將數(shù)據(jù)添加到ems數(shù)據(jù)庫(kù)user表中。
UserDeleteServlet:用于通過(guò)員工id刪除ems數(shù)據(jù)庫(kù)中user表中id對(duì)應(yīng)的數(shù)據(jù)

5. 創(chuàng)建addUser.html

6. 配置web.xml文檔
<servlet>
<servlet-name>UserListServlet</servlet-name>
<servlet-class>EMS.UserListServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>UserDeleteServlet</servlet-name>
<servlet-class>EMS.UserDeleteServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>UserAddServlet</servlet-name>
<servlet-class>EMS.UserAddServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserListServlet</servlet-name>
<url-pattern>/list</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>UserDeleteServlet</servlet-name>
<url-pattern>/delete</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>UserAddServlet</servlet-name>
<url-pattern>/addUser</url-pattern>
</servlet-mapping>
7. 打開(kāi)服務(wù)器并重新部署服務(wù)器


8. 效果展示
顯示數(shù)據(jù)庫(kù)數(shù)據(jù)

刪除數(shù)據(jù)庫(kù)數(shù)據(jù)

添加數(shù)據(jù)庫(kù)數(shù)據(jù)


添加員工數(shù)據(jù)界面
addUser.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>添加員工</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<center>
<h1>添加員工信息</h1>
<form action="addUser" method="post">
工號(hào):<input type="text" name="id"/><br/>
姓名:<input type="text" name="name"/><br/>
工資:<input type="text" name="salary"/><br/>
年齡:<input type="text" name="age"/><br/>
<input type="submit" name="smt" value="提交"/>
</form>
</center>
</body>
</html>
顯示員工數(shù)據(jù)
UserListServlet
package EMS;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//員工信息查詢(xún)的Servlet
public class UserListServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//使用JDBC連接mysql數(shù)據(jù)庫(kù),將user表中的輸出查詢(xún)處理
ResultSet result=null;
Connection con=null;
try {
//(1)注冊(cè)加載驅(qū)動(dòng)
Class.forName("com.mysql.jdbc.Driver");
//(2)獲得數(shù)據(jù)庫(kù)的鏈接
//(1).連接mysql的url地址
String url="jdbc:mysql://localhost:3306/ems";
//(2).連接mysql的用戶名
String username="root";
//(3).連接mysql的密碼
String pwd="123456";
con=DriverManager.getConnection(url, username, pwd);
//(3)預(yù)編譯sql語(yǔ)句
System.out.println("MySQL連接成功!"+con);
//3.預(yù)編譯SQL語(yǔ)句
String sql="select * from user";
PreparedStatement prep=con.prepareStatement(sql);
//(4)執(zhí)行sql語(yǔ)句
result=prep.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
//使用response,獲得字符輸出流PrintWriter,將查詢(xún)出的結(jié)果輸出到瀏覽器端
//設(shè)置格式編碼
response.setContentType("text/html;charset=utf-8");
//向?yàn)g覽器端輸出一個(gè)表格
PrintWriter pw=response.getWriter();
pw.println("<table border='1' cellspacing='0' width='400' height='80' align='center'>");
pw.println("<caption>員工信息表</caption>");
pw.println("<tr align='center'>");
pw.println("<td>工號(hào)</td><td>姓名</td><td>工資</td><td>年齡</td>");
pw.println("</tr>");
try {
while(result.next())
{
pw.println("<tr align='center'><td>"+result.getInt("id")+"</td><td>"
+result.getString("name")+"</td><td>"+result.getDouble("salary")+"</td><td>"
+result.getInt("age")+"</td><td><a href='delete?id="+result.getInt("id")+"'>刪除</a></td></tr>");
System.out.println(result.getInt("id")+"---"+result.getString("name")+"---"+
result.getDouble("salary")+"---"+result.getInt("age"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//表格的最后一行
pw.println("<tr><td colspan='5'><a href='addUser.html'>添加員工信息</a></td></tr>");
pw.println("</table>");
//關(guān)閉
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
添加員工數(shù)據(jù)
UserAddServlet
package EMS;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import DBUtil.DBUtil;
//添加員工信息的Servlet
public class UserAddServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String strId=request.getParameter("id");
String strName=request.getParameter("name");
String strSal=request.getParameter("salary");
String strAge=request.getParameter("age");
System.out.print(strId+strName+strSal+strAge);
try {
//使用jdbc連接數(shù)據(jù)庫(kù)
Connection con=DBUtil.getCon("ems");
//預(yù)編譯sql語(yǔ)句
String sql="insert into user values(?,?,?,?)";
PreparedStatement prep=con.prepareStatement(sql);
prep.setInt(1, Integer.parseInt(strId));
prep.setString(2, strName);
prep.setDouble(3, Double.parseDouble(strSal));
prep.setInt(4, Integer.parseInt(strAge));
//執(zhí)行sql語(yǔ)句
prep.executeUpdate();
//關(guān)閉數(shù)據(jù)庫(kù)的連接
con.close();
} catch (Exception e) {
e.printStackTrace();
}
//插入成功后,回到list首頁(yè)
//重定向
response.sendRedirect("list");
}
}
刪除員工數(shù)據(jù)
UserDeleteServlet
package EMS;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import DBUtil.DBUtil;
//員工信息刪除的Servlet
public class UserDeleteServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//接收請(qǐng)求中的參數(shù)
//http://localhost:8080/Servlet/delete?id=2
String strId=request.getParameter("id");
//System.out.println("工號(hào):"+strId);
try {
//2~3,使用JDBC連接mysql數(shù)據(jù)庫(kù),完成刪除的操作
Connection con=DBUtil.getCon("ems");
//System.out.println(con);//com.mysql.jdbc.JDBC4Connection@64dfeb
//預(yù)編譯sql語(yǔ)句
String sql="delete from user where id=?";
PreparedStatement prep=con.prepareStatement(sql);
//設(shè)置sql語(yǔ)句中的問(wèn)號(hào) 參數(shù)1:表示第幾個(gè)問(wèn)好 參數(shù)2:對(duì)問(wèn)號(hào)設(shè)置的內(nèi)容
prep.setInt(1,Integer.parseInt(strId));
//執(zhí)行sql語(yǔ)句
//executeUpdate()適用于刪除delete、修改update、插入insert executeQuery()適用于查詢(xún)select
prep.executeUpdate();
//關(guān)閉數(shù)據(jù)庫(kù)的連接
con.close();
} catch (Exception e) {
e.printStackTrace();
}
//4,刪除成功以后,回到http://localhost:8080/ems-servlet/list首頁(yè)地址
//轉(zhuǎn)發(fā)技術(shù):將未完成的工作交給下一個(gè)組件繼續(xù)完成,瀏覽器地址欄的地址不會(huì)發(fā)生變化,它是一次請(qǐng)求
//重定向技術(shù):已經(jīng)完成了工作,只是為了跳轉(zhuǎn)到下一個(gè)地址顯示,瀏覽器地址欄的地址會(huì)發(fā)生變化,是兩次請(qǐng)求
//寫(xiě)一個(gè)Servlet對(duì)應(yīng)的url-pattern地址,會(huì)重定向到對(duì)應(yīng)的Servlet來(lái)執(zhí)行
response.sendRedirect("list");
}
}
以上就是JavaWeb實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)數(shù)據(jù)的添加和刪除的詳細(xì)內(nèi)容,更多關(guān)于JavaWeb數(shù)據(jù)添加刪除的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
淺談Java中Map和Set之間的關(guān)系(及Map.Entry)
這篇文章主要介紹了淺談Java中Map和Set之間的關(guān)系(及Map.Entry),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
Spring Junit單元測(cè)試加載配置文件失敗問(wèn)題
這篇文章主要介紹了Spring Junit加載配置文件失敗問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
Java 詳解包裝類(lèi)Integer與int有哪些共通和不同
這篇文章主要介紹的是 Java中int和Integer的區(qū)別,Java 是一種強(qiáng)數(shù)據(jù)類(lèi)型的語(yǔ)言,因此所有的屬性必須有一個(gè)數(shù)據(jù)類(lèi)型,下面文章基于Java詳細(xì)int和Integer有何區(qū)別,需要的朋友可以參考一下2022-04-04
java實(shí)現(xiàn)解析json復(fù)雜數(shù)據(jù)的第三種思路詳解
這篇文章主要為大家信息介紹了java實(shí)現(xiàn)解析json復(fù)雜數(shù)據(jù)的第三種思路,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01
Java中String類(lèi)(字符串操作)的10個(gè)常見(jiàn)問(wèn)題和解決方法
這篇文章主要介紹了Java中String類(lèi)(字符串)操作的10個(gè)常見(jiàn)問(wèn)題,需要的朋友可以參考下2014-04-04
MyBatis學(xué)習(xí)教程(八)-Mybatis3.x與Spring4.x整合圖文詳解
這篇文章主要介紹了MyBatis學(xué)習(xí)教程(八)-Mybatis3.x與Spring4.x整合圖文詳解的相關(guān)資料,需要的朋友可以參考下2016-05-05

