首先通过点击index.jsp页面的修改按钮,获取该行的id:↓

      其次,跳转到updateBooks.jsp页面进行修改信息,页面代码如下:↓

 <%@ page import="BookSystem.Other.Books" %><%--
Created by IntelliJ IDEA.
User: NFS
Date: 2019-7-12
Time: 14:31
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>修改书籍</title>
</head>
<body> <%
Books books = (Books) request.getAttribute("update"); if (books != null) {
%> <div>
<form method="post" action="update">
<label>
<span>编号:</span>
<input name="book_id" value="<%=books.getId()%>" readonly>
</label>
<label>
<span>书名:</span>
<input name="book_name" value="<%=books.getName()%>">
</label>
<label>
<span>作者:</span>
<input name="author" value="<%=books.getAuthor()%>">
</label>
<label>
<span>库存:</span>
<input name="number" value="<%=books.getNumber()%>">
</label>
<label>
<span>价格:</span>
<input name="price" value="<%=books.getPrice()%>">
</label>
<label>
<span>出版社:</span>
<input name="pub" value="<%=books.getPub()%>">
</label>
<input type="submit" value="提交修改信息">
</form>
</div> <%
} else {
%>
<div>此 ID 没有找到相关的数据,所以不能进行修改。</div>
<%
}
%> <footer>
<a href="<%=request.getContextPath()%>/books/lst">返回首页</a>
</footer>
</body>
</html>

      updateBooks.jsp 所对应的servlet :updateBooks.java, 代码如下:↓

 package BookSystem.CRUD;

 import BookSystem.Other.Books;
import BookSystem.Other.DButil; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.*; @WebServlet("/books/update")
public class UpdateBooks extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//创建Books对象
Books books = new Books();
//获取对应的id
int id = Integer.parseInt(req.getParameter("id"));
Connection connection=null;
Statement st = null;
ResultSet rs = null;
connection=new DButil().getConnection();
try {
st = connection.createStatement();
rs = st.executeQuery("select book_id,book_name ,author,number,price,pub from BookInfo where book_id = "+id); if(rs.next()) {
books =new Books( rs.getInt(1), rs.getString(2), rs.getString(3),rs.getInt(4),rs.getFloat(5), rs.getString(6)); }
}catch (SQLException e){
e.printStackTrace();
}finally {
DButil.close(connection,st,rs); }
req.setAttribute("update",books);
req.getRequestDispatcher("/Book/updateBooks.jsp").forward(req,resp); } @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置编码格式
req.setCharacterEncoding("UTF-8");
//获取数据
int id=Integer.parseInt(req.getParameter("book_id"));
String name=req.getParameter("book_name");
String author=req.getParameter("author");
Integer number=Integer.parseInt(req.getParameter("number"));
Float price=Float.parseFloat(req.getParameter("price"));
String pub=req.getParameter("pub");
Connection connection=null;
PreparedStatement prsmt=null; try {
//修改数据
connection=new DButil().getConnection();
String sql="update BookInfo set book_name =?, author=?, number=?, price=?, pub=? " +
"where book_id=?";
prsmt=connection.prepareStatement(sql);
prsmt.setString(1,name);
prsmt.setString(2,author);
prsmt.setInt(3,number);
prsmt.setFloat(4,price);
prsmt.setString(5,pub);
prsmt.setInt(6,id);
prsmt.executeUpdate();
}catch (SQLException e){
e.printStackTrace();
}finally {
try {
connection.close();
prsmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
String method = req.getMethod(); resp.sendRedirect(req.getContextPath() + "/books/lst"); // 重定向,肯定是 GET 方法
}
}

      注:该整个CRUD不展示效果图,整体CSS应当有属于自己的

————————————————————————————————————————————————————————————

