zoukankan      html  css  js  c++  java
  • JAVAWEB实现修改功能

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

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

     1 <%@ page import="BookSystem.Other.Books" %><%--
     2   Created by IntelliJ IDEA.
     3   User: NFS
     4   Date: 2019-7-12
     5   Time: 14:31
     6   To change this template use File | Settings | File Templates.
     7 --%>
     8 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     9 <html>
    10 <head>
    11     <title>修改书籍</title>
    12 </head>
    13 <body>
    14 
    15 <%
    16     Books books = (Books) request.getAttribute("update");
    17 
    18     if (books != null) {
    19 %>
    20 
    21 <div>
    22     <form method="post" action="update">
    23         <label>
    24             <span>编号:</span>
    25             <input name="book_id" value="<%=books.getId()%>" readonly>
    26         </label>
    27         <label>
    28             <span>书名:</span>
    29             <input name="book_name" value="<%=books.getName()%>">
    30         </label>
    31         <label>
    32             <span>作者:</span>
    33             <input name="author" value="<%=books.getAuthor()%>">
    34         </label>
    35         <label>
    36             <span>库存:</span>
    37             <input name="number" value="<%=books.getNumber()%>">
    38         </label>
    39         <label>
    40             <span>价格:</span>
    41             <input name="price" value="<%=books.getPrice()%>">
    42         </label>
    43         <label>
    44             <span>出版社:</span>
    45             <input name="pub" value="<%=books.getPub()%>">
    46         </label>
    47         <input type="submit" value="提交修改信息">
    48     </form>
    49 </div>
    50 
    51 <%
    52 } else {
    53 %>
    54 <div>此 ID 没有找到相关的数据,所以不能进行修改。</div>
    55 <%
    56     }
    57 %>
    58 
    59 
    60 <footer>
    61     <a href="<%=request.getContextPath()%>/books/lst">返回首页</a>
    62 </footer>
    63 </body>
    64 </html>

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

     1 package BookSystem.CRUD;
     2 
     3 import BookSystem.Other.Books;
     4 import BookSystem.Other.DButil;
     5 
     6 import javax.servlet.ServletException;
     7 import javax.servlet.annotation.WebServlet;
     8 import javax.servlet.http.HttpServlet;
     9 import javax.servlet.http.HttpServletRequest;
    10 import javax.servlet.http.HttpServletResponse;
    11 import java.io.IOException;
    12 import java.sql.*;
    13 
    14 @WebServlet("/books/update")
    15 public class UpdateBooks extends HttpServlet {
    16     @Override
    17     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    18         //创建Books对象
    19         Books books = new Books();
    20         //获取对应的id
    21         int id = Integer.parseInt(req.getParameter("id"));
    22         Connection  connection=null;
    23         Statement st = null;
    24         ResultSet rs = null;
    25         connection=new DButil().getConnection();
    26         try {
    27             st = connection.createStatement();
    28             rs = st.executeQuery("select book_id,book_name ,author,number,price,pub from BookInfo where book_id = "+id);
    29             
    30             if(rs.next()) {
    31                 books =new Books( rs.getInt(1), rs.getString(2), rs.getString(3),rs.getInt(4),rs.getFloat(5),  rs.getString(6));
    32 
    33             }
    34         }catch (SQLException e){
    35             e.printStackTrace();
    36         }finally {
    37             DButil.close(connection,st,rs);
    38 
    39 
    40         }
    41         req.setAttribute("update",books);
    42         req.getRequestDispatcher("/Book/updateBooks.jsp").forward(req,resp);
    43 
    44     }
    45 
    46     @Override
    47     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    48        //设置编码格式
    49         req.setCharacterEncoding("UTF-8");
    50         //获取数据
    51         int id=Integer.parseInt(req.getParameter("book_id"));
    52         String name=req.getParameter("book_name");
    53         String author=req.getParameter("author");
    54         Integer number=Integer.parseInt(req.getParameter("number"));
    55         Float price=Float.parseFloat(req.getParameter("price"));
    56         String pub=req.getParameter("pub");
    57         Connection connection=null;
    58         PreparedStatement prsmt=null;
    59 
    60         try {
    61             //修改数据
    62             connection=new DButil().getConnection();
    63             String sql="update BookInfo set book_name =?, author=?, number=?, price=?, pub=? " +
    64                     "where book_id=?";
    65             prsmt=connection.prepareStatement(sql);
    66             prsmt.setString(1,name);
    67             prsmt.setString(2,author);
    68             prsmt.setInt(3,number);
    69             prsmt.setFloat(4,price);
    70             prsmt.setString(5,pub);
    71             prsmt.setInt(6,id);
    72             prsmt.executeUpdate();
    73         }catch (SQLException e){
    74             e.printStackTrace();
    75         }finally {
    76             try {
    77                 connection.close();
    78                 prsmt.close();
    79             } catch (SQLException e) {
    80                 e.printStackTrace();
    81             }
    82         }
    83         String method = req.getMethod();
    84         
    85         resp.sendRedirect(req.getContextPath() + "/books/lst");   // 重定向,肯定是 GET 方法
    86     }
    87 }

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

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

  • 相关阅读:
    arcgis api 3.x for js 入门开发系列八聚合效果(附源码下载)
    arcgis api 3.x for js 入门开发系列七图层控制(附源码下载)
    arcgis api 3.x for js 入门开发系列六地图分屏对比(附源码下载)
    arcgis api 3.x for js 入门开发系列五地图态势标绘(附源码下载)
    arcgis api 3.x for js 入门开发系列四地图查询(附源码下载)
    Java里面获取当前服务器的IP地址
    Flutter at Google I/O 2018
    Modbus RTU 协议使用汇总
    plsql 创建表空间、用户、赋予权限
    Oracle:ODP.NET Managed 小试牛刀
  • 原文地址:https://www.cnblogs.com/winton-nfs/p/11461240.html
Copyright © 2011-2022 走看看