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的用戶(hù)名 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-09Spring Junit單元測(cè)試加載配置文件失敗問(wèn)題
這篇文章主要介紹了Spring Junit加載配置文件失敗問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Java 詳解包裝類(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-04java實(shí)現(xiàn)解析json復(fù)雜數(shù)據(jù)的第三種思路詳解
這篇文章主要為大家信息介紹了java實(shí)現(xiàn)解析json復(fù)雜數(shù)據(jù)的第三種思路,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01Java中String類(lèi)(字符串操作)的10個(gè)常見(jiàn)問(wèn)題和解決方法
這篇文章主要介紹了Java中String類(lèi)(字符串)操作的10個(gè)常見(jiàn)問(wèn)題,需要的朋友可以參考下2014-04-04MyBatis學(xué)習(xí)教程(八)-Mybatis3.x與Spring4.x整合圖文詳解
這篇文章主要介紹了MyBatis學(xué)習(xí)教程(八)-Mybatis3.x與Spring4.x整合圖文詳解的相關(guān)資料,需要的朋友可以參考下2016-05-05