欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?Web實現(xiàn)簡易圖書管理系統(tǒng)

 更新時間:2022年09月16日 11:49:00   作者:五五五五  
這篇文章主要為大家詳細介紹了Java?Web實現(xiàn)簡易圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java Web實現(xiàn)簡易圖書管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

前言

首先實現(xiàn)的是用戶的登錄注冊,注冊成功后自動跳轉(zhuǎn)到圖書列表頁面,之后實現(xiàn)圖書的增刪改查功能。(菜雞學習中,大佬勿噴)

一、運行環(huán)境

1.數(shù)據(jù)庫:MySQL:5.7
2.Tomcat Apache 8.5
3.編譯器:Eclipse 2020版

二、使用步驟

1.MySQL文件

User.sql:

*
?Navicat Premium Data Transfer

?Source Server ? ? ? ? : localhost_3306
?Source Server Type ? ?: MySQL
?Source Server Version : 50723
?Source Host ? ? ? ? ? : localhost:3306
?Source Schema ? ? ? ? : library

?Target Server Type ? ?: MySQL
?Target Server Version : 50723
?File Encoding ? ? ? ? : 65001

?Date: 10/06/2021 17:59:30
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` ?(
? `id` int(10) NOT NULL AUTO_INCREMENT,
? `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
? `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
? PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, 'admin', 'admin');
INSERT INTO `user` VALUES (2, 'root', 'root');
INSERT INTO `user` VALUES (5, '123', '4596');

SET FOREIGN_KEY_CHECKS = 1;

booklist.sql:

/*
Navicat MySQL Data Transfer

Source Server ? ? ? ? : 121.36.6.154_3306
Source Server Version : 50720
Source Host ? ? ? ? ? : localhost:3306
Source Database ? ? ? : library

Target Server Type ? ?: MYSQL
Target Server Version : 50720
File Encoding ? ? ? ? : 65001

Date: 2021-06-22 16:05:51
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for booklist
-- ----------------------------
DROP TABLE IF EXISTS `booklist`;
CREATE TABLE `booklist` (
? `id` int(10) NOT NULL AUTO_INCREMENT,
? `bookname` varchar(255) NOT NULL,
? `author` varchar(255) NOT NULL,
? `status` tinyint(255) NOT NULL,
? `price` double(10,0) NOT NULL,
? PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4;

2.項目的目錄層次結(jié)構(gòu),導包

3.DBUtil類的創(chuàng)建

package com.qfnu.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;

public class DBUtilTmp {
?? ?public static void main(String[] args) {
?? ??? ?// 0.準備連接數(shù)據(jù)庫的資源
?? ??? ?String username = "root";
?? ??? ?String password = "root";
?? ??? ?// String url = "jdbc:mysql://127.0.0.1:3306/hellojdbc";
?? ??? ?String url = "jdbc:mysql://localhost:3306/library";
?? ??? ?String driver = "com.mysql.cj.jdbc.Driver";
?? ??? ?
?? ??? ?Connection conn = null;
?? ??? ?PreparedStatement pst = null;
?? ??? ?ResultSet rs = null;
?? ??? ?try {
?? ??? ??? ?// 1.加載驅(qū)動
?? ??? ??? ?Class.forName(driver);
?? ??? ??? ?
?? ??? ??? ?// 2.獲取連接
?? ??? ??? ?conn = DriverManager.getConnection(url, username, password);
?? ??? ??? ?
?? ??? ??? ?
?? ??? ?} catch (Exception e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?// 7.釋放資源,關(guān)閉連接 - 先申請的后釋放
?? ??? ??? ?try {
?? ??? ??? ??? ?if (rs != null) {
?? ??? ??? ??? ??? ?rs.close();
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if (pst != null) {
?? ??? ??? ??? ??? ?pst.close();
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if (conn != null) {
?? ??? ??? ??? ??? ?conn.close();
?? ??? ??? ??? ?}
?? ??? ??? ?} catch (SQLException e) {
?? ??? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
}

4.Dao層的方法

userdao.java

package com.qfnu.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 com.qfnu.entity.User;
import com.qfnu.util.DBUtil;

public class UserDao {

?? ?public List<User> getAllUsers() throws SQLException {
?? ??? ?List<User> users = new ArrayList<User>();
?? ??? ?// 獲取連接
?? ??? ?Connection conn = DBUtil.getConnection();?? ?
?? ??? ?// 創(chuàng)建 sql 語句
?? ??? ?String sql = "select * from user";?? ?
?? ??? ?// 創(chuàng)建 PreparedStatement 對象
?? ??? ?PreparedStatement pst = conn.prepareStatement(sql);?? ?
?? ??? ?// 執(zhí)行 sql 語句,保存結(jié)果集
?? ??? ?ResultSet rs = pst.executeQuery();?? ?
?? ??? ?/**
?? ??? ? * 遍歷結(jié)果集,將結(jié)果集中的每一條記錄的每個字段值取出,
?? ??? ? * 封裝為一個 user 對象,并把該 user 對象加入到 users 集合中。
?? ??? ? */
?? ??? ?while (rs.next()) {
?? ??? ??? ?
?? ??? ??? ?// 2.直接調(diào)用帶參構(gòu)造器
?? ??? ??? ?User user = new User(rs.getInt("id"),?
?? ??? ??? ??? ??? ??? ??? ??? ? rs.getString("username"),?
?? ??? ??? ??? ??? ??? ??? ??? ? rs.getString("password")
?? ??? ??? ??? ??? ??? ?);
?? ??? ??? ?users.add(user);
?? ??? ?}
?? ??? ?
?? ??? ?return users;
?? ?}

?? ?public void addUser(String username, String password) {
?? ??? ?List<User> users = new ArrayList<User>();
?? ??? ?
?? ??? ?Connection conn = null;
?? ??? ?PreparedStatement pst = null;
?? ??? ?ResultSet rs = null;
?? ??? ?try {
?? ??? ??? ?// 獲取連接
?? ??? ??? ?conn = DBUtil.getConnection();
?? ??? ??? ?// 創(chuàng)建 sql 語句
?? ??? ??? ?String sql = "insert into user(username,password) values(?,?)";
?? ??? ??? ?
?? ??? ??? ?// 創(chuàng)建 PreparedStatement 對象
?? ??? ??? ?pst = conn.prepareStatement(sql);
?? ??? ??? ?
?? ??? ??? ?// 確定占位符的值
?? ??? ??? ?pst.setString(1, username);
?? ??? ??? ?pst.setString(2, password);
?? ??? ??? ?
?? ??? ??? ?// 執(zhí)行 sql 語句
?? ??? ??? ?int result = pst.executeUpdate();
?? ??? ??? ?
?? ??? ??? ?if (result>0) {
?? ??? ??? ??? ?System.out.println("添加用戶成功!?。?);
?? ??? ??? ?} else {
?? ??? ??? ??? ?System.out.println("添加用戶失敗...");
?? ??? ??? ?}
?? ??? ?} catch (SQLException e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?DBUtil.release(conn, pst, rs);
?? ??? ??? ?} catch (SQLException e) {
?? ??? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ??? ?
?? ??? ?
?? ?}
}

bookdao.java

package com.qfnu.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 java.util.List;

import com.qfnu.entity.Book;
import com.qfnu.util.DBUtil;

import com.qfnu.entity.Book;

public class BookDao {

?? ?
?? ?public ?List<Book> getAllBooks() throws SQLException {
?? ??? ?
?? ??? ?List<Book> books = new ArrayList<Book>();
?? ??? ?
?? ??? ?Connection conn = DBUtil.getConnection();
?? ??? ?
?? ??? ?String sql = "select * from booklist";
?? ??? ?
?? ??? ?PreparedStatement pst = conn.prepareStatement(sql);?? ?
?? ??? ?
?? ??? ?ResultSet rs = pst.executeQuery();?? ?
?? ??? ?
?? ??? ?while (rs.next()) {
?? ??? ??
?? ??? ? Book book = new Book(rs.getInt("id"),
?? ??? ??? ??? ? ? ? ? ? ? ? ?rs.getString("bookname"),
?? ??? ??? ??? ? ? ? ? ? ? ? ?rs.getString("author"),
?? ??? ??? ??? ? ? ? ? ? ? ? ?rs.getInt("status"),
?? ??? ??? ??? ? ? ? ? ? ? ? ?rs.getDouble("price"));
?? ??? ? books.add(book);
?? ??? ?}
?? ??? ?
?? ??? ?return books;
?? ??? ?
?? ?}

?? ?
?? ?public void addBook(String bookname,String author,int status,double price ) {
?? ??? ?List<Book> books = new ArrayList<Book>();
?? ??? ?
?? ??? ?Connection conn = null;
?? ??? ?PreparedStatement pst = null;
?? ??? ?ResultSet rs = null;
?? ??? ?try {
?? ??? ??? ?// 獲取連接
?? ??? ??? ?conn = DBUtil.getConnection();
?? ??? ??? ?// 創(chuàng)建 sql 語句
?? ??? ??? ?String sql = "insert into booklist(bookname,author,status,price) values(?,?,?,?)";
?? ??? ??? ?
?? ??? ??? ?// 創(chuàng)建 PreparedStatement 對象
?? ??? ??? ?pst = conn.prepareStatement(sql);
?? ??? ??? ?
?? ??? ??? ?// 確定占位符的值
?? ??? ??? ?pst.setString(1, bookname);
?? ??? ??? ?pst.setString(2, author);
?? ??? ??? ?pst.setInt(3, status);
?? ??? ??? ?pst.setDouble(4, price);
?? ??? ??? ?
?? ??? ??? ?// 執(zhí)行 sql 語句
?? ??? ??? ?int result = pst.executeUpdate();
?? ??? ??? ?
?? ??? ??? ?if (result>0) {
?? ??? ??? ??? ?System.out.println("圖書添加成功!");
?? ??? ??? ?} else {
?? ??? ??? ??? ?System.out.println("圖書添加失??!");
?? ??? ??? ?}
?? ??? ?} catch (SQLException e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?DBUtil.release(conn, pst, rs);
?? ??? ??? ?} catch (SQLException e) {
?? ??? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}

?? ?public void delBook(int id) {
?? ??? ?Connection conn = null;
?? ??? ?PreparedStatement pst = null;
?? ??? ?ResultSet rs = null;
?? ??? ?try {
?? ??? ??? ?// 獲取連接
?? ??? ??? ?conn = DBUtil.getConnection();
?? ??? ??? ?// 創(chuàng)建 sql 語句
?? ??? ??? ?String sql = "DELETE FROM booklist WHERE id = ?";
?? ??? ??? ?
?? ??? ??? ?// 創(chuàng)建 PreparedStatement 對象
?? ??? ??? ?pst = conn.prepareStatement(sql);
?? ??? ??? ?
?? ??? ??? ?// 確定占位符的值
?? ??? ??? ?pst.setInt(1, id);
?? ??? ??? ?
?? ??? ??? ?// 執(zhí)行 sql 語句
?? ??? ??? ?int result = pst.executeUpdate();
?? ??? ??? ?
?? ??? ??? ?if (result>0) {
?? ??? ??? ??? ?System.out.println("刪除圖書成功!??!");
?? ??? ??? ?} else {
?? ??? ??? ??? ?System.out.println("刪除圖書失敗...");
?? ??? ??? ?}
?? ??? ?} catch (SQLException e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?} finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?DBUtil.release(conn, pst, rs);
?? ??? ??? ?} catch (SQLException e) {
?? ??? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?
?? ?public List<Book> ?SearchBook(String booksname) throws SQLException {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?Connection conn = null;
?? ??? ?PreparedStatement pst = null;
?? ??? ?ResultSet rs = null;
?? ??? ?Book book=new Book();
?? ??? ?List<Book> books = new ArrayList<Book>();
?? ??? ?
?? ??? ?String sql="select * from booklist where bookname=?";
?? ??? ?try {
?? ??? ??? ?
?? ??? ??? ?conn = DBUtil.getConnection();
?? ??? ??? ?
?? ??? ??? ?pst=conn.prepareStatement(sql);
?? ??? ??? ?
?? ??? ??? ?pst.setString(1, booksname);
?? ??? ??? ?
?? ??? ??? ?rs=pst.executeQuery();
?? ??? ??? ?
?? ??? ??? ?if(rs.next()) {
?? ??? ??? ??? ?String bookname=rs.getString(2);
?? ??? ??? ??? ?String author=rs.getString(3);
?? ??? ??? ??? ?int status=rs.getInt(4);
?? ??? ??? ??? ?Double price=rs.getDouble(5);
?? ??? ??? ??? ?
?? ??? ??? ? ?book = new Book(bookname,author,status,price);
?? ??? ??? ?}
?? ??? ??? ??
?? ??? ??? ?books.add(book);
?? ??? ??? ?
?? ??? ??? ?
?? ??? ??? ?DBUtil.release(conn, pst, rs);
?? ??? ?} catch (SQLException e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?}
?? ??? ?return books;
?? ?}

?? ?public boolean UpdateBook(String bookname,String author,int status,double price) {
?? ??? ? ?
?? ??? ?Connection conn = null;
?? ??? ?PreparedStatement pst = null;
?? ??? ?ResultSet rs = null;
?? ??? ?String sql="update booklist set author=?,status=?,price=? where bookname=?";
?? ??? ?
?? ??? ?try {
?? ??? ??? ?conn = DBUtil.getConnection();
?? ??? ??? ?
?? ??? ??? ?pst=conn.prepareStatement(sql);
?? ? ? ? ? ??
?? ??? ??? ?Book book = new Book(bookname,author,status,price);?? ??? ??? ?
?? ??? ??? ?pst.setString(1, book.getAuthor());
?? ??? ??? ?pst.setInt(2, book.getStatus());
?? ??? ??? ?pst.setDouble(3, book.getPrice());
?? ??? ??? ?pst.setString(4, book.getBookname());
?? ??? ??? ?
?? ??? ??? ?if(pst.executeUpdate()!=0) {
?? ??? ??? ??? ?return true;
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ??? ?DBUtil.release(conn, pst, rs);
?? ??? ?} catch (SQLException e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?}
?? ??? ?return false;
?? ?}

}

5.封裝到Service層

UserService.java

package com.qfnu.service;

import java.sql.SQLException;
import java.util.List;
import com.qfnu.Dao.UserDao;
import com.qfnu.entity.User;

public class UserService {
?? ?UserDao userDao = new UserDao();
?? ?
?? ?public void addUser(String username, String password) {
?? ??? ?userDao.addUser(username, password);
?? ?}

?? ?public List<User> getAllUsers() throws SQLException{
?? ??? ?return userDao.getAllUsers();
? ? }

}

BookService.java

package com.qfnu.service;

import java.sql.SQLException;
import java.util.List;
import java.math.BigDecimal;

import com.qfnu.entity.Book;
import com.qfnu.Dao.BookDao;

public class BookService {
? ? ? ?
?? ?BookDao bookDao =new BookDao();
?? ? ??
? ? ? ? public List<Book> getAllBooks() throws SQLException{
?? ??? ?
?? ? ? ??? ?return bookDao.getAllBooks();
? ? ? ? } ? ??? ? ? ??
? ? ? ? public void addBook(String bookname,String author,int status,double price) {
?? ? ? ??? ??? ?
?? ? ? ??? ??? ?bookDao.addBook(bookname, author,status,price);
?? ? ? ??? ?}
? ? ? ??
? ? ? ? public void delUser(int id) {
? ? ?? ??? ? bookDao.delBook(id);
? ? ?? ?}
? ? ? ??
? ? ? ? public List<Book> SearchBook(String bookname) ?throws SQLException {
? ? ? ? ?? ?
? ? ? ? ?? ?return bookDao.SearchBook(bookname);
? ? ? ? ?? ?
? ? ? ? }
? ? ?? ?public boolean UpdateBook(String bookname,String author,int status,double price ) {
?? ??? ??? ?boolean flag=bookDao.UpdateBook(bookname,author,status,price);
? ? ?? ??? ?
?? ??? ??? ?if(flag==true) {
?? ??? ??? ??? ?
?? ??? ??? ??? ?return true;?? ??? ??? ?
?? ??? ??? ?}
? ? ?? ??? ?return false;
? ? ?? ??? ?
? ? ?? ?}
}

6.在Controller層進行調(diào)用

LoginController.java (用戶的登錄)

package com.qfnu.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletContext;
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 javax.servlet.http.HttpSession;

import com.qfnu.entity.User;
import com.qfnu.service.UserService;

@WebServlet("/LoginController")
public class LoginController extends HttpServlet {
?? ?

?? ?public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?// 獲取用戶輸入的用戶名和密碼
?? ??? ?String username = request.getParameter("username");
?? ??? ?String password = request.getParameter("password");
?? ??? ?
?? ??? ?response.setContentType("text/html;charset=utf-8");
?? ??? ?UserService userService = new UserService();
?? ??? ?List<User> users = new ArrayList<User>();
?? ??? ?PrintWriter out = response.getWriter();
?? ??? ?String url = "login.jsp";
?? ??? ?try {
?? ??? ??? ?// 調(diào)用 service 層的 getAllUsers 方法來獲取所有用戶信息
?? ??? ??? ?users = userService.getAllUsers();
?? ??? ??? ?// 對 list 集合進行遍歷
?? ??? ??? ?for (User user : users) {
?? ??? ??? ??? ?if (username.equals(user.getUsername())) {
?? ??? ??? ??? ??? ?if (password.equals(user.getPassword())) {
?? ??? ??? ??? ??? ??? ?// 把后端的數(shù)據(jù)傳遞給前端展示:作用域
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?out.write("<script>alert('登錄成功!')</script>");
?? ??? ??? ??? ??? ??? ?request.getRequestDispatcher("BookListController").forward(request, response);?? ?
?? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ?} catch (SQLException e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?}
?? ??? ?out.write("<script>alert('登錄失??!')</script>");
?? ??? ?request.getRequestDispatcher(url).forward(request, response);
?? ?}

?? ?public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?doGet(request, response);
?? ?}
}

RegisterCntroller.java (用戶的注冊功能)

package com.qfnu.controller;

import java.io.IOException;
import java.io.PrintWriter;

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 com.qfnu.service.UserService;

@WebServlet("/RegisterController")
public class RegisterController extends HttpServlet {


?? ?public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?// 獲取用戶輸入的用戶名和密碼
?? ??? ?String username = request.getParameter("username");
?? ??? ?String password = request.getParameter("password");
?? ??? ?
?? ??? ?UserService userService = new UserService();
?? ??? ?userService.addUser(username, password);?

?? ??? ?response.setContentType("text/html;charset=utf-8");
?? ??? ?PrintWriter out = response.getWriter();
?? ??? ?out.print("<script>alert('注冊成功!');window.location.href='login.jsp'</script>");
?? ?}
?? ? ?public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?doGet(request, response);
?? ?}
}

addBookController.java (圖書的增加功能)

package com.qfnu.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.math.BigDecimal;

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 com.qfnu.service.BookService;


@WebServlet("/addBookController")
public class addBookController extends HttpServlet {
?? ? ? ?
? ? ? ?
?? ?protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?
?? ??? ?request.setCharacterEncoding("utf-8");
?? ??? ?//設(shè)置相應(yīng)的文本類型
?? ??? ?response.setContentType("text/html;charset=utf-8");?
?? ??? ?
?? ??? ?BookService bookService = new BookService();
?? ??? ?
?? ??? ?String bookname=request.getParameter("bookname");
?? ??? ?String author=request.getParameter("author");
?? ??? ?int status = Integer.parseInt(request.getParameter("status"));
?? ??? ?double price = Double.parseDouble(request.getParameter("price"));
?? ??? ?
?? ??? ?bookService.addBook(bookname, author, status, price);
?? ??? ?PrintWriter out = response.getWriter();
?? ??? ?out.write("<script>alert('添加成功!');</script>");
?? ??? ?request.getRequestDispatcher("BookListController").forward(request, response);
?? ??? ?
?? ?
?? ?}
?? ?protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ? ? ?doGet(request,response);?? ?
?? ?}

}

BookDelController.java (圖書的刪除)

package com.qfnu.controller;

import java.io.IOException;
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 com.qfnu.service.BookService;


@WebServlet("/BookDelController")
public class BookDelController extends HttpServlet {

?? ?protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?doPost(request,response);
?? ?
?? ?}

?? ?
?? ?protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?String idString = request.getParameter("id");
?? ??? ?int id = Integer.parseInt(idString);
?? ??? ?
?? ??? ?BookService bookService = new BookService();
?? ??? ?bookService.delUser(id);
?? ??? ?request.getRequestDispatcher("BookListController").forward(request, response);
?? ??? ?
?? ?}

}

updataBook.java (圖書的更新功能)

package com.qfnu.controller;

import java.io.IOException;
import java.io.PrintWriter;

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 com.qfnu.service.BookService;


@WebServlet("/updataBook")
public class updataBookController extends HttpServlet {
?? ?
? ??
?? ?protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?request.setCharacterEncoding("utf-8");
?? ??? ?//設(shè)置相應(yīng)的文本類型
?? ??? ?response.setContentType("text/html;charset=utf-8");?
?? ??? ?
?? ??? ?BookService bookService = new BookService();
?? ??? ?
?? ??? ?String bookname=request.getParameter("bookname");
?? ??? ?
?? ??? ?String author =request.getParameter("author");
?? ??? ?
?? ??? ?int status=Integer.parseInt(request.getParameter("status"));
?? ??? ?
?? ??? ?double price = Double.parseDouble(request.getParameter("price"));
?? ??? ?
?? ??? ?
?? ??? ?
?? ??? ?PrintWriter out = response.getWriter();
?? ??? ? ?
?? ??? ? boolean flag = bookService.UpdateBook(bookname, author, status, price);
?? ??? ?
?? ??? ?if(flag==true) {
?? ??? ??? ?out.print("<script>alert('更新成功!');</script>");
?? ??? ??? ?
?? ??? ??? ?request.getRequestDispatcher("BookListController").forward(request, response);
?? ??? ?}
?? ??? ?else out.print("<script>alert('更新失敗!');window.location.href='updataBook.jsp'</script>");
?? ?}

?? ?
?? ?protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ?
?? ??? ?doGet(request, response);
?? ?}

}

SearchBookController.java (圖書的搜索功能)

```java
package com.qfnu.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.List;

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 com.qfnu.entity.Book;
import com.qfnu.service.BookService;


@WebServlet("/SearchBook")
public class SearchBookController extends HttpServlet {

?? ?protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?request.setCharacterEncoding("utf-8");
? ? ? ? response.setContentType("text/html;charset=utf-8");

?? ??? ?String bookname=request.getParameter("bookname");
?? ??? ?BookService bookservice = new BookService();
?? ??? ?
?? ??? ?try {
?? ??? ??? ??? ?
?? ??? ??? ?List<Book> books = bookservice.SearchBook(bookname);
?? ??? ??? ?
?? ??? ??? ?request.setAttribute("books", books);
?? ??? ??? ?request.getRequestDispatcher("searchBook.jsp").forward(request, response);
?? ??? ??? ??? ??? ?
?? ??? ?} catch (SQLException e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?}
?? ?}
?? ?protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?doGet(request, response);
?? ?}

}

7.總結(jié)

代碼太多了,前端的東西就不放了,都是最基本的JSP文件,上述代碼可能會有錯,我還在不斷學習中

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解SpringMVC解決跨域的兩種方案

    詳解SpringMVC解決跨域的兩種方案

    本篇文章主要介紹了詳解SpringMVC解決跨域的兩種方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java利用FileUtils讀取數(shù)據(jù)和寫入數(shù)據(jù)到文件

    Java利用FileUtils讀取數(shù)據(jù)和寫入數(shù)據(jù)到文件

    這篇文章主要介紹了Java利用FileUtils讀取數(shù)據(jù)和寫入數(shù)據(jù)到文件,下面文章圍繞FileUtils的相關(guān)資料展開怎么讀取數(shù)據(jù)和寫入數(shù)據(jù)到文件的內(nèi)容,具有一定的參考價值,徐婭奧德小伙伴可以參考一下
    2021-12-12
  • 淺談Java生成唯一標識碼的三種方式

    淺談Java生成唯一標識碼的三種方式

    我們經(jīng)常會遇到這樣的場景,需要生成一個唯一的序列號來表明某一個數(shù)據(jù)的唯一性,本文主要介紹了淺談Java生成唯一標識碼的三種方式,感興趣的可以來了解一下
    2022-01-01
  • IDEA Maven源修改為國內(nèi)阿里云鏡像的正確方式

    IDEA Maven源修改為國內(nèi)阿里云鏡像的正確方式

    為了加快 Maven 依賴的下載速度,可以將 Maven 的中央倉庫源修改為國內(nèi)的鏡像,比如阿里云鏡像,以下是如何在 IntelliJ IDEA 中將 Maven 源修改為阿里云鏡像的詳細步驟,感興趣的同學可以參考閱讀一下
    2024-09-09
  • Java攔截器Interceptor和過濾器Filte的執(zhí)行順序和區(qū)別

    Java攔截器Interceptor和過濾器Filte的執(zhí)行順序和區(qū)別

    本文主要介紹了Java攔截器Interceptor和過濾器Filte的執(zhí)行順序和區(qū)別,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 使用FeignClient設(shè)置動態(tài)Url

    使用FeignClient設(shè)置動態(tài)Url

    這篇文章主要介紹了使用FeignClient設(shè)置動態(tài)Url方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 使用Java實現(xiàn)6種常見負載均衡算法

    使用Java實現(xiàn)6種常見負載均衡算法

    Java負載均衡算法也是分布式系統(tǒng)中的重要組成部分,用于將來自客戶端的請求分配到不同的后端服務(wù)器上,本文將介紹常見的Java負載均衡算法,輪詢法、加權(quán)隨機法……一次性讓你了解?6?種常見負載均衡算法
    2023-06-06
  • Java如何修改JsonObject中的屬性值

    Java如何修改JsonObject中的屬性值

    這篇文章主要介紹了Java如何修改JsonObject中的屬性值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 用StopWatch優(yōu)雅替代currentTimeMillis計算程序執(zhí)行耗時

    用StopWatch優(yōu)雅替代currentTimeMillis計算程序執(zhí)行耗時

    別再用System.currentTimeMillis()計算程序執(zhí)行耗時了,擁抱StopWatch優(yōu)雅來優(yōu)雅的計算,代碼更簡潔效率更高,本文帶你了解StopWatch的使用
    2021-09-09
  • Java如何對方法進行調(diào)用詳解

    Java如何對方法進行調(diào)用詳解

    今天給大家整理了Java如何對方法進行調(diào)用,文中有非常詳細的介紹及代碼示例,對正在學習java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06

最新評論