人员信息管理
-
使用Jsp Servlet Tomcat 實現對sqlServer數據庫中人員信息的管理:(MVC架構)
-
準備相應的數據庫
-
鏈接數據庫
-
實現對數據庫中人員信息的增刪改查
頁面總體效果如下所示:
點擊刪除之后會刪除掉選中的這一行只顯示剩下幾行內容,點擊添加用戶之后會跳轉到一個新的頁面需要你填入新增的人員信息點擊添加即可,點擊更新之后同樣會跳轉到一個新的頁面這個頁面會顯示原來的信息。你只需要把要修改的信息修改完成點擊確認就可以更新成功了。
效果展示一 :
效果展示二:
點擊添加用戶后跳轉到如下圖顯示的添加人員信息頁面
效果展示三:
點擊孫悟空后面的更新之后跳轉到如下圖顯示的更新頁面,修改原有信息點擊確認即可
1.1建立一個名為UserManager的數據庫.
1.2在數據庫里建立一個名為users的表并添加幾條數據.
項目列表展示
2.1 在bean包中新建User.Java類(人員類)
2.2 在Service包里新建一個UserService.java接口
package com.hnpi.service;import java.util.List;import com.hnpi.bean.User;public interface UserSevice {List<User> list();boolean delUser(Integer id);boolean delUser(User user);boolean addUser(User add);boolean updateUser(User update);}2.3 在Service包里的Impl包里新建一個UserServiceImpl.java實現類(注意新建的時候一定要實現UserService.java的接口)
package com.hnpi.service.impl;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import com.hnpi.bean.User; import com.hnpi.service.UserSevice; import com.hnpi.util.DBUtil;public class UserServiceImpl implements UserSevice {//查詢public List<User> list() {List<User> users = new ArrayList<User>();// TODO 從數據庫中獲取數據,然后組裝成List<User> 然后返回Connection conn = DBUtil.getConn();String sql = "select * from users";PreparedStatement ps = null;ResultSet rs = null;try {ps = conn.prepareStatement(sql);rs = ps.executeQuery();while (rs.next()) {User user = new User();user.setId(rs.getInt(1));user.setName(rs.getString(2));user.setSex(rs.getString(3));user.setAge(rs.getInt(4));user.setPhone(rs.getString(5));user.setAddress(rs.getString(6));users.add(user);}} catch (Exception e) {e.printStackTrace();} finally {DBUtil.closeConn(conn, ps, null);}return users;}//刪除public boolean delUser(Integer id) {Connection conn = DBUtil.getConn();String sql = "delete from users where id = ?";PreparedStatement ps = null;int count = 0;try {ps = conn.prepareStatement(sql);ps.setInt(1, id);count = ps.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {DBUtil.closeConn(conn, ps, null);}if (count > 0)return true;elsereturn false;}//刪除public boolean delUser(User user) {Connection conn = DBUtil.getConn();String sql = "delete from users where id = ?";PreparedStatement ps = null;int count = 0;try {ps = conn.prepareStatement(sql);ps.setInt(1, user.getId());count = ps.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {DBUtil.closeConn(conn, ps, null);}if (count > 0)return true;elsereturn false;}//添加public boolean addUser(User add) {Connection conn = DBUtil.getConn();String sql="insert into users(name,sex,age,phone,address)values(?,?,?,?,?)";PreparedStatement ps = null;int count = 0;try {ps = conn.prepareStatement(sql);ps.setString(1, add.getName());ps.setString(2, add.getSex());ps.setInt(3, add.getAge());ps.setString(4, add.getPhone());ps.setString(5, add.getAddress());count = ps.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {DBUtil.closeConn(conn, ps, null);}if (count > 0)return true;elsereturn false;}//更新public boolean updateUser(User update) {Connection conn = DBUtil.getConn();String sql="update users set name=?,sex=?,age=?,phone=?,address=? where id=?";PreparedStatement ps = null;int count = 0;try {ps = conn.prepareStatement(sql);ps.setInt(6, update.getId());ps.setString(1, update.getName());ps.setString(2, update.getSex());ps.setInt(3, update.getAge());ps.setString(4, update.getPhone());ps.setString(5, update.getAddress());count = ps.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {DBUtil.closeConn(conn, ps, null);}if (count > 0)return true;elsereturn false;}}2.4 創建四個Servlet分別實現對人員的增改刪查
2.4.1 UserListServlet.java 查詢
2.4.2 UserAddServlet.java 增加
package com.hnpi.servlet;import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.hnpi.bean.User; import com.hnpi.service.UserSevice; import com.hnpi.service.impl.UserServiceImpl;public class UserAddServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//獲取內容String name = request.getParameter("name");String sex = request.getParameter("sex");String age = request.getParameter("age");String phone = request.getParameter("phone");String address = request.getParameter("address");UserSevice userSevice = new UserServiceImpl();User add = new User();add.setName(name);add.setSex(sex);add.setAge(Integer.parseInt(age));add.setPhone(phone);add.setAddress(address);if (userSevice.addUser(add)) {// 成功!response.sendRedirect("userList");} else {// 失敗!response.sendRedirect("userList");}}}2.4.3 UserDelServlet.java 刪除
package com.hnpi.servlet;import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.hnpi.bean.User; import com.hnpi.service.UserSevice; import com.hnpi.service.impl.UserServiceImpl;public class UserDelServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 刪除// 1:獲取所要刪除的idString idStr = request.getParameter("id");// 2:根據id刪除數據UserSevice userSevice = new UserServiceImpl();User user = new User();user.setId(Integer.parseInt(idStr));if (userSevice.delUser(user)) {// 成功!response.sendRedirect("userList");} else {// 失敗!response.sendRedirect("userList");}}}2.4.4 UserUpdateServlet.java 更新
package com.hnpi.servlet;import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.hnpi.bean.User; import com.hnpi.service.UserSevice; import com.hnpi.service.impl.UserServiceImpl;public class UserUpdateServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");String id = request.getParameter("id");String name = request.getParameter("name");String sex = request.getParameter("sex");String age = request.getParameter("age");String phone = request.getParameter("phone");String address = request.getParameter("address");UserSevice userSevice = new UserServiceImpl();User update = new User();update.setId(Integer.parseInt(id));update.setName(name);update.setSex(sex);update.setAge(Integer.parseInt(age));update.setPhone(phone);update.setAddress(address);if (userSevice.updateUser(update)) {// 成功!response.sendRedirect("userList");} else {// 失敗!response.sendRedirect("userList");}}}2.5 在util包里新建一個DBUtil.java類(這個類十分重要,實現對數據庫的鏈接)
package com.hnpi.util;import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;public class DBUtil {public static Connection getConn() {String url = "jdbc:sqlserver://localhost:1433;databaseName=UserManager";String user = "sa";String pwd = "1";Connection conn = null;try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn = DriverManager.getConnection(url, user, pwd);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}public static void closeConn(Connection conn, PreparedStatement ps,ResultSet rs) {try {if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}try {if (ps != null) {ps.close();}} catch (SQLException e) {e.printStackTrace();}try {if (rs != null) {rs.close();}} catch (SQLException e) {e.printStackTrace();}}}2.6 JSP頁面一共需要三個(查詢,增加,更新)
2.6.1 userList.jsp
2.6.2 addUser.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% 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 'addUser.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><form action="addUser" method="post"><tr>姓名:<input type="text" name="name"/></tr><br><br><tr>性別:<input type="text" name="sex"/></tr><br><br><tr>年齡:<input type="text" name="age"/></tr><br><br><tr>電話:<input type="text" name="phone"/></tr><br><br><tr>地址:<input type="text" name="address"/></tr><br><br><tr><input type="submit" value="添加"/></tr></form></body> </html>2.6.3 updateUser.jsp(更新:先查找原來的人員數據放入更新頁面的相應輸入框內,對輸入框的內容進行修改,直接點擊確認即可更新完成)
<%@page import="java.sql.ResultSet"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="com.hnpi.util.DBUtil"%> <%@page import="java.sql.Connection"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% 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 'updateUser.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><%String id = request.getParameter("id");Connection conn = DBUtil.getConn();String sql = "select * from users where id = ?";session.setAttribute("id", id);PreparedStatement ps = null;ResultSet rs = null;try {ps = conn.prepareStatement(sql);ps.setString(1, id);rs = ps.executeQuery();while (rs.next()) {String name=rs.getString("name");String sex = rs.getString("sex");int age = rs.getInt("age");String phone = rs.getString("phone");String address = rs.getString("address");%>此用戶信息為:<br><br><form action="update" method="post"><table><tr><td><input type="text" name="id" value=<%=id%>></td></tr><tr><td><input type="text" name="name" value=<%=name%>></td></tr><tr><td><input type="text" name="sex" value=<%=sex%>></td></tr><tr><td><input type="text" name="age" value=<%=age%>></td></tr><tr><td><input type="text" name="phone" value=<%=phone%>></td></tr><tr><td><input type="text" name="address" value=<%=address%>></td></tr><tr><td><input type="submit" value="確認"></td><td><input type="reset" value="取消"></td></tr></table></form><% }} catch (Exception e) {e.printStackTrace();} finally {DBUtil.closeConn(conn, ps, null);}%></body> </html>請大家注意一定要使用相應的架包 否則是無論如何都無法運行成功的
以上代碼實現了對sqlServer數據庫人員信息的增改刪查等功能,希望能對大家有所幫助
總結
- 上一篇: 计算机专业英语第三章在线测试,《计算机专
- 下一篇: 计算机项目开发流程,产品开发项目建议流程