使用jsp+servlet来实现增加和删除功能
在这里插入代码片
```package ceet.ac.cn.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import ceet.ac.cn.model.Admin;public class AdminDao {public List<Admin> getAllAdmin(){ //查询所有信息List<Admin> list = new ArrayList<Admin>(); //创建集合Connection conn = DbHelper.getConnection();String sql = "select * from admin"; //SQL查询语句try {PreparedStatement pst = conn.prepareStatement(sql);ResultSet rst = pst.executeQuery();while (rst.next()) {Admin admin = new Admin();admin.setId(rst.getInt("id")); //得到IDadmin.setUsername(rst.getString("username"));admin.setUserpwd(rst.getString("userpwd"));list.add(admin);}rst.close(); //关闭pst.close(); //关闭} catch (SQLException e) {e.printStackTrace(); //抛出异常}return list; //返回一个集合}public boolean addAdmin(Admin admin){ //添加信息String sql = "INSERT INTO `admin`(`id`,`username`,`userpwd`) VALUES (?,?,?)"; //添加的SQL语句Connection conn = DbHelper.getConnection();try {PreparedStatement pst = conn.prepareStatement(sql);pst.setInt(1, admin.getId());pst.setString(2, admin.getUsername());pst.setString(3, admin.getUserpwd());int count = pst.executeUpdate();pst.close();return count>0?true:false; //是否添加的判断} catch (SQLException e) {e.printStackTrace();}return false;}public boolean updateAdmin(Admin admin){ //修改String sql = "UPDATE `admin` SET `username`=?,`userpwd`=? WHERE `id` = ?"; //修改的SQL语句,根据ID修改Connection conn = DbHelper.getConnection();try {PreparedStatement pst = conn.prepareStatement(sql);pst.setString(1, admin.getUsername());pst.setString(2, admin.getUserpwd());pst.setInt(3, admin.getId()); //根据的IDint count = pst.executeUpdate();pst.close(); //关闭return count>0?true:false; //是否修改的判断} catch (SQLException e) {e.printStackTrace();}return false;}public boolean deleteAdmin(int id){ //删除String sql = "delete from admin where id = ?"; //删除的SQL语句,根据ID删除Connection conn = DbHelper.getConnection();try {PreparedStatement pst = conn.prepareStatement(sql);pst.setInt(1, id);int count = pst.executeUpdate();pst.close();return count>0?true:false; //是否删除的判断} catch (SQLException e) {e.printStackTrace();}return false;}public Admin selectAdminById(int id){ //根据ID进行查询Connection conn = DbHelper.getConnection();String sql = "select * from admin where id = "+id;Admin admin = null;try {PreparedStatement pst = conn.prepareStatement(sql);ResultSet rst = pst.executeQuery();while (rst.next()) {admin = new Admin();admin.setId(rst.getInt("id"));admin.setUsername(rst.getString("username"));admin.setUserpwd(rst.getString("userpwd"));}rst.close();pst.close();} catch (SQLException e) {e.printStackTrace();}return admin; //返回}
}
复制代码
复制代码
package ceet.ac.cn.dao;import java.sql.Connection;
import java.sql.DriverManager;
/*** 连接数据库* @author 画船听雨眠**/
public class DbHelper {private static String url = "jdbc:mysql://localhost:3306/admin"; //数据库地址private static String userName = "root"; //数据库用户名private static String passWord = "359129127"; //数据库密码private static Connection conn = null;private DbHelper(){}public static Connection getConnection(){if(null == conn){try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection(url, userName, passWord);} catch (Exception e) {e.printStackTrace();}}return conn;}public static void main(String[] args) { //测试数据库是否连通System.err.println(getConnection());}
}
复制代码
复制代码
package ceet.ac.cn.model;import java.io.Serializable;public class Admin implements Serializable{ //数据封装类private static final long serialVersionUID = 1L;private int id;private String username;private String userpwd;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getUserpwd() {return userpwd;}public void setUserpwd(String userpwd) {this.userpwd = userpwd;}}
复制代码
复制代码
package ceet.ac.cn.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 ceet.ac.cn.dao.AdminDao;
import ceet.ac.cn.model.Admin;public class AddServlet extends HttpServlet{ //添加数据private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {this.doPost(req, resp);}protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {String username = req.getParameter("username");String userpwd = req.getParameter("userpwd");Admin admin = new Admin();admin.setUsername(new String(username.getBytes("ISO-8859-1"),"UTF-8")); //转值,中文需要转换为utf-8admin.setUserpwd(new String(userpwd.getBytes("ISO-8859-1"),"UTF-8"));AdminDao dao = new AdminDao();dao.addAdmin(admin);req.getRequestDispatcher("ShowServlet").forward(req, resp);}
}
复制代码
复制代码
package ceet.ac.cn.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 ceet.ac.cn.dao.AdminDao;public class DeleteServlet extends HttpServlet{ //删除数据private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {this.doPost(req, resp);}protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {String idStr = req.getParameter("id"); //删除数据的ID,根据ID删除if(idStr != null && !idStr.equals("")){int id = Integer.valueOf(idStr);AdminDao dao = new AdminDao();dao.deleteAdmin(id);}req.getRequestDispatcher("ShowServlet").forward(req, resp);}}
复制代码
复制代码
package ceet.ac.cn.servlet;import java.io.IOException;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import ceet.ac.cn.dao.AdminDao;
import ceet.ac.cn.model.Admin;public class ShowServlet extends HttpServlet{ //显示全部数据private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {this.doPost(req, resp);}protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {AdminDao dao = new AdminDao();List<Admin> list = dao.getAllAdmin();req.setAttribute("list", list);req.getRequestDispatcher("index.jsp").forward(req, resp);}
}
复制代码
复制代码
package ceet.ac.cn.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 ceet.ac.cn.dao.AdminDao;
import ceet.ac.cn.model.Admin;public class UpdateServlet extends HttpServlet{ //修改private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException { //查询到选中ID的值所对应的数据String idStr = req.getParameter("id");if(idStr != null && !idStr.equals("")){int id = Integer.valueOf(idStr);AdminDao dao = new AdminDao();Admin admin = dao.selectAdminById(id);req.setAttribute("admin", admin);}req.getRequestDispatcher("update.jsp").forward(req, resp);}protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException { //根据此ID对数据的值进行修改String username = req.getParameter("username");String userpwd = req.getParameter("userpwd");String idStr = req.getParameter("id");Admin admin = new Admin();admin.setId(Integer.valueOf(idStr));admin.setUsername(new String(username.getBytes("ISO-8859-1"),"UTF-8"));admin.setUserpwd(new String(userpwd.getBytes("ISO-8859-1"),"UTF-8"));AdminDao dao = new AdminDao();dao.updateAdmin(admin);req.getRequestDispatcher("ShowServlet").forward(req, resp);}}
复制代码
复制代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head> <title>添加</title><link rel="stylesheet" href="css/index.css" type="text/css" /></head><body><form action="AddServlet" method="post"><table border="1" class="t1"><tr><td colspan="2"><h1>添加管理员</h1></td></tr><tr><td>管理员帐号:</td><td><input type="text" name="username"/></td></tr><tr><td>管理员密码:</td><td><input type="password" name="userpwd"/></td></tr><tr><td colspan="2"><input type="submit" value="提交"/><input type="reset" value="清空"/></td></tr></table></form></body>
</html>
复制代码
复制代码
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!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>显示</title><style type="text/css">table {border: 1px solid pink;margin: 0 auto;}td{width: 150px;border: 1px solid pink;text-align: center;}</style>
</head>
<body><table><tr><td>编号</td><td>帐号</td><td>密码</td><td>操作</td></tr><c:forEach items="${list}" var="item"><tr><td>${item.id }</td><td>${item.username }</td><td>${item.userpwd }</td><td><a href="DeleteServlet?id=${item.id }">删除</a>|<a href="UpdateServlet?id=${item.id }">修改</a></td></tr></c:forEach><tr><td colspan="6" style="text-align: left;"><a href="add.jsp">添加管理员</a></td></tr></table>
</body>
</html>
复制代码
复制代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head> <title>修改</title><link rel="stylesheet" href="css/index.css" type="text/css" /></head><body><form action="UpdateServlet" method="post"><table border="1" class="t1"><tr><td colspan="2"><h1>修改管理员信息</h1></td></tr><tr><td>编号:</td><td><input type="text" name="id" value="${admin.id}" readonly="readonly"/></td></tr><tr><td>管理员帐号:</td><td><input type="text" name="username" value="${admin.username}"/></td></tr><tr><td>管理员密码:</td><td><input type="text" name="userpwd" value="${admin.userpwd}"/></td></tr><tr><td colspan="2"><input type="submit" value="提交"/><input type="button" value="返回" onclick="history.go(-1)"/></td></tr></table></form></body>
</html>
复制代码
复制代码
@CHARSET "UTF-8";table.t1 {margin-top:10px;margin-left:20px;margin-right:20px;margin-bottom:5px;#background-color: #FFF;#background:#EEF4F9;#border: none;border: 1;#color:#003755;border-collapse:collapse;font: 14px "宋体";text-align: center;}table.t1 th{background:#7CB8E2;color:#fff;padding:6px 4px;text-align:center;}table.t1 td{background:#C7DDEE none repeat-x scroll center left;color:#000;padding:4px 2px;}table.t1 a{text-decoration:none;height:1em;}table.t1 a:link, table.t1 a:visited{color:#3366CC;}table.t1 a:hover{color:#B50000;text-decoration:underline;}
使用jsp+servlet来实现增加和删除功能相关推荐
- java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示
目录 1.题目说明 2.实验设计 2.1 表设计 2.2 工程结构 3.运行界面截图与说明 4.小结 附录:源代码 src/main/java src/main/java/bean Goods.jav ...
- php中如何实现逻辑删除,手残党的免死金牌:为Typecho增加逻辑删除功能
手残党的免死金牌:为Typecho增加逻辑删除功能 夜月归途 • 2020 年 05 月 31 日 这次是要对Typecho动刀子了,主要是为了解决误删问题.我个人对数据的存储是非常没有安全感的,特别 ...
- .NET下为百度文本编辑器UEditor增加图片删除功能
[摘要:比来写了个项目,用到了UEditor,但是UE并出有文件删除功效 然后网上找若何增加 找半天只能找到一个1.2.X的 以是便摹仿PHP的 改成了.NET的 PHP本文 第一步 (增加背景删除地 ...
- Tag标签的增加和删除功能
效果图: html <!-- 展开行 --><el-table-column type="expand"><template slot-scope=& ...
- KindEditor图片空间增加图片删除功能
这次试着修改了下KindEditor的图片空间管理,加了一个删除图片的功能进去. 第一步,开放插件显示图片空间功能,代码如下: // 编辑器加载 $.extend(KindEditor.options ...
- uview Checkbox 复选框每一项增加删除功能
如图,在uview Checkbox 复选框的基础上,需要对每一项增加一个删除功能 <u-form-itemstyle="padding:0 40rpx;"label=&qu ...
- 动态网站搭建(jsp+servlet)
在做java动态网站的项目中,使用servlet是最最基础的,本文就介绍如何使用jsp+servlet来搭建一个动态网站,模拟用户登陆. 本文介绍以下内容: 1.创建maven项目 2.把maven项 ...
- 自定义listView添加滑动删除功能
今天研究了一下android里面的手势,结合昨天学习的自定义View,做了一个自定义的listview,继承自listView,添加了条目的滑动手势操作,滑动后出现一个删除按钮,点击删除按钮,触发一个 ...
- JSP复习题【侵权联系我删除】
[题型]:单选题 1.JSP页面经过编译之后,将创建一个( )文件. A.applet B. servlet C.application D. server 答案: B [题型]:单选题 ...
最新文章
- 《世界上最伟大的50种思维方法》总结
- centos7.3网络实验环境(金个人)
- 【2021年度训练联盟热身训练赛第二场】g2g c u l8r(python)
- OS_CORE.C(5)
- linux卸载minicoda2,MiniConda2下载 MiniConda python 2.7 v4.3.30.2 Linux 64位 官方免费版(附安装步骤) 下载-脚本之家...
- 【CC精品教程】任务三:CC刺像控点,提交空三,新建重建项目(三维格网、三维点云、DOM和DSM)
- 【HDU - 1257】最少拦截系统 (标解dp,贪心可过,最长上升子序列类问题)
- loadrunner之协议选择
- cfilefind 能找ftp 服务器上的文件夹吗?,将ftp目录映射为本地盘符
- php dom怎么创建节点,前端必须掌握的DOM节点操作方法!
- 【UE】关于UE的一个真实案例
- php留言板入门教程,一个php留言板实例
- 缠中说缠,最好用的缠论画笔和中枢的指标公式 通达信用
- ios 后台唤醒应用_iOS 前后台机制以及后台唤醒机制【个人学习】
- [ABAP]批量查询工艺路线
- 象棋的杀法??????
- ar面部识别_AR面部识别有什么品牌?
- Kotlin和Swift语言在Redmonk榜上排名大幅提升
- adb shell cmd appops
- iOS UIScrollview 取消弹簧效果