1、在查詢並顯示數據庫books全部信息的JSP頁面Show.jsp頁面進行一些代碼的添加
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.List" %>
<%@ page import="com.Bean.Book" %>
<!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>
</head>
<body>
<table align="center" border="1">
<caption>所有圖書信息</caption>
<tr align="center">
<td>ID</td>
<td>圖書名稱</td>
<td>價格</td>
<td>數量</td>
<td>作者</td>
<td>修改數量</td>
<td>刪除</td>
</tr>
<%
List<Book> list = (List<Book>)request.getAttribute("list");
if(list==null||list.size()<1){
out.print("沒有數據!");
}else{
for(Book book:list){
%>
<tr align="center">
<td><%=book.getId() %></td>
<td><%=book.getName() %></td>
<td><%=book.getPrice() %></td>
<td><%=book.getBookCount() %></td>
<td><%=book.getAuth() %></td>
<td>
<form method="post" action="UpdateServlet" οnsubmit="return check(this);">
<input type="hidden" name="id" value=<%=book.getId() %>>
<input type="text" name="bookCount" size="3">
<input type="submit" value="修 改">
</form>
</td>
<td><a href=""></a></td>
</tr>
<%
}
}
%>
</table>
</body>
</html>
2、實現修改數據業務的Servlet類(UpdateServlet.java)
package com.Connection.Test;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class UpdateServlet
* 對數據庫中的數據進行更改,此Servlet更改的是書籍的數量
*/
@WebServlet("/UpdateServlet")
public class UpdateServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public UpdateServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id = Integer.valueOf(request.getParameter("id"));
int bookCount = Integer.valueOf(request.getParameter("bookCount"));
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "12345";
Connection conn = DriverManager.getConnection(url, username, password);
String sql = "update books set bookCount=? where id=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, bookCount);
pstmt.setInt(2, id);
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
response.sendRedirect("FindServlet");
}
}