JAVAWEB实现增删查改(图书信息管理)之修改功能实现的更多相关文章

  1. JAVAWEB实现增删查改(图书信息管理)之添加功能实现

    addBooks.jsp页面代码:↓ <%-- Created by IntelliJ IDEA. User: NFS Date: 2019-7-12 Time: 14:30 To change ...

  2. JavaWeb实现增删查改(图书信息管理)之删除功能实现

    —————————————————————————————————————————————————————————— 删除按钮对应的servlet -->DeleteBooks.java  ↓ ...

  3. JavaWeb实现增删查改(图书信息管理)——之查询

     关于此次CRUD所需要的jar包,本人把文件放在了百度网盘,需要的自行去下载: 链接:https://pan.baidu.com/s/1Pqe88u6aPaeVjjOq1YFQ-w  提取码:pim ...

  4. JDBC课程4--使用PreparedStatement进行增删查改--封装进JDBCTools的功能中;模拟SQL注入 ; sql的date()传入参数值格式!

    主要内容: /*SQL 的date()需要传入参数值: preparedStatement().setDate(new java.util.Date().getTime()); 熟悉了使用Prepar ...

  5. Django笔记&教程 5-1 基础增删查改

    Django 自学笔记兼学习教程第5章第1节--基础增删查改 点击查看教程总目录 第四章介绍了模型类models.Model和创建模型,相当于介绍了数据库表和如何创建数据库表. 这一章将介绍如何使用模 ...

  6. java实现简单的数据库的增删查改,并布局交互界面

        一.系统简介 1.1.简介  本系统提供了学生信息管理中常见的基本功能,主要包括管理员.管理员的主要功能有对学生信息进行增加.删除.修改.查找等操作,对信息进行管理,对信息进行修改.查找等操作 ...

  7. 在Eclipse上实现简单的JDBC增删查改操作

    在Javaweb的学习里,学到了如何完成简单的增删查改操作,在这里撰写一篇文章以便自己整理回忆. 首先要建立一些包和导入一些文件.建一些类.具体框架如图  编写Product类 public clas ...

  8. day08 外键字段的增删查改

    day08 外键字段的增删查改 今日内容概要 外键字段的增删查改 正反向查询的概念 基于对象的跨表查询(子查询) 基于双下划线的跨表查询(连表操作) 聚合查询与分组查询 F查询和Q查询 前提准备 cl ...

  9. 6.在MVC中使用泛型仓储模式和依赖注入实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

随机推荐

  1. L1025

    1,对于搜索,我有一个不成熟的想法,这不就是,强化版的for循环吗? 2,反正是搜索,那就先找搜索状态, n,x,n是第几次分,x是分剩下的数. 3,这个我觉得自己努力努力可能可以做出来. 4,首先要 ...

  2. 通过USB 2.0电缆手动设置内核模式调试

    Windows的调试工具支持通过USB 2.0电缆进行内核调试.本文介绍如何手动设置USB 2.0调试.通过USB 2.0电缆进行调试需要以下硬件: USB 2.0调试电缆.此电缆不是标准USB 2. ...

  3. 关于新版本cube.js 集成preosto 的一个说明

    实际上cubejs cli 是可以使用的,只是官方文档对于dbtype 说明的问题 使用如下命令我们可以创建prestodb 的基本项目   cubejs create -d prestodb myd ...

  4. 干货 | 10分钟带你彻底了解column generation(列生成)算法的原理附java代码

    OUTLINE 前言 预备知识预警 什么是column generation 相关概念科普 Cutting Stock Problem CG求解Cutting Stock Problem 列生成代码 ...

  5. 【cf补题记录】A. Hotelier

    思考之后再看题解,是与别人灵魂之间的沟通与碰撞 A. Hotelier 题意 给出长度为n的字符串,字符串由'L'.'R'以及数字0~9组成.旅馆有10间房子,L代表客人从左边入住,R代表客人从右边入 ...

  6. 稀疏矩阵的存储(c++)

    0        0        0        0        0         0 0        3        0        0        0         0 0    ...

  7. 2015-2016-2《Java程序设计》团队博客2

     简易画图板介绍 一.功能结构图 二.主类设计 1.总体设计:在设计简易画图板时,根据程序功能的分类,包含了十二个文件,包括SimpleDraw.java,MenuContainer.java,Dra ...

  8. javaagent使用指南

    今天打算写一下 Javaagent,一开始我对它的概念也比较陌生,后来在别人口中听到 字节码插桩,bTrace,Arthas后面才逐渐了解到Java还提供了这么个工具. JVM启动前静态Instrum ...

  9. Nginx简单配置几个基于端口的虚拟主机

    nginx.conf中,一个server段对应一个虚拟主机,如果要增加多个虚拟主机,增加多个server段即可. server { listen ; access_log logs/.log; loc ...

  10. 善用mysql中的FROM_UNIXTIME()函数和UNIX_TIMESTAMP()函数

    我们经常会面临要从数据库里判断时间,取出特定日期的查询.但是数据库里储存的都是unix时间戳,处理起来并不是特别友好.幸而MYSQL提供了几个处理时间戳的函数,可以帮助我们在查询的时候,就将时间戳格式 ...