圖書管理系統是我自己想的,東西不太多、主要還是為了練習嘗試數據庫的增刪改查的應用。用到了Javaweb、JavaBean、HTML、servlet、jsp,還望大佬們指點指點。
先看一下項目的整體結構

首先我先創建了數據庫和表以及表列名(自己要用到的可以自由加) 

關於代碼的順序我仍然是先寫了Bean包:get(),set()方法 . //Alt+Shift+S可以快速構建,然后是Util包下的數據庫的連接,下面直接上代碼
BookInformation.java
package Bean;
public class BookInformation {
private String number;//編號
private String bookname;//書名
private String writer;//作者
private String quantity;//借閱量
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getBookname() {
return bookname;
}
public void setBookname(String bookname) {
this.bookname = bookname;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getQuantity() {
return quantity;
}
public void setQuantity(String quantity) {
this.quantity = quantity;
}
}
util.java
package Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* JDBC��������
*/
public class util{
public static Connection getConnection() throws ClassNotFoundException, SQLException {//創建了一個方法后面會調用
Connection connection = null;//創建連接對象
PreparedStatement ps = null;////創建載體
ResultSet rs = null;//創建結果集對象
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/tushu","root", "jiang123456");//數據庫的名稱和自己的賬號密碼記得改!!!
return connection;
}
public static void close(Connection connection ) {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void close(PreparedStatement preparedStatement ) {
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void close(ResultSet resultSet ) {
try {
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
接着我開始寫界面:主界面和增刪改都是用到了HTML,查和遍歷用到了jsp。下面是各個界面的代碼有不同需求的可以適當增刪!!!
主界面
zhujiemian.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<h1 align = "center">歡迎使用圖書管理系統</h1><br>
</head>
<body>
<div align = "center"> <!-- 居中 --><a href="add.html" > <!-- 鏈接 --> 登記圖書信息</button ></a></div><br>
<div align = "center"> <a href="update.html" >修改圖書信息</button></a></div><br>
<div align = "center"> <a href="delite.html ">刪除圖書信息</button></a></div><br>
<div align = "center"> <a href="select2.html">查詢圖書信息</button></a></div><br>
<div align = "center"> <a href="showall.jsp">瀏覽圖書信息</button></a></div><br>
</body>
</html>
增加數據界面(下面注釋部分是關於增加的方式有需要的可以看之前相關博客)add.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<!-- 添加的方式大概分為文本框(text),按鈕(radio、value),下拉框(select、value),多選框()//如果少下了忘大佬們提醒哈 -->
<!-- 一、"<input type=text//文本框 name="數據庫定義的名字" ||text結束,>
<!--二、radio例子如下-->
<!-- <tr>
<td> 住房類型:</td>
<td>
<input type="radio" name="zhufangleixing" value="家庭住宅">家庭住所
<input type="radio" name="zhufangleixing" value="集體住所" checked>集體住所
<input type="radio" name="zhufangleixing" value="工作地住所">工作地住所
<input type="radio" name="zhufangleixing" value="其他住宅">其他住宅
<input type="radio" name="zhufangleixing" value="無住宅">無住宅
</td>
</tr> radio結束 -->
<!-- 三、下拉框
<tr>
<td>受教育程度:</td>
<td>
<select name="jiaoyuchengdu">
<option value="研究生">研究生</option>
<option value="大學本科">大學本科</option>
<option value="大學專科">大學專科</option>
<option value="高中" selected>高中</option>
<option value="初中">初中</option>
<option value="小學">小學</option>
<option value="未上過學">未上過學</option>
</select>
</td>
</tr> -->
<!-- 四、多選框
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="demo04.jsp" >
用戶名:<input type="text" name="uname"><br>
興趣:
<input type="checkbox" name="inst" value="bask">籃球
<input type="checkbox" name="inst" value="swim">游泳
<input type="checkbox" name="inst" value="sing">唱歌
<input type="checkbox" name="inst" value="dancd">跳舞
<input type="checkbox" name="inst" value="read">看書
<br>
<input type="submit" value="提交">
</form>
</body>
</html>
-->
<body>
<div id="addSubjectForm" align="center">
<form action="add1" method="post"><!-- servlet里要調用的函數 -->
<tr>
<h2>請輸入圖書信息</h2>
</tr>
<table align="center">
<tr>
<td>圖書編號:</td>
<td>
<input type="text" name="number" >
</td>
</tr>
<tr>
<td>書名:</td>
<td>
<input type="text" name="bookname" >
</td>
</tr>
<tr>
<td>圖書作者:</td>
<td>
<input type="text" name="writer" >
</td>
</tr>
<tr>
<td>借閱可借閱數量:</td>
<td>
<input type="text" name="quantity" >
</td>
</tr>
<td>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
<input type="button" name="Submit" onclick="javascript:history.back(-1);" value="返回上一頁">
</td>
</body>
</html>
刪除數據界面(我這一塊是根據圖書的編號來刪除的有其他要求的可以適當的增刪)delite.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div id="addSubjectForm" align="center">
<form action="delite1" method="post"><!-- servlet里要調用的函數 -->
<tr>
<h2>請輸入要刪除的圖書信息</h2>
</tr>
<table align="center">
<tr>
<td>圖書編號:</td>
<td>
<input type="text" name="number" >
</td>
</tr>
<td>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
<input type="button" name="Submit" onclick="javascript:history.back(-1);" value="返回上一頁">
</td>
</body>
</html>
修改數據界面(修改數據則是以圖書書名為主作為修改,有其余要求可以適當增刪)update.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div id="addSubjectForm" align="center">
<form action="uapata1" method="post"><!-- servlet里要調用的函數 -->
<tr>
<h2>請輸入要修改的圖書書名</h2>
</tr>
<table align="center">
<tr>
<td>圖書編號:</td>
<td>
<input type="text" name="number" >
</td>
</tr>
<tr>
<td>書名:</td>
<td>
<input type="text" name="bookname" >
</td>
</tr>
<tr>
<td>圖書作者:</td>
<td>
<input type="text" name="writer" >
</td>
</tr>
<tr>
<td>圖書可借閱得數量:</td>
<td>
<input type="text" name="quantity" >
</td>
</tr>
<td>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
<input type="button" name="Submit" onclick="javascript:history.back(-1);" value="返回上一頁">
</td>
</body>
</html>
后面兩個我會給出查詢和遍歷的主界面我用到了jsp。
遍歷數據界面:用到了ArrayList集合接受后端數據(servlet包下),遍歷showall.jsp
<%@page import="Dao.showall"%>
<%@page import="java.util.ArrayList"%>
<%@page import="Bean.BookInformation"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>展示數據</title>
</head>
<body>
<table border="1">
<tr>
<th>圖書編號</th>
<th>書名</th>
<th>圖書作者</th>
<th>借閱時間</th>
<div>return Home ? <a href="zhujiemian.html">home</a></div>
</tr>
<%
ArrayList <BookInformation> people = new ArrayList<BookInformation>();
showall dao = new showall();
dao.showall(people);
for (int i = 0; i < people.size(); i++) {
BookInformation A = people.get(i);
%>
<tr>
<td><%=A.getNumber()%></td>
<td><%=A.getBookname()%></td>
<td><%=A.getWriter()%></td>
<td><%=A.getQuantity()%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
查詢數據界面“select2”:查詢則是按照書的名稱查詢有其他需求的可以創多個界面進行不同查詢select2.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<!-- "<input type=radio//按鈕text//文本框 name="數據庫定義的名字" ||text結束,radio例子如下>
<!-- <tr>
<td> 住房類型:</td>
<td>
<input type="radio" name="zhufangleixing" value="家庭住宅">家庭住所
<input type="radio" name="zhufangleixing" value="集體住所" checked>集體住所
<input type="radio" name="zhufangleixing" value="工作地住所">工作地住所
<input type="radio" name="zhufangleixing" value="其他住宅">其他住宅
<input type="radio" name="zhufangleixing" value="無住宅">無住宅
</td>
</tr> -->
<!-- 下拉框
<tr>
<td>受教育程度:</td>
<td>
<select name="jiaoyuchengdu">
<option value="研究生">研究生</option>
<option value="大學本科">大學本科</option>
<option value="大學專科">大學專科</option>
<option value="高中" selected>高中</option>
<option value="初中">初中</option>
<option value="小學">小學</option>
<option value="未上過學">未上過學</option>
</select>
</td>
</tr> -->
<body>
<div id="addSubjectForm" align="center">
<form action="select9" method="post"><!-- servlet里要調用的函數 -->
<tr>
<h2>請輸入要查詢的圖書信息</h2>
</tr>
<table align="center">
<tr>
<td>圖書作者:</td>
<td>
<input type="text" name="bookname" >
</td>
</tr>
<td>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
<input type="button" name="Submit" onclick="javascript:history.back(-1);" value="返回上一頁">
</td>
</body>
</html>
查詢還有一個jsp文件我是在界面進行遍歷輸出也可以直接在servlet包下進行遍歷輸出。
select.jsp
<%@page import="Util.util"%>
<%@page import="Servlet.select9"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="Bean.BookInformation"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>展示數據</title>
</head>
<body>
<table border="1">
<tr>
<th>圖書編號</th>
<th>圖書名稱</th>
<th>作者</th>
<th>可借閱數量</th>
</tr>
<%
//先把數據取出來,通過request對象(內置對象,不需要我們去創建,其實是httpservletRequest對象的實例)
ArrayList <BookInformation> book = (ArrayList<BookInformation> )request.getAttribute("book");
for (int i = 0; i < book.size(); i++) {
BookInformation book1 = book.get(i);//user是個變量
%>
<tr>
<td><%=book1.getNumber()%></td>
<td><%=book1.getBookname()%></td>
<td><%=book1.getWriter()%></td>
<td><%=book1.getQuantity()%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
寫到這里所有的界面基本上都已經完成然后就着手於后端。Dao包和servlet包。
Dao包下寫的是工具類基本上就是SQL語句,是class文件,servlet下則是寫的與數據庫前端的交互,用到的是servlet文件這里還需要導一個jar包
”servlet-api.jar“ 包可以在你下載的tomcat,lib目錄下里找到.(上面少一個jsp文件“select.jsp”記得加上)
接下來我會給出Dao包和servlet包下的代碼
add.java
package Dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import Bean.BookInformation;
import Util.util;
public class add {
//創建連接對象,載體,結果集對象
// private static Connection conn=null;
// private static PreparedStatement ps=null;
// private static ResultSet rs=null;
public void add(BookInformation A) throws ClassNotFoundException, SQLException {
Connection connection = util.getConnection();
String sql = "INSERT INTO test (number,bookname,writer,quantity) values(?,?,?,?)";
PreparedStatement preparedStatement = null;//載體
try {
//
preparedStatement = connection.prepareStatement(sql);
// preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, A.getNumber());
preparedStatement.setString(2, A.getBookname());
preparedStatement.setString(3, A.getWriter());
preparedStatement.setString(4, A.getQuantity());
System.out.println(A.getNumber());//測試用
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
}
}
}
delite.java
package Dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import Bean.BookInformation;
import Util.util;
public class delite {
public void delite(BookInformation A) throws ClassNotFoundException, SQLException {
Connection connection = util.getConnection();
String sql = "delete from test where number=?";
PreparedStatement preparedStatement = null;
//
preparedStatement = connection.prepareStatement(sql);
// preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, A.getNumber());//獲取編號
System.out.println(A.getNumber());//測試用
preparedStatement.executeUpdate();
}
}
select.java
package Dao;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import Bean.BookInformation;
import Util.util;
import Bean.BookInformation;
import Util.util;
public class select {
//創建連接對象,載體,結果集對象
// private static Connection conn=null;
// private static PreparedStatement ps=null;
// private static ResultSet rs=null;
public void select11(ArrayList<BookInformation> book,String name) throws ClassNotFoundException, SQLException{
String sql1 ="select * from test where bookname = ?";
Connection connection = util.getConnection();
try {
PreparedStatement ps = connection.prepareStatement(sql1);
ps.setString(1, name);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
BookInformation A = new BookInformation();
A.setNumber(rs.getString(1));
A.setBookname(rs.getString(2));
A.setWriter(rs.getString(3));
A.setQuantity(rs.getString(4));
book.add(A);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
showall.java
package Dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import Bean.BookInformation;
import Util.util;
public class showall {
public void showall(ArrayList<BookInformation> people) throws ClassNotFoundException, SQLException{
String sql1 ="select * from test";
//������䴫�����
Connection connection = util.getConnection();
try {
PreparedStatement ps = connection.prepareStatement(sql1);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
BookInformation A = new BookInformation();
A.setNumber(rs.getString(1));
A.setBookname(rs.getString(2));
A.setWriter(rs.getString(3));
A.setQuantity(rs.getString(4));
people.add(A);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
updata.java
package Dao;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import Bean.BookInformation;
import Util.util;
public class updata {
//創建連接對象,載體,結果集對象
// private static Connection conn=null;
// private static PreparedStatement ps=null;
// private static ResultSet rs=null;
public void updata(BookInformation A) throws ClassNotFoundException, SQLException {
Connection connection = util.getConnection();
String sql = " update test set number = ?,bookname = ?,writer = ?,quantity = ?";
PreparedStatement preparedStatement = null;//載體
try {
preparedStatement = connection.prepareStatement(sql);
// preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, A.getNumber());
preparedStatement.setString(2, A.getBookname());
preparedStatement.setString(3, A.getWriter());
preparedStatement.setString(4, A.getQuantity());
System.out.println(A.getNumber());//測試用
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
}
}
}
上面這些是Dao包下的(也就是工具類放SQL方法的)
下面是SERVLET包下(創建的是servlet文件不是class文件里注意!!!)
add1.java
package Servlet;
import java.io.IOException;
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;
import Bean.BookInformation;
import Dao.add;
/**
* Servlet implementation class add
*/
public class add1 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public add1() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
//������Ӧ���ı�����
response.setContentType("text/html;charset=utf-8");//設置字符集
String number = request.getParameter("number");
String bookname = request.getParameter("bookname");
String writer = request.getParameter("writer");
String quantity = request.getParameter("quantity");
// System.out.println(number);
BookInformation B = new BookInformation();
B.setNumber(number);
B.setBookname(bookname);
B.setWriter(writer);
B.setQuantity(quantity);
// response.sendRedirect("showall.jsp");\
add A=new add();
try {
A.add(B);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
delite1.java
package Servlet;
import java.io.IOException;
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;
import Bean.BookInformation;
import Dao.delite;
/**
* Servlet implementation class delite1
*/
@WebServlet("/delite1")
public class delite1 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public delite1() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
//������Ӧ���ı�����
response.setContentType("text/html;charset=utf-8");//設置字符集
String number = request.getParameter("number");
BookInformation B = new BookInformation();
B.setNumber(number);
// response.sendRedirect("showall.jsp");\
delite A=new delite();
try {
A.delite(B);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
select9.java
package Servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
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 Bean.BookInformation;
import Dao.select;
import Bean.BookInformation;
import Dao.select;
import Util.util;
/**
* Servlet implementation class add
*/
public class select9 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public select9() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String bookname = request.getParameter("bookname");;
ArrayList <BookInformation> book = new ArrayList<BookInformation>();
//���ݿ����
System.out.println(bookname);
select dao=new select();
if(bookname!=null)
{
try {
dao.select11(book,bookname);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("book",book);//setAttribute() 方法添加指定的屬性,並為其賦指定的值。
request.getRequestDispatcher("select.jsp").forward(request, response);
}
else {
response.getWriter().write("輸入數據不存在請重新輸入。");
}
// else if(number!=null) {
// try {
// dao.select1(book,number);
// } catch (ClassNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// request.setAttribute("people",people);
// request.getRequestDispatcher("chakan.jsp").forward(request, response);
// }
// else if(minzu!=null) {
// try {
// dao.select4(people,minzu);
// } catch (ClassNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// request.setAttribute("people",people);
// request.getRequestDispatcher("chakan.jsp").forward(request, response);
// }
// else {
// try {
// dao.select5(people,jiaoyuchengdu);
// } catch (ClassNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// request.setAttribute("people",people);
// request.getRequestDispatcher("chakan.jsp").forward(request, response);
// }
}}
updata.java
package Servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
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;
import Bean.BookInformation;
import Dao.updata;
import Util.util;
/**
* Servlet implementation class add
*/
public class uapata1 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public uapata1() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
//������Ӧ���ı�����
response.setContentType("text/html;charset=utf-8");//設置字符集
String number = request.getParameter("number");
String bookname = request.getParameter("bookname");
String writer = request.getParameter("writer");
String quantity = request.getParameter("quantity");
// System.out.println(number);
//
String Bookname[]=new String [100];
String Number[]=new String[100];
int i=0,j=0,count=0;
try{Connection connection = util.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("select * from test");//載體
ResultSet set=preparedStatement.executeQuery("select * from test");
while(set.next())
{
Bookname[i]=set.getString("bookname");
Number[i]=set.getString("number");
i++;
count++;
}
for(int k=0;k<count;k++)
{
if(bookname.equals(Bookname[k]))
{
BookInformation B = new BookInformation();
B.setNumber(number);
B.setBookname(bookname);
B.setWriter(writer);
B.setQuantity(quantity);
// response.sendRedirect("showall.jsp");\
updata A=new updata();
try {
A.updata(B);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
}
else{
response.sendRedirect("print.html");
}
}}
catch(SQLException e)
{
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
到這里基本就結束了還有些功能還未完善后期會再次更新。